RE:NODE

Руководства10 мин чтения

Чек-лист первого игрового сервера: от и до

Чек-лист для новичка: выбор игры и тарифа, защита панели, пароли и админы, проверка подключения, backup, перезапуски по расписанию и приглашение игроков.

0 прочтений

Первый игровой сервер сводится к десяти делам по порядку: выбрать версию игры и тариф под размер вашей группы, защитить аккаунт панели двухфакторной аутентификацией, задать название сервера и пароль для входа или вайтлист, сделать себя админом, запустить сервер и зайти по IP, чтобы убедиться, что подключение работает, сделать backup и один раз из него восстановиться, добавить ночной backup и расписание перезапусков, ставить моды только после того, как заработал ванильный сервер, пригласить сначала нескольких друзей, а не всех сразу, и записать, что вы сделали. Ничего из этого не сложно. Если делать в таком порядке, каждая проблема всплывает, когда винить можно лишь немногое, а мир, построенный в первую неделю, всё ещё на месте через полгода.

До заказа: три решения#

Какая игра, какая версия, какие моды. Решите, играет группа в ванилле или с модами, а если с модами - какой модпак или какие моды. От этого зависит всё дальнейшее: серверу Minecraft с модами на Fabric или NeoForge нужно другое ПО и гораздо больше памяти, чем ванильному, а группе в Valheim с десятью модами нужно, чтобы каждый игрок установил те же десять. Если пока не уверены, начните с ваниллы. Добавить моды на работающий сервер легко; отлаживать моды на сервере, который ни разу не работал, - нет. Версия этого выбора для Minecraft разобрана в статье Paper, Fabric или ванилла.

Сколько игроков на самом деле. Не число людей в групповом чате, а число тех, кто онлайн одновременно в загруженный вечер. Под него и подбирайте. Большинство компаний друзей в пике собирают половину своего состава.

Где находятся игроки. Задержка - это расстояние. Сервер в Германии - короткий путь для большей части Европы и длинный из Австралии. Выберите локацию рядом с основной массой игроков и проверьте её, прежде чем платить за год. Подробнее об обоих вопросах - в статьях где разместить сервер и как выбрать хостинг игровых серверов.

Размер: с какого тарифа начать#

Память - ресурс, который определяет большинство тарифов, потому что её нехватка просто останавливает сервер. CPU определяет, будет ли сервер работать плавно.

ИграМаленькая группа (2-5)Средняя группа (6-12)
Minecraft, ванилла или Paper2-3 GB4-6 GB
Minecraft, модпак6-8 GB8-12 GB
Valheim2-3 GB4 GB
Terraria1 GB2 GB
Project Zomboid3-4 GB6-8 GB
Palworld8 GB10-12 GB
CS22 GB2-3 GB

Это отправные точки; больше игр и обоснование - в статье требования игровых серверов по играм, а почему число игроков - менее надёжный ориентир, чем то, чем игроки заняты, объяснено в статье сколько игроков помещается на сервер. Безопасный подход - начать с тарифа под ваш пик, две недели следить за графиком памяти и перейти выше, если он держится у потолка. Начать с большого тарифа "на всякий случай" обычно означает платить за память, которая простаивает. Как читать признаки, - в статье когда переходить на тариф выше.

Первые десять минут: защитите аккаунт#

Прежде чем трогать игру, закройте доступ к тому, что ею управляет.

  1. Включите двухфакторную аутентификацию в аккаунте панели. Человек с вашим паролем от панели может удалить сервер и его backup-ы. Настройка и то, почему коды восстановления важны не меньше приложения, объяснены в статье двухфакторная аутентификация в аккаунте панели.
  2. Сохраните коды восстановления где-нибудь не на том же телефоне, где стоит аутентификатор.
  3. Не делитесь своим логином. Если друг помогает вести сервер, дайте ему собственный доступ как субпользователю только с нужными правами. Разумный набор прав есть в статье субпользователи и минимальные права.
  4. Запишите адрес сервера - IP и порт - из панели и держите его под рукой.

Первый запуск: название, пароль, админ#

Теперь настройте основы. Где они находятся, зависит от игры - конфиг вроде server.properties в Minecraft, настройки запуска на вкладке Startup в панели или ini-файл, - но в каждой игре есть одни и те же несколько пунктов:

  • Название сервера - то, что показывается в браузере серверов. Не включайте в него пароль; некоторые игры отказываются запускаться, если в названии есть пароль.
  • Пароль для входа или вайтлист - для приватного сервера хотя бы что-то одно. Вайтлист конкретных аккаунтов лучше пароля, как только группа вырастает больше нескольких человек. Оба варианта по играм разобраны в статье вайтлист или пароль.
  • Максимум игроков - подгоните под ваш реальный пик с небольшим запасом.
  • Админ - добавьте свой аккаунт в админы. Это может быть команда op (Minecraft), строка в файле списка админов (adminlist.txt в Valheim) или пароль админа в конфиге (AdminPassword в Palworld). Там, где игра позволяет, используйте ID аккаунта, а не отображаемое имя.
  • Сложность и правила игры - согласуйте их с группой до первой сессии. В большинстве игр их можно изменить позже, но люди привязываются к правилам, с которых начинали.

Для сервера Minecraft первый вариант server.properties может выглядеть так:

server.properties
motd=Thursday Night Crewdifficulty=normalmax-players=10white-list=trueenforce-whitelist=trueonline-mode=trueview-distance=8

Запустите сервер и следите за консолью, пока он не сообщит о готовности, - Done в Minecraft, строка о том, что сессия или мир загружены, в большинстве других игр. Если он останавливается раньше, прочитайте последние строки; причина почти всегда там. Когда она неочевидна, поможет статья как читать консоль сервера.

Проверьте подключение, прежде чем кого-то звать#

Зайдите на сервер сами, по IP и порту, прежде чем сообщать адрес кому-либо. Этот один шаг отделяет "сервер работает" от "сервер запущен", а это не одно и то же.

  1. В игре используйте прямое подключение или добавление сервера и введите адрес точно так, как его показывает панель, вместе с портом: 203.0.113.10:25565.
  2. Если подключение прошло, пройдитесь, поставьте что-нибудь, выйдите и зайдите снова, чтобы проверить, что это сохранилось.
  3. Если нет, проверьте, что вы использовали игровой порт (а не query- или RCON-порт), что версия игры на вашем клиенте совпадает с серверной и что пароль верный. Остальное по порядку разобрано в статье почему игроки не могут подключиться к серверу.

Затем проверьте список серверов, если он есть в вашей игре. Появление в списке может занять несколько минут, а некоторые игры попадают в список, только если включена соответствующая настройка. Если по IP зайти можно, а в списке сервера нет, - это проблема со списком, а не с сервером. Query-порты, на которых держится большинство списков, разобраны в статье порты игрового сервера.

Backup-ы: сделайте один, затем восстановитесь из него#

Этот шаг пропускают, и именно он важнее всего через полгода.

  1. Сделайте ручной backup сейчас, пока мир маленький.
  2. Восстановитесь из него - нарочно, сейчас, пока ничего не на кону. Постройте что-нибудь, восстановите backup и проверьте, что постройка исчезла. Вы только что доказали, что ваши backup-ы работают и вы умеете ими пользоваться.
  3. Настройте ежедневный backup на час, когда никто не играет.
  4. Делайте ручной backup перед каждым изменением - обновлением игры, новым модом, экспериментом с конфигом.

Backup, из которого никто не восстанавливался, - это гипотеза. Как backup-ы молча отказывают, объяснено в статье backup-ы, которые действительно восстанавливаются, а распорядок, который это выявляет, - в статье проверьте восстановление до того, как оно понадобится.

Также запомните разницу между остановкой и принудительным завершением сервера. Обычная остановка даёт игре сначала сохранить мир; принудительное завершение - нет, и всё, что было после последнего автосохранения, теряется. Пользуйтесь остановкой или перезапуском, а принудительное завершение применяйте, только когда остановка зависла.

Расписания: перезапуски и скучная автоматизация#

Большинство игровых серверов работают лучше с регулярным перезапуском: освобождается память, устраняются мелкие утечки, применяются обновления (если у вас включены автообновления). Выберите тихий час и добавьте расписание. Типичный набор:

code
04:00 daily    console command: say Restarting in 5 minutes04:04 daily    backup04:05 daily    power action: restart

Это предупреждает игроков, делает backup, пока мир свежий, а затем корректно перезапускает сервер. В синтаксисе cron, который используют большинство панелей, "04:05 ежедневно" - это 5 4 * * *. Синтаксис разобран в статье cron-выражения, как часто перезапускать - в статье расписания перезапусков, которые помогают, а остальной список - в статье задачи по расписанию, которые стоит завести. Прежде чем доверять "04:00", проверьте, в каком часовом поясе работает панель.

Моды и плагины: по одному и только после того, как всё заработало#

Только когда ванильный сервер без проблем проработал сессию-другую:

  1. Сделайте backup.
  2. Установите загрузчик модов или плагинный фреймворк, который нужен игре (Paper или Fabric для Minecraft, BepInEx для Valheim и так далее). Запустите сервер и убедитесь, что без модов он по-прежнему работает.
  3. Добавляйте моды по одному-два, перезапуская и проверяя после каждого. Если что-то сломается, вы будете знать, что именно это сделало.
  4. Отметьте, какие моды нужно ставить ещё и на клиенты игроков, и сообщите группе точные версии.
  5. Берите моды только с их официальных страниц. Бесплатные копии платных плагинов - самый частый способ, которым backdoor попадает на сервер. Объяснение - в статье вредоносные плагины и моды.

Когда выходит обновление игры, сервер с модами не должен обновляться, пока не обновились его моды. Порядок действий - в чек-листе на день обновления, а привычки на долгий срок - в статье как держать сервер с модами в порядке.

Приглашение игроков и первая неделя#

Сначала позовите нескольких. Два-три человека в первый вечер выловят проблемы - отсутствующий мод на клиенте, право, которое мешает строить, неправильно набранный пароль в приглашении, - прежде чем на них разом наткнутся двадцать человек.

Соберите все сведения в одном месте. Адрес, пароль или способ попасть в вайтлист, версия игры, моды со ссылками и правила. Хорошо работает закреплённое сообщение в Discord. Больше - в статье Discord для игрового сервера.

Следите за графиками. Первую неделю смотрите на память и CPU в самый загруженный вечер. Память у лимита означает, что пора переходить на тариф выше или что-то урезать; одно ядро, упёршееся в лимит, означает, что узкое место - CPU. На что смотреть, показано в статье как читать график нагрузки сервера.

Запишите, что вы сделали. Какая версия, какие моды, какие настройки вы меняли и зачем, где лежат backup-ы. Вам в будущем или другу, который возьмёт сервер на себя, это понадобится.

Ошибки, которые почти все совершают один раз#

Короткий список, чтобы вы совершали их намеренно или не совершали вовсе.

  • Загрузка мира поверх работающего сервера. Сервер держит старый мир в памяти и перезаписывает вашу загрузку при следующем сохранении. Сначала остановите, загрузите, затем запустите.
  • Правка конфига, пока сервер работает. Многие игры читают конфиг только при старте и записывают его обратно при выключении, так что ваше изменение молча заменяется. Остановите, отредактируйте, запустите.
  • Раздача админки из дружелюбия. Друг с админкой может в игре всё то же, что и вы, включая случайное уничтожение мира. Давайте админку тем, кто будет модерировать, а не всем, кто попросит.
  • Запуск в offline- или пиратском режиме, чтобы кого-то пустить. Это отключает проверку аккаунтов, так что любой может зайти под кем угодно - в том числе под вами. Вместо этого решите настоящую проблему (истёкший аккаунт, несовпадение версий).
  • Считать собственную папку резервных копий игры backup-ом. Некоторые игры хранят автоматические копии рядом с миром, на том же диске. Они помогают с повреждённым сохранением, но не с удалённым сервером или ошибкой, сделанной в файловом менеджере. Настоящие backup-ы лежат в другом месте.
  • Позволить диску заполниться. Логи, старые backup-ы и crash dump-ы накапливаются. Когда диск полон, сохранения не проходят - иногда оставляя наполовину записанный мир. Раз в месяц поглядывайте на заполненность диска. Что удалять, перечислено в статье на игровом сервере закончилось место на диске.

FAQ#

Сколько RAM нужно моему первому игровому серверу?

Зависит от игры: 2-3 ГБ хватает для ванильного Minecraft, Valheim или Terraria с небольшой группой, а Palworld или модпаку Minecraft нужно 8 ГБ и больше. Начните с тарифа под самый загруженный вечер и переходите выше, если график памяти держится у лимита.

Нужно ли знать Linux, чтобы держать игровой сервер?

В хостинговой панели - нет. Запуск, остановка, правка конфигов, загрузка сохранений и backup-ы делаются в веб-интерфейсе. Знание Linux помогает, если вы арендуете голый VDS и ставите всё сами.

Стоит ли сразу ставить моды?

Нет. Сначала запустите ванильный сервер и зайдите на него, а затем добавляйте моды по одному-два, делая backup перед каждым. Когда что-то сломается, вы будете точно знать причину.

Почему я не могу подключиться к собственному серверу?

Обычно это неверный порт (query-порт вместо игрового), несовпадение версий вашей игры и сервера или сервер, который ещё не закончил запуск. Найдите в консоли строку о готовности и скопируйте адрес из панели точно.

Как часто делать backup?

Минимум раз в день плюс ручной backup перед любым обновлением или изменением модов. Ещё важнее - в самом начале восстановиться из одного backup-а, чтобы доказать, что процесс работает.


Комментарии

Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.

0/2000