Выделенные серверы
Настройте первый матч
И Docker, и Windows используют autoexec.cfg рядом с eldorado.exe для команд запуска. Создайте его со следующими настройками для сетевого многопользовательского лобби с Guardian и Slayer, без модов и голосования. Если файл уже есть, обновите настройки, а не добавляйте конфликтующие команды.
Server.ShouldAnnounce 0
Server.Mode 3
Server.LobbyType 2
Server.Mod none
Voting.SystemType 0
Game.Map guardian
Game.GameType Slayer
Game.Start
Эти настройки не публикуют сервер в списке и сохраняют пароль, заданный в его настройках. Для закрытой игры оставьте пароль входа. Когда игроки смогут подключаться, измените Server.ShouldAnnounce на 1 и в настройках, и в этом файле, если хотите показывать сервер в общедоступном списке.
Запустите выделенный сервер на Linux через Docker
Docker-образ сообщества использует Wine и Xvfb; сеанс рабочего стола и хост с Windows не нужны. Установите Docker Engine с плагином Compose на хост Linux x86-64. Предоставьте собственный полный комплект файлов ElDewrito из установки: образ не содержит и не скачивает игру.
Используйте domistyle/eldewrito:v0.7.1-c1.3 с ElDewrito 0.7.1 на хосте x86-64. Этот образ с фиксированной версией сохраняет соответствие контейнера выпуску игры. Не отключайте проверку контрольных сумм при запуске; если она сообщает о несовпадении, восстановите оригинальные файлы игры 0.7.1 перед повторной попыткой.
Подготовьте папку игры
- Поместите полную установку 0.7.1 в
/opt/eldewrito, чтобыeldorado.exeлежал непосредственно в этом каталоге, а не во вложенной папке установки. Используйте отдельную копию, а не ту, из которой играете сами. Перед запуском контейнера сохраните резервную копию конфигурации и пользовательского контента. - Сохраните
data/dewrito.jsonиз релиза. Создайтеdata,data/serverиlogs, если их нет. При остановленном сервере задайте вdata/dewrito_prefs.cfgследующие значения, сохранив остальные настройки. Замените оба примера паролей до публикации портов; пароль входа и пароль RCON должны различаться.
Server.Name "My ElDewrito Server"
Server.MaxPlayers 16
Server.Password "replace-with-private-join-password"
Server.RconPassword "replace-with-separate-admin-password"
Server.GamePort 11774
Server.Port 11775
Game.RconPort 11776
Server.SignalServerPort 11777
Server.ShouldAnnounce 0
Server.FileServerEnabled 0
UPnP.Enabled 0
-
Создайте
/opt/eldewrito/autoexec.cfg, используя общую конфигурацию запуска. -
Сохраните JSON с двумя картами из раздела «Добавьте небольшую ротацию с голосованием» как
/opt/eldewrito/data/server/voting.json, но оставьтеVoting.SystemType 0для первого матча. Наличие файла настроек, JSON голосования иdata/dewrito.jsonне даст скрипту запуска создать вместо отсутствующих файлов встроенные файлы с настройками по умолчанию, среди которых есть включение публичного объявления и старый список каталогов серверов.
Важная часть структуры папок:
/opt/eldewrito/
eldorado.exe
mtndew.dll
autoexec.cfg
maps/
data/
dewrito.json
dewrito_prefs.cfg
server/
voting.json
map_variants/
game_variants/
mods/
logs/
Привязка каталога ниже делает всю эту папку игры доступной внутри контейнера как /game. Конфигурация голосования должна оставаться в data/server/voting.json, а настройки — в data/dewrito_prefs.cfg.
Запуск и управление контейнером
Сохраните следующий текст как compose.yaml в отдельном рабочем каталоге, затем выполните из него команды под примером. Это адаптация примера Compose от авторов образа: версия закреплена, опубликованы только порты подключения игроков, а все постоянные файлы остаются в предоставленном каталоге игры.
services:
eldewrito:
image: domistyle/eldewrito:v0.7.1-c1.3
restart: unless-stopped
ports:
- "11774:11774/udp"
- "11775:11775/tcp"
volumes:
- /opt/eldewrito:/game
cap_add:
- SYS_PTRACE
docker compose pull
docker compose up -d
docker compose ps
docker compose logs --tail=100 -f
Этому образу требуется SYS_PTRACE. По умолчанию контейнер запускает игру с UID/GID 1000 и при старте рекурсивно меняет владельца и права в подключённом каталоге игры. Используйте отдельную папку; не подключайте домашний каталог. Если серверным файлам нужен другой владелец, образ поддерживает PUID и PGID в диапазоне 1000–60000. Не задавайте SKIP_CHOWN, если заранее не обеспечили необходимые права.
Одна привязка каталога сохраняет конфигурацию, моды и журналы в папке игры с прямым доступом с хоста. Отдельные именованные тома поверх этих папок не нужны.
Проверьте информационную службу по адресу http://HOST:11775, затем попросите игрока подключиться и появиться на карте через Server.Connect HOST:11775. Выполните проверки подключения, включая смену карты. Один HTTP-ответ не доказывает, что игровой UDP-трафик работает. Ctrl+C закрывает просмотр журналов, не останавливая сервер.
Перед изменением конфигурации, плейлистов или файлов игры остановите службу:
docker compose stop
Измените файлы в /opt/eldewrito, затем снова запустите службу командой docker compose up -d. Обновляйте файлы игры и образ согласованной парой: загрузка образа не обновляет подключённую установку игры. После успешных закрытых проверок замените Server.ShouldAnnounce 0 на Server.ShouldAnnounce 1 и в настройках, и в autoexec.cfg, чтобы публично объявить сервер. Удаляйте пароль входа только если хотите открыть сервер всем.
Если нужен голос, добавьте "11777:11777/tcp" в ports и соответствующее правило брандмауэра/роутера. Для RCON не публикуйте TCP 11776 без необходимости; для SSH-туннеля или администрирования с самого хоста добавьте только "127.0.0.1:11776:11776/tcp", сохраните надёжный Server.RconPassword и пересоздайте службу командой docker compose up -d. Не копируйте публичное сопоставление RCON из исходного примера.
Запустите минимальный выделенный сервер на Windows
Windows — нативная альтернатива Docker/Wine. Используйте отдельную установку игры для сервера; входящий в комплект dedicated_server.bat запускает eldorado.exe в выделенном режиме и следит за его перезапуском.
Во время использования скрипта запускайте на этом ПК только один экземпляр игры. Его логика перезапуска может закрывать другие процессы eldorado.exe, включая игровой клиент или другой сервер. Останавливайте скрипт перед намеренным закрытием или обновлением сервера, чтобы он не запустил его снова.
-
Сделайте резервную копию
data\dewrito_prefs.cfg,data\serverи существующегоautoexec.cfgэтой установки. Не заменяйте файл запуска или личные настройки своей игровой установки серверным шаблоном. -
Настройте имя сервера, лимит игроков и пароль входа через Host Settings, затем нажмите Close и выйдите из игры. Во время первоначальной настройки оставьте объявление в списке серверов отключённым. Настройки хранятся в
data\dewrito_prefs.cfg; редактируя этот файл при закрытой игре, сохраняйте посторонние записи. -
Создайте
autoexec.cfgрядом сeldorado.exe, используя общую конфигурацию запуска. -
Откройте командную строку с этой установкой в качестве рабочего каталога. Запустите оттуда
dedicated_server.bat. Относительные пути к исполняемому файлу, конфигурации и журналам зависят от рабочего каталога. -
Скрипт запускает игру с такими аргументами:
eldorado.exe -launcher -dedicated -window -height 200 -width 200 -minimized
- Изучите вывод запуска и журналы сервера, затем подключитесь с другого ПК в локальной сети. Убедитесь, что загрузились Guardian и Slayer и вы можете появиться на карте. Если сервер остаётся в лобби или сообщает об ошибке команды/контента, разберите точную ошибку, а не открывайте новые порты.
- После локальной проверки проведите проверку подключения извне. Чтобы объявить сервер публично, включите Display Server in Browser и удалите или измените
Server.ShouldAnnounce 0вautoexec.cfg. Если оставить эту команду, при перезапуске объявление снова отключится.
Когда сервер заработает, добавьте плейлисты и голосование. RCON, журналы, резервные копии и несколько экземпляров описаны в разделе «Администрирование сервера».