Гид

Администрирование сервера

Защитите администрирование и восстановление

  • RCON: используйте надёжный уникальный Server.RconPassword и ограничивайте удалённое администрирование частной сетью, VPN, SSH-туннелем или правилами брандмауэра для доверенных источников. RconTool — клиент администрирования для Windows; его использование не требует, чтобы сам сервер работал на Windows. Игрокам доступ к этому порту не нужен.
  • Журналы: на Windows скрипт наблюдения пишет записи запуска и перезапуска в logs\dedicated_server.log; в Docker используйте docker compose logs для запуска контейнера и вывода Wine. Game.LogName задаёт путь игрового журнала, обычно logs\dorito.log, доступного на хосте Linux как /opt/eldewrito/logs/dorito.log. Для журналов чата, списка игроков и RCON есть отдельные настройки включения и пути. Читайте ошибки рядом с неудачным запуском или переходом карты и удаляйте пароли, адреса, идентификаторы игроков и токены перед публикацией журналов.
  • Резервные копии: сохраняйте рабочие файлы запуска и конфигурации, data\server вместе с данными модерации, папки пользовательских карт и режимов, а также точные версии модов и ссылки авторов, необходимые для восстановления. Перед обновлением или сменой плейлиста сохраняйте последний заведомо рабочий комплект.
  • Перезапуск: предупредите игроков, остановите контейнер либо скрипт наблюдения Windows и сервер, внесите изменение и затем намеренно запустите сервер снова. Проверьте карту и повторное подключение извне, прежде чем объявлять о восстановлении. Если изменение не сработало, верните последний рабочий комплект конфигурации и контента, а не удаляйте все настройки.
  • Несколько экземпляров: каждому нужны собственное наблюдение за процессом, идентичность конфигурации, журналы, правила использования контента и непересекающиеся сопоставления игровых, информационных и необязательных служебных портов. Увеличение всех портов на единицу может вызвать конфликт с другой службой; ведите явную таблицу портов и протоколов для каждого экземпляра.

Несколько выделенных экземпляров

Для Docker начните с отдельного каталога игры и проекта Compose на каждый экземпляр, чтобы настройки, команды запуска, файлы голосования, данные модерации и журналы не перезаписывали друг друга. Используйте одинаковые внутренние и опубликованные порты, например UDP 11784 для Server.GamePort второго экземпляра и TCP 11785 для его Server.Port. При необходимости задайте Game.RconPort равным 11786, а Server.SignalServerPort — 11787, сохранив RCON закрытым для посторонних. Исходный пример с несколькими экземплярами показывает такой шаг портов и более сложную схему с общими файлами игры, но для второго экземпляра всё равно нужно вручную изменить настройки игры: одни сопоставления Compose не меняют прослушиваемые порты.

Для Windows вспомогательный скрипт New dedicated server #.ps1 из репозитория создаёт исполняемые файлы и скрипты наблюдения с отдельными именами. Сохраните его рядом с eldorado.exe, замените # простым уникальным именем экземпляра без пробелов и запустите из PowerShell, используя установку игры как рабочий каталог. Например, & '.\New dedicated server Arena.ps1' создаёт eldorado_Arena.exe, data\dewrito_prefs_Arena.cfg и dedicated_server_Arena.bat. Для работы нужны исходный dedicated_server.bat и существующий data\dewrito_prefs.cfg.

Перед запуском созданного пакетного файла измените настройки экземпляра: имя, порты, пароли и пути журналов. Скрипт копирует исходные настройки, заменяет имя исполняемого файла в скрипте наблюдения и добавляет -instance Arena; он не назначает уникальные порты, не копирует независимый каталог контента и не создаёт отдельные файлы голосования и запуска. Если экземплярам нужны разные плейлисты, задайте разные значения Voting.JsonPath и не помещайте конфликтующие настройки экземпляров в общий autoexec.cfg. После обновления игры отдельно обновляйте скопированные исполняемые файлы. Не используйте неизменённый скрипт наблюдения для одного экземпляра одновременно с этими серверами.