CrestVPS

хостинг minecraft серверов

Хостинг игровых серверов

Tick rate — это проблема одного потока. Всё остальное — шум.

Что бы мы развернули

76,23 €/мес

108,90 €30% ежегодно

Цикл игрового сервера работает на одном ядре, и число, которое определяет, будут ли жаловаться ваши игроки, — это скорость этого ядра и то, насколько стабильно оно работает без прерываний. Мы выбираем самые высокочастотные чипы на рынке, закрепляем их, убираем с них служебные задачи ядра с помощью isolcpus и tickless mode, а затем ставим перед ним фильтрацию на уровне приложений, чтобы атака на ваше сообщество не превратилась в тикет в поддержку для вас.

Почему такая конфигурация

NITRO работает на Zen 5 с частотой 5.9 ГГц, ядра закреплены и изолированы, что удерживает джиттер времени кадра ниже миллисекунды даже при полном сервере. Профиль L7-фильтрации понимает паттерны трафика Source-engine, FiveM, Minecraft и TeamSpeak, поэтому отбрасывает мусор, не теряя игроков.

Что бы мы развернули

PlanNITRO N2
vCPU8 (dedicated)
RAM32 GB
Хранилище480 GB
ОбразDebian 13 Trixie

Размер

Масштабируйте по запасу однопоточной производительности, а не по числу ядер. Один авторитетный игровой цикл работает на одном ядре. Шутеру с 128 тиками и 12 слотами нужно одно ядро NITRO на полной частоте и 4 ГБ. Серверам Rust или крупным Source-серверам с более чем 100 игроками нужно два ядра запаса, потому что цикл пикует при смене сущностей. Minecraft с 40 игроками и стеком плагинов: 4 ядра, 12 ГБ, большую часть — под heap. Держите нагрузку в стабильном состоянии ниже 60%.

Арифметика тик-бюджета

Тик — это жесткий дедлайн. При 64 тиках у вас 15.6 мс на кадр; при 128 — 7.8 мс. Этот бюджет покрывает физику, регистрацию попаданий, ИИ и сетевую сериализацию для каждого подключенного игрока. Один перерасход — и сервер пропускает тик. Игроки видят это как резиновые ленты и потерянные выстрелы. Профилируйте p99 время кадра, а не среднее. Среднее остается плоским, пока начало раунда, смена карты и массовые спавны сущностей пробивают бюджет. Размер рассчитывайте так, чтобы稳态 время кадра было меньше половины бюджета. Тогда пики все равно останутся в пределах.

Что на самом деле делает фильтрация L7 для игр

Объемная очистка предотвращает заполнение канала. Она ничего не делает с флудом запросов, состоящим из валидных пакетов. Движки Source отвечают на A2S_INFO с любого адреса, поэтому атакующий отправляет маленькие запросы, а ваш тик-цикл платит за ответы или отражает их на кого-то другого. Фильтрация на уровне 7 означает, что скраббер говорит на протоколе: challenge-response для запросов, ограничение частоты на источники для рукопожатий, поврежденные пакеты отбрасываются до попадания в игровой процесс. 15 Тбит/с встроенной пропускной способности — это минимум. Протокольная осведомленность — вот что держит цикл в графике.

Что идёт не так

  • Покупка burst или shared vCPU для тикового цикла. Постоянная нагрузка снижает boost-частоту, p99 времени кадра примерно удваивается, и игроки это чувствуют раньше, чем ваши графики покажут. Закрепите ядра на NITRO.
  • Запуск игрового сервера и его MySQL или Redis на одних и тех же ядрах. Задержка fsync или пауза GC попадают в тиковое окно, и сервер теряет кадры под нагрузкой.
  • Оценка по среднему времени кадра. Среднее остаётся плоским, пока начало раунда, ротация карт и массовые спавны сущностей превышают бюджет. Планируйте по p99, измеренному во время этих событий, а не в простое.

Настройте машину

  • Планирование CPUPinned + isolcpus + tickless · 18 €
  • DDoS защитаGame-layer L7 filtering · 24 €
  • Всё остальноеSecond-resolution metrics + alerting · 5 €