Лаборатория Лиса
79 subscribers
171 photos
6 videos
8 files
29 links
Ставлю эксперименты с Юнити C#
Download Telegram
Челы написали, что озу в золото превратилось. Захожу - и в правду.
Фури плашки на 64гб год назад покупал за 14 тысяч, мне тогда показалось немного дороговато, но 26, это уже уровень видеокарт почти.
Озу по цене процессора, офигеть конечно.
Приплыли 😂
❤‍🔥4
Как вы знаете, у меня есть свой сервер майнкрафт. Он работает не на каких-то дешевых хостах с бронированием времени и активности сервера, а на моем личном, который вы уже видели здесь.

Я планирую поиграть со своими серверами и планы на сервер довольно большие и преследуют цель не сколько развития самого сервера (Хотя оно тоже будет, как приятный бонус), сколько больше интересно развернуть Veloсity Proxy, инструмент, который позволяет работать кластеру backend серверов Майнкрафт, как единый сервер!

Звучит здорово!
Нынешняя ситуация:
Майнкрафт работает на одном ядре и имеет 5 миров!
1) Выживание (Верхний, нижний и Край)
2) Креатив
3) Мини-игры
Как только я через плагин WorldEdit что-то делаю в Креатив мире, это чувствуют игроки из Выживания!

Veloсity Proxy позволит мне отделить играбельные миры на отдельные ядра моих серверов!
То есть, если я загружу Креатив мир заполнением 3 000 000 блоков (Что нынешний сервер останавливает на долго), то выживание вообще этого не заметит!
Как и мини-игры, добыча незерита с помощью динамита не будет мешать игрокам играющим в TNTRun.

Реализация?
Мир с выживанием останется на основном сервере, в нем смогут играть до 50ти игроков одновременно!
Контейнеры креатива и мини-игр я запущу на втором физическом сервере через Docker, а так же добавлю контейнер lobby!
И добавлю docker с Postgres для плагинов верификации и прав доступа.


У кого есть опыт с этим инструментом, пишите в комментарии, с какими трудностями вы сталкивались при его внедрении в свои сервера! Будет интересно почитать, поделимся опытом!

#minecraft
❤‍🔥3🌭1
Не опять, а снова!
Стену кто украл? Дурова же больше нет в ВК
🫡4🤨2❤‍🔥1😁1
А я новый год провожу без света =)
🎉6❤‍🔥3😁3😢3
Странности на убунте.

Загрузил я образ серверной убунты и только сейчас понял, почему старый компик запускается 4 минуты.

Там есть cloud-init, которым удобно конфигурировать сервера, получается быстро и легко. Но когда делаешь это на домашнем железе, получается фуфло. Он стучится куда то на амазоновские сервера (Которые к слову забанены, большинство) для получения конфигов, потому и происходит ожидание.
------P.S. Я так понял из объяснения нейросети

Но и вот конфиг, который позволит это дерьмо убрать из запуска серверной убунты

sudo tee /etc/cloud/cloud.cfg.d/99-fix.cfg << 'EOF'
# Отключаем облачные datasources
datasource_list: [NoCloud, None]

# Уменьшаем таймаут
max_wait: 10
timeout: 10

# Отключаем сетевые проверки
network:
config: disabled
EOF
❤‍🔥5👍1
This media is not supported in your browser
VIEW IN TELEGRAM
❤‍🔥5👏5😁1
Очень нравится эта штука, хочу похвастаться. Простое решение, нудной работы. Статика на Nginx, не более!

Хотел я поставить себе Docker Registry, а он без ssl сертификата работать вообще не хочет. Решил я поставить самоподписанный сертификат.
Для тех, кто в танке, локальные доменные имена внутри локальной сети не работают ssl сертификаты от Let’s Encrypt и прочих ребят.
А самоподписанные сертификаты фигня полная, если на клиенте нет самого сертификата (Его нужно скачать на клиент и установить, что бы настоящий https работал)

Так и вот, распространять его просто нудно, но не трудно. Но решил сделать проще, 2 скрипта на 2 ОС, один сертификат и все в шляпе!
Docker Registry работает, контейнеры с моими очень полезными разработками не улетят ЗЛЫМ ОМЭРИКАНЦАМ!

Docker Registry советую, крутая штуковина. И Аутентификация там есть и хранишь где хочешь, только volume настрой и живи в шоколаде.
👍4🍌3🎄3
Если кто спросит, передать с компа на комп по интернет проводу быстрее, чем флешкой =)
❤‍🔥2❤2
This media is not supported in your browser
VIEW IN TELEGRAM
❤3❤‍🔥2🐳1
This media is not supported in your browser
VIEW IN TELEGRAM
❤‍🔥2☃1🙏1👾1
Я разогнал свой ВПН почти до гигабита!
🔥5❤‍🔥3
Оптимизация в мелочах!

Уже ближе к стандартному Wireguard!
❤‍🔥3👍2
Я запустил свой протокол в нидерланды. И скорость поражает воображение, аж целых 400 мбит за границу!?
Здорово, я уперся в какой то физический предел.
❤‍🔥2❤2🥰1
Рируем красивые графики интернет соединения! Ща добавить надо будет сервер в метрики. Пока сервер будет собирать метрики, будет слать еще шума
❤‍🔥3
🌐 Как я «чинил» 500-мегабитный канал, который работал на 5% мощности

Типичная ситуация: у тебя есть два сервера (один в Москве, другой в Европе). Оба бодро рапортуют о канале в 500 Мбит/с до спидтеста (В нидерланды), но туннель WireGuard между ними едва выдает 30-40 Мбит/с. Пакеты теряются пачками (до 50% потерь на UDP!), а TCP превращается в тыкву.

Рассказываю по порядку, как я лечил этот «хронический кашель» сетевого стека.

😱 Проблема: «Дырявая труба»
При тестах iperf3 я увидел страшное:
TCP: 30-40 Мбит/с и тысячи ретрансмиссий.
UDP: Подаем 500 Мбит - доходит только половина.
CPU: Загрузка всего 50%, но есть нюанс - Steal Time до 15%. Это значит, что гипервизор «подворовывает» ресурсы процессора у нашей виртуалки.

Почему так происходило?

TCP Cubic — слишком «трусливый»: Стандартный алгоритм TCP (Cubic) при любой потере пакета думает, что в сети затор, и в ужасе режет скорость в два раза. На «грязных» каналах с потерями 1-2% он просто не может разогнаться.

UDP Bursts (Взрывы трафика): UDP не умеет тормозить. Он выстреливает пакеты огромными пачками. На виртуалке с 1 ядром и высоким Steal Time ядро просто не успевает «проснуться», чтобы забрать пакеты из очереди. Буфер переполняется - пакеты летят в корзину.

Bad Peering: Маршрут между провайдерами оказался перегружен на одном из стыков.

Решение: Тяжелая артиллерия Linux
Я решил не менять провайдера, а заставить систему работать в агрессивном режиме.

TCP BBR (Bottleneck Bandwidth and RTT):
Я переключил алгоритм контроля заторов на BBR от Google. В отличие от Cubic, BBR не боится потерь пакетов. Он смотрит на реальную запускную способность и задержку.
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr


FQ (Fair Queuing) + Pacing:
Для BBR я включил планировщик FQ. Его киллер-фича — Pacing (темпирование). Теперь UDP-пакеты не вылетают безумной толпой, забивая буферы, а идут ровным строем с микропаузами. Это позволило сетевой карте «переваривать» трафик без дропов.

Расширение «зала ожидания» (Buffers):
Я увеличил системные буферы и очереди (net.core.netdev_max_backlog), чтобы у процессора было больше времени на обработку пакетов в моменты, когда его отвлекает гипервизор.

📈 Результаты
После тюнинга цифры в iperf3 заиграли другими красками:
✅ TCP: 40 Мбит/с ➡️ 130 Мбит/с (рост в 3.2 раза!)
✅ UDP: 220 Мбит/с ➡️ 335 Мбит/с
✅ Jitter: Снизился с 1.0 мс до 0.2 мс (стабильность!)

Мораль: Если ваш VPN тормозит — не спешите ругать WireGuard или провайдера (Хотя объективно, провайдер VDSka говно). Возможно, ваша ОС просто слишком вежливая для этого сурового интернета. Включайте BBR + FQ и расширяйте буферы. 🚀

#devops #networking #linux #bbr #wireguard #performance
❤5❤‍🔥2🔥1🥴1
Мой домен foxhardsoftness.ru был куплен за 150 рублей на год.

Сейчас же, домен вырос в цене аж в 7 раз и мне пришлось отвалить RegRu 1000 рублей (+ 200 рублей за свидетельство регистрации домена, то-есть общая сумма 1200 рублей на год)

Да, стало дороже, но такое повышение цены для меня было сюрпризом, учитывая что я до сих пор не знаю, за что идет такое повышение цены
❤‍🔥3😍3🤯2
Чисто rand(3000, 100000)
❤‍🔥6❤2
Сегодня сломался мой ВПН протокол FoxWG.

Роскомнадзор? Хаха - нет.

Моя ошибка, глупая ошибка.

У меня ключи роцируются автоматически и стоит проверка на наличие ключа. Но наличие я фиксирую исключительно через первый байт (Если ноль, то значит дальше ничего нет)
И вот в 9 утра получилось так, что новый ключ получил нулевой первый байт! И он ушел в ошибку что ключ не валидный и целых 3 часа отвала моего ВПН протокола.

Мораль, нужно быть внимательнее!
❤‍🔥6✍4👍4
Настроил мониторинг Каждого Пира Wireguard, что бы смотреть нагрузки конкретных клиентов

Ля, выглядит очень круто
🔥2
Можно ли переводить игру локальными LLM? Я проверил

Рано или поздно в любом проекте — игре, приложении, документации — встаёт вопрос перевода большого объёма текста. Обычный путь: ChatGPT / Claude / Gemini онлайн. Но что если нет доступа, есть требования к приватности, или просто хочется гонять это на своём железе?

Я поднял 6 моделей локально и прогнал их через синтетический бенчмарк: 30 текстов трёх категорий — меню ресторана, монологи персонажей, монологи авторов (философский текст). Железо: RTX 3060 12 GB, Intel Xeon 2.5 GHz, 10 потоков через Docker limits, 20 GB DDR3 RAM.

Медианное время:
qwen2.5:7b — 1.4s ⚡
alma-13b — 1.8s
translategemma — 1.2s (текст) / 5.5s (меню)
qwen2.5:14b — 2.0s
llamax3-8b — 1.3s (текст) / 5.5s (меню)
gemmax2-9b — 1.6s (текст) / 8.7s (меню)

🔍 Кратко по качеству:
🟢 translategemma — лучший на меню и технических текстах. Единственная, которая переводит "rack of lamb" как запечённую баранину, а не "рак из ягнёнка". Стабильна, без мусора.
🟢 gemmax2-9b — лучший на художественных и философских текстах. Живые, естественные фразы. Но дважды съехал в итальянский/португальский язык — критический баг для автоматики.
🟡 qwen2.5:14b — лучшая интонация в диалогах, чувствует разговорный стиль. Но периодически вставляет китайские символы прямо в середину русского текста (модель от Alibaba, обучена на огромном китайском корпусе). Требует retry-логики.
🟡 alma-13b — специализированная переводческая модель, стабильна, никогда не мусорит. Но переводит механически: "scar" → "шрам" она передаёт правильно, а вот "lobster bisque" превращает в "креветки в супе".
🔴 llamax3-8b — галлюцинирует на меню (из лосося делает салат), путает грамматический род говорящего в монологах.
🔴 qwen2.5:7b — самая быстрая, но качество низкое: путает рыб, смешивает языки, иногда выдаёт испанские слова.

Вывод: для продакшн-пайплайна оптимально — translategemma на меню/UI-строках + gemmax2-9b на нарративных текстах, с валидацией языка вывода. Либо Qwen 14b с жёстким промптом и авторетраем при детекции CJK-символов.

Файлик с полными переводами всех 6 моделей — в комментарии, там много интересного👇
❤3❤‍🔥1👍1
А вы знали, что существует Rosenpass?
Я называю его немецким зайцем.

Не влезло в один пост, далее продолжу мысль ниже:
❤2🤔1