Плейлисты и голосование
Установите готовый плейлист
Репозиторий ElDewrito Server Hosting предлагает плейлисты для 0.7, включая Halo Online, Halo 3, ротации с модами и минимальный пример. Устанавливайте один выбранный плейлист на сервер: копирование всех плейлистов друг поверх друга не объединяет их.
- Остановите контейнер либо скрипт наблюдения Windows и сервер. Сохраните резервную копию
autoexec.cfgи всего каталогаdata, особенно настроек,data/serverи пользовательских вариантов. Сохраните существующие пакеты модов, необходимые для возврата прежней ротации. - Клонируйте репозиторий или скачайте ZIP, затем распакуйте его.
- Сначала скопируйте содержимое
0. Stock maps and gametypes/dataв каталогdataсервера, объединяя папки. Это установит стандартные варианты карт и режимов, которые ожидают плейлисты. - Затем скопируйте содержимое
dataвыбранного плейлиста туда же, разрешив его файлам перезаписать прежнюю конфигурацию. На Linux это/opt/eldewrito/data; на Windows —dataрядом сeldorado.exe. Не создавайтеdata/dataи не копируйте один лишьvoting.json, забыв необходимые варианты. - Изучите получившийся
data/server/voting.jsonиmods.json, если он есть; установите и проверьте указанный контент, как описано ниже. ЗаменитеVoting.SystemType 0вautoexec.cfgследующим блоком, сохранив команды начальной карты и режима для первого матча:
Voting.JsonPath "data/server/voting.json"
Voting.SystemType 1
Voting.ReloadJson
- Запустите сервер, завершите первый матч и проверьте голосование, победившую карту, загрузку необходимых модов и повторное подключение. Проверьте задуманные сочетания карт и режимов, прежде чем делать ротацию публичной.
Для Windows в репозитории также есть бета-версия вспомогательного скрипта Get playlist #.ps1. Сохраните его рядом с eldorado.exe, замените # в имени файла числовым ID выбранной папки и запустите из PowerShell, рабочим каталогом которого является эта установка игры. Например, сохранив его как Get playlist 6.ps1, выполните & '.\Get playlist 6.ps1' для минимального примера. Изучите скачанный скрипт перед запуском и следуйте рекомендациям по политике выполнения PowerShell, если система его блокирует; не отключайте политику глобально ради установки плейлиста.
Скрипт скачивает текущий репозиторий, сначала принудительно копирует стандартные варианты, затем — выбранный плейлист. Он пишет в текущий рабочий каталог, не создаёт резервную копию и не включает голосование за вас. Ручная инструкция работает на обоих типах хостов и позволяет проще контролировать порядок перезаписи.
Добавьте небольшую ротацию с голосованием
Для небольшой ротации, которую удобно редактировать самостоятельно, начните с карт базовой игры. Справочник голосования описывает пользовательские варианты, ограничения совместимости карт, шаблоны, моды и плейлисты с вето. Можно также посмотреть data\server\voting.json.example, но не включайте его без изменений: один из примеров содержит лишнюю запятую в конце, что недопустимо в JSON.
- Остановите контейнер либо скрипт наблюдения Windows и сервер, затем сохраните следующий текст как
data/server/voting.jsonв каталоге игры. Он предлагает Slayer на Guardian или Valhalla. Используйте внутренние идентификаторы карт, напримерriverworldдля Valhalla, а не отображаемые названия.
{
"maps": [
{ "displayName": "Guardian", "mapName": "guardian" },
{ "displayName": "Valhalla", "mapName": "riverworld" }
],
"types": [
{ "displayName": "Slayer", "typeName": "Slayer" }
]
}
- В
autoexec.cfgзаменитеVoting.SystemType 0следующим блоком. Сохраните команды начальной карты и режима для первого матча. Голосование также можно выбрать через Host Settings → Voting Mode → Vote.
Voting.JsonPath "data/server/voting.json"
Voting.SystemType 1
Voting.VoteOptionCount 2
Voting.DuplicationLevel 1
Voting.ReloadJson
- Запустите сервер, подключитесь и завершите первый матч. Убедитесь, что голосование предлагает только нужные пары карты и режима, а победивший матч загружается. Переподключитесь после перехода и повторите проверку после намеренного перезапуска.
Voting.SystemType равен 0 без голосования, 1 для голосования и 2 для вето. В примере используется уровень повторений 1, соответствующий Gametype or Map Can Repeat в интерфейсе, чтобы один режим Slayer мог появиться с двумя разными картами. Вето работает иначе и использует vetoPlaylist; простое переключение этого примера с двумя картами на вето не создаёт упорядоченный плейлист вето.
Безопасно чередуйте моды и пользовательские варианты
Рабочий пункт ротации — это совместимое сочетание пакета мода, базовой карты или варианта Forge и режима игры. Установите варианты на сервер по разделу «Пользовательский контент» и проверьте каждое сочетание в закрытой игре, прежде чем добавлять его в публичное голосование.
displayName— подпись в голосовании.mapNameиtypeNameдолжны указывать контент, который сервер может загрузить; изменение подписи не переименовывает карту.specificMapsу режима ограничивает его совместимыми картами. Это не позволяет специализированному режиму появляться на каждой карте из общего списка.modPackу режима задаёт имя записи мода.data\server\mods.jsonсопоставляет имена внутриmodsс объектом, содержащимpackage_url. Имя должно совпадать с записью голосования, а URL — вести на нужную версию пакета.Server.ModsJsonFileвыбирает список модов для автоматической загрузки пакетов при запуске. Путь по умолчанию —data\server\mods.json, а неdata\server\server.json.- Используйте стабильный прямой URL загрузки пакета, которым имеете право делиться. Игроки должны скачивать файл без входа в учётную запись. Проверьте ссылку вне своей учётной записи и избегайте временных ссылок на вложения.
commandsиendOfMatchCommandsмогут применять и отменять настройки отдельных режимов. В первом плейлисте избегайте переопределений; добавляя их позже, восстанавливайте настройки, которые должен унаследовать следующий матч, а не позволяйте состоянию перетекать между режимами.
ED Resurgence Voting JSON Builder создаёт файлы voting.json и mods.json для 0.7. При выборе папки вариантов укажите каталог data установки, содержащий map_variants и game_variants. Сохраните созданные файлы по путям, настроенным на сервере. Проверьте предложенные URL модов и каждый пакет перед добавлением в ротацию: некоторые ссылки могут устареть или больше не работать.