Каталог игр
Игра в панели — это Docker-образ, порты и параметры запуска. Отдельной поддержки в коде панели для игры не нужно: запустить можно любую игру, у которой есть Docker-образ. Каталог (раздел Игры) — единственное место, где игра описана и где задано, на каких нодах она установлена. Изменения сами доезжают до всех её нод.
Готовые игры
Блок Стартовый набор внизу страницы Игры — игры, которые панель знает «из коробки»: Minecraft Java, Counter-Strike 1.6, Counter-Strike 2 и SA-MP. Образ, порты, параметры, карты и моды у них уже настроены. Отметьте игры, выберите ноды и нажмите Добавить выбранные — дальше их можно менять как любую игру.
Когда с обновлением панели шаблон меняется, у игры появляется отметка Изменена, а у шаблона — кнопка Обновить из шаблона. Она делает настройки шаблона новой текущей версией игры, включая образ, параметры и переменные окружения; ваши изменения в них заменятся. Прежняя версия остаётся в истории.
Своя игра
Игры → Добавить игру. Сначала — Ключ (идентификатор игры, латиница, потом не меняется) и Название, которое видно в панели и в форме создания сервера. Дальше — настройки игры.
Образ
Docker-образ с тегом, например itzg/minecraft-server:java21. Данные сервера монтируются в контейнер в /data (это и рабочая папка), а контейнер запускается не от root, а от отдельного пользователя сервера. Образ должен хранить файлы игры и мира в /data и работать без root.
Порты
Порты, которые игра слушает внутри контейнера, и протокол (TCP/UDP). Внешние порты панель выдаёт каждому серверу сама из диапазона ноды или локации, без пересечений. Смещение держит связанные порты рядом: у основного 0, у RCON — 1. Подробно — Порты игровых серверов.
Переменные окружения
Постоянные настройки образа, одинаковые для всех серверов игры: согласие с EULA, режим работы. Значения хранятся зашифрованными и после сохранения не показываются; чтобы поменять значение, нажмите Изменить.
Параметры сервера
То, что различается у серверов одной игры: слоты, карта, пароль, название. Для каждого параметра задаются ключ, тип (число, да/нет, выбор из списка, строка, секрет), значение по умолчанию и ограничения, а также доступ — кто может его менять:
- только админ — то, за что платят клиенты, например слоты;
- владелец — клиент меняет сам: карту, название, пароль на вход;
- скрыта — не видна никому. Для секрета панель генерирует своё значение каждому серверу, например пароль RCON.
Параметр попадает в игру через переменную окружения или в аргументы запуска — там на его место подставляется {{ключ}}:
-dedicated +maxplayers {{slots}} +map {{map}}Не пишите пароли прямо в аргументах запуска — заведите для них параметр типа «секрет».
Тариф может закрепить значения параметров (например, slots), тогда клиент их не изменит. Сами ресурсы — память, CPU, диск — задаются в тарифах, а не в игре.
Карты и моды
Чтобы карты, моды и плагины ставились в один клик, выберите Движок (GoldSrc, Source, Source 2, Minecraft Java, Rust/Oxide, BepInEx и другие) и укажите Каталог игры — папку игры внутри /data, например cstrike; пусто — сам /data. Какие игры поддерживает каждый движок и что заполнить — на странице Игры → Как подключить игру. Каталог аддонов — в статье Карты и моды.
Опрос сервера
Протокол и порт, по которым панель узнаёт у работающего сервера название, карту и число игроков. Это блок В игре на странице сервера. Типично:
- Steam / Source (A2S) — CS 1.6, CS2, CS:S, GMod, TF2, Rust, ARK и большинство серверов Steam, обычно порт 27015;
- SA-MP / open.mp — порт 7777;
- Minecraft Java — порт игры 25565 (TCP).
На каких нодах стоит игра
В блоке Где установить при создании игры (потом — вкладка Ноды на странице игры) задаётся правило:
- Все ноды — игра ставится на каждую ноду, в том числе подключённые позже;
- Ноды локаций — на ноды выбранных локаций;
- Выбранные ноды — только туда, куда вы её назначили. В таблице на странице Игры нажмите «+» в столбце ноды.
Офлайн-нода получит игру, когда вернётся. Ноду, которая подпадает под правило, вручную снять нельзя — измените правило. Снять игру с ноды можно, только когда на ней не осталось серверов этой игры.
Версии и откат
Каждое сохранение настроек — новая неизменяемая версия; она раскатывается на ноды игры. Работающие серверы при этом не перезапускаются: новые настройки применяются, когда контейнер сервера пересоздаётся.
- Откат — на вкладке Версии нажмите Сделать текущей у старой версии.
- Закрепление — на вкладке Ноды ноду можно закрепить на конкретной версии, например чтобы проверить новую версию сначала на одной ноде.
Игры, найденные на нодах
Ноды со старым агентом могли знать игры из своих локальных файлов. Такие игры показаны в блоке Найдено на нодах, но нет в каталоге с кнопкой Импортировать. Форма заполнится настройками с ноды; значения переменных окружения нужно ввести заново — нода сообщает только их имена.
Удаление игры
Сначала снимите игру со всех нод и переключите правило на Выбранные ноды, затем удалите её на вкладке Об игре. Тарифы игры останутся, но создать по ним сервер будет нельзя.
Перед продажей
Образы разных авторов раскладывают файлы по-своему. Создайте тестовый сервер, поставьте фреймворк и пару модов, перезапустите и убедитесь, что они загрузились. Если папки не совпали — поправьте Каталог игры.