В этой статье
Игровой сервер — необычная нагрузка. Ему важнее одно очень быстрое ядро, чем много медленных, кэш и задержка памяти для него значат больше, чем чистая пропускная способность, а игроки замечают каждую миллисекунду между собой и машиной. Разберем, что важно для популярных игр, которые хостят на собственных серверах, как подобрать конфигурацию и какой сервер DediJet подойдет какому сообществу.
Что ограничивает игровой сервер: бюджет тика
Большинство игровых серверов работают в цикле, который продвигает мир вперед фиксированными шагами — тиками. Minecraft рассчитан на 20 тиков в секунду, поэтому на каждый тик отводится 50 мс; у 64-тикового сервера CS2 — 1000 ÷ 64 ≈ 15,6 мс. Если тик не укладывается в свой бюджет, сервер начинает отставать: мобы замирают, попадания засчитываются с опозданием, а игроки называют это лагами.
Критическая часть этого цикла обычно выполняется в одном главном потоке. Дополнительные ядра помогают с побочной работой — генерацией чанков, сетью и сохранениями — и позволяют разместить больше серверов на одной машине. Но скорость одного нагруженного мира зависит прежде всего от однопоточной производительности: тактовой частоты, объема работы, которую ядро выполняет за такт, и того, как быстро оно добирается до данных. Поэтому наша линейка «Производительные» построена на высокочастотных процессорах Ryzen.
Разбор по играм
| Игра | Первое узкое место | Нагрузка на память | На что обратить внимание |
|---|---|---|---|
| Minecraft Java (Paper, Purpur) | Однопоточная производительность | Умеренная; высокая с большими модпаками | Дальность прорисовки, генерация чанков во время игры |
| Minecraft (Folia) | Число ядер, если игроки рассредоточены по миру | От умеренной до высокой | Многие плагины несовместимы |
| Rust | Однопоточная производительность и ОЗУ | Высокая, растет в течение вайпа | Наплыв игроков в день вайпа |
| Counter-Strike 2 | Одно быстрое ядро на каждый нагруженный экземпляр | Низкая | Много матч-серверов на одной машине |
| ARK, Palworld, Valheim | Тактовая частота и ОЗУ | Высокая для ARK и Palworld, ниже для Valheim | Большие сохранения, рост потребления памяти со временем |
| Сборки с модами (Forge, NeoForge, Fabric) | Однопоточная производительность | Высокая | Число модов определяет расход памяти и время тика |
Minecraft Java Edition
Основной цикл тиков печально известен своей однопоточностью, поэтому важнее всего высокочастотное ядро. Вместо ванильного сервера запускайте Paper или его форк Purpur: оба остаются близкими к ванильному геймплею, но оптимизируют значительную часть работы вокруг тика и загружают чанки асинхронно. Folia, тоже из проекта Paper, обрабатывает тики разных регионов мира в отдельных потоках. Это помогает большим серверам, где игроки разбредаются по миру, но ценой совместимости с плагинами.
Задайте JVM фиксированный размер кучи и оставьте память операционной системе:
java -Xms10G -Xmx10G -jar paper.jar --noguiДокументация Paper рекомендует добавить к этому настроенный набор флагов сборщика мусора, известный как флаги Aikar. Главные рычаги, влияющие на расход процессора в пересчете на игрока, — view-distance и simulation-distance в server.properties, а также предварительная генерация мира плагином вроде Chunky, чтобы чанки не генерировались во время игры. Команда /mspt в Paper показывает, какую часть бюджета в 50 мс занимает каждый тик. Для модпаков отталкивайтесь от объема памяти, рекомендованного автором сборки.
Rust
Серверы Rust сочетают требовательный главный поток с большими процедурными картами и постоянно растущим числом построек игроков, поэтому им нужны и высокая частота, и много памяти. Потребление памяти обычно увеличивается на протяжении вайп-цикла по мере того, как разрастаются базы, а принудительный ежемесячный вайп в первый же день вызывает наплыв игроков. Рассчитывайте сервер на день вайпа, а не на тихую неделю перед ним, и следите за нагрузкой от плагинов, если используете фреймворк для модов вроде Oxide или Carbon.
Counter-Strike 2
Один матч-сервер CS2 — легкая нагрузка: скромные требования к памяти, небольшой трафик на игрока и главный поток, которому нужно быстрое ядро при 64 тиках в секунду. Сообщества обычно держат много таких серверов. Практическое правило: одно физическое ядро на каждый нагруженный матч-сервер плюс запас для операционной системы.
ARK, Palworld и Valheim
Песочницы на выживание держат в памяти большие постоянные миры, и некоторые из них расходуют все больше памяти, чем дольше работают; обычное решение — плановый ежедневный перезапуск. Кластеры ARK запускают отдельный серверный процесс на каждую карту, поэтому расход памяти растет с числом карт. Прежде чем выбирать ОС, проверьте, есть ли у игры серверная сборка для Linux: Windows Server добавляет лицензию стоимостью $2,75 за физическое ядро в месяц (минимум 8 ядер).
Почему важен кэш L3 и стоит ли брать X3D
Игровая симуляция постоянно прыгает по большим структурам данных: спискам сущностей, данным чанков, графам поиска пути. Если нужных данных нет в кэше, ядро ждет основную память, а это во много раз дольше, чем попадание в кэш. Чем больше кэш L3, тем большая часть мира находится рядом с ядрами, — поэтому некоторые игры хорошо отзываются на технологию AMD 3D V-Cache: дополнительный слой L3, размещенный поверх чиплета.
Наш Ryzen 9 7950X3D (16 ядер / 32 потока, 128 МБ L3) на старте распродан. Популярные конфигурации регулярно пополняются, и можно подписаться на уведомление. А пока с большинством задач справятся два сервера из наличия:
- Ryzen 9 9950X — его ближайшая альтернатива: та же схема 16 ядер / 32 потока и турбочастота 5,7 ГГц, более новое ядро Zen 5 и 64 МБ L3 за
$269/мес . - Ryzen 7 9700X: 8 ядер / 16 потоков на частоте
3,8–5,5 ГГц и 32 МБ L3 на одном чиплете, так что все ядра делят общий кэш, — за$149/мес .
Насколько помогает дополнительный кэш, зависит от игры и даже от карты, а мы это не тестировали. Считайте V-Cache возможным бонусом, а не обязательным требованием: высокая частота и хорошо настроенная конфигурация сервера — более надежная ставка.
Диски: NVMe для сохранений мира
Игровые серверы записывают мир на диск по расписанию: сохранения чанков в Minecraft, периодические сохранения в Rust и играх на выживание. Если сохранение блокирует главный поток, медленный диск напрямую оборачивается всплеском лагов, а большие миры — это большие сохранения. NVMe делает такие записи короткими. Каждый сервер линейки «Производительные» поставляется с двумя NVMe-накопителями, по умолчанию объединенными в программный RAID 1, поэтому отказ одного диска не утащит за собой мир.
RAID — не резервная копия. Храните копии вне сервера, особенно перед вайпом или крупным обновлением; наша дополнительная услуга «Место для резервных копий» поддерживает SFTP, rsync, BorgBackup и restic — от 1 ТБ за
Сеть: фильтрация DDoS и пинг
Игровые серверы притягивают DDoS-атаки, а большая часть игрового трафика идет по UDP — протоколу, которым чаще всего злоупотребляют флуд-атаки и атаки с усилением. Заметное исключение — Minecraft Java Edition: он работает по TCP. Каждый сервер DediJet защищен постоянно включенной фильтрацией на уровне сети, которая обнаруживает UDP-, SYN- и ACK-флуд и атаки с усилением и отсекает их на подходе к серверу. По возможности мы фильтруем трафик, а не отправляем ваш IP-адрес в null-route, ведь это сделало бы сервер недоступным для всех.
Атаки, которые выглядят как настоящие игроки, — например, наплыв ботов, проходящих вход в игру, — приходится отражать на уровне самой игры: ограничением частоты подключений, вайтлистами и антибот-плагинами. Закройте все порты, которыми не пользуетесь, и разрешите SSH до того, как включите файрвол. В этом примере открывается стандартный порт Minecraft Java; адаптируйте его под свою игру:
ufw allow 22/tcp
ufw allow 25565/tcp
ufw enableРади хорошего пинга размещайте сервер там, где находится большинство ваших игроков: помогут проверка задержки и наше руководство по выбору локации сервера. Ryzen 5 7600 и Ryzen 7 9700X доступны во всех 8 локациях, Ryzen 9 9950X — во Франкфурте, Амстердаме, Лондоне, Нью-Йорке, Лос-Анджелесе и Сингапуре.
Несколько серверов в Pterodactyl
Один выделенный сервер может вместить целое сообщество: сеть серверов Minecraft, сервер Rust и несколько матчей CS2 одновременно. Популярная open-source-панель для этого — Pterodactyl: ее демон Wings запускает каждый игровой сервер в отдельном Docker-контейнере.
- Задайте каждому серверу лимит CPU, лимит памяти и дисковую квоту, чтобы один вышедший из-под контроля мир не отнимал ресурсы у остальных.
- Закрепите самые нагруженные серверы за отдельными ядрами (CPU pinning) и оставьте ядро-другое для операционной системы и панели.
- Давайте друзьям и команде доступ субпользователя к консоли и файлам конкретного сервера, а не root-доступ ко всей машине.
Какой сервер DediJet выбрать для вашего сообщества
Это эмпирические правила, а не результаты измерений: ваши моды, плагины, дальность прорисовки и привычки игроков значат больше любой таблицы. Цены указаны за месяц, без НДС.
| Сообщество | Сервер | Характеристики | Почему |
|---|---|---|---|
| Сервер для друзей или один небольшой публичный мир | Ryzen 5 7600, | 6 ядер / 12 потоков, | Быстрые ядра Zen 4 и достаточно памяти для одного-двух миров |
| Растущее публичное сообщество, модпаки или несколько игровых серверов | Ryzen 7 9700X, | 8 ядер / 16 потоков, | Более высокие частоты Zen 5, единый общий кэш, место для нескольких экземпляров |
| Сеть серверов: много экземпляров, большие модпаки, несколько игр | Ryzen 9 9950X, | 16 ядер / 32 потока, | Самая высокая турбочастота среди наших серверов в наличии, 16 ядер для закрепления серверов, 128 ГБ ОЗУ |
Если вы переезжаете, отталкивайтесь от пикового потребления памяти и времени тиков на текущем сервере. Если запускаетесь с нуля, оставьте запас на наплыв игроков в первую неделю.
Следующие шаги
Посмотрите актуальное наличие в линейке «Производительные», загляните в наши решения для игровых серверов и прочитайте руководство по защите от DDoS до первого вайпа или запуска. А прежде чем делиться адресом с игроками, пройдите по шагам руководства по защите нового сервера.
Серверы из этой статьи
- AMD Ryzen 5 76006 ядер / 12 потоков · 64 ГБ DDR5 · 2 × 1 ТБ NVMe · 1 Гбит/с$115/мес.В наличииЗаказать AMD Ryzen 5 7600
- AMD Ryzen 7 9700X8 ядер / 16 потоков · 64 ГБ DDR5 · 2 × 1 ТБ NVMe · 1 Гбит/с$149/мес.В наличииЗаказать AMD Ryzen 7 9700X
- AMD Ryzen 9 9950X16 ядер / 32 потока · 128 ГБ DDR5 · 2 × 2 ТБ NVMe · 1 Гбит/с$269/мес.В наличииЗаказать AMD Ryzen 9 9950X