Добавление карт
Данная статья описывает добавление пользовательских карт mod.io на выделенный сервер Pavlov VR: поиск ID карты, настройку MapRotation, смешивание стандартных и пользовательских карт, переключение карт через RCON и устранение частых проблем.
Где настраиваются карты
Ротация карт Pavlov VR настраивается в файле:
Pavlov/Saved/Config/LinuxServer/Game.iniПеред редактированием файла остановите сервер.
Основные настройки должны находиться в секции:
[/Script/Pavlov.DedicatedServer]Как работают пользовательские карты
Pavlov VR использует пользовательские карты с mod.io. В ротации карт такие карты указываются через ID ресурса с префиксом UGC.
Формат:
UGC<ResourceID>Пример:
UGC3229032Если на странице карты mod.io указан ID 3229032, то в Game.ini нужно использовать:
MapId="UGC3229032"Где найти ID карты
- Откройте страницу Pavlov VR на mod.io.
- Найдите нужную карту.
- Откройте страницу карты.
- Найдите числовой ID ресурса.
- Добавьте к нему префикс
UGC.
Пример:
ID карты: 3229032
MapId для Game.ini: UGC3229032Добавление карты в Game.ini
Откройте файл:
Pavlov/Saved/Config/LinuxServer/Game.iniДобавьте карту в ротацию через строку MapRotation:
MapRotation=(MapId="UGC3229032", GameMode="SND")Пример нескольких пользовательских карт:
MapRotation=(MapId="UGC3229032", GameMode="SND")
MapRotation=(MapId="UGC9876543", GameMode="TDM")
MapRotation=(MapId="UGC1234567", GameMode="DM")Смешанная ротация стандартных и пользовательских карт
В одной ротации можно использовать как встроенные карты Pavlov, так и карты mod.io.
[/Script/Pavlov.DedicatedServer]
bEnabled=true
ServerName=TechNodes Pavlov
MaxPlayers=10
bSecured=true
bCustomServer=true
bCompetitive=false
bWhitelist=false
MapRotation=(MapId="datacenter", GameMode="SND")
MapRotation=(MapId="UGC3229032", GameMode="SND")
MapRotation=(MapId="sand", GameMode="TDM")
MapRotation=(MapId="UGC9876543", GameMode="DM")
MapRotation=(MapId="bridge", GameMode="DM")Сервер будет идти по списку сверху вниз. После последней карты ротация начнётся сначала.
Первичная загрузка карты
При первом запуске карты mod.io серверу может потребоваться время на её загрузку и кэширование.
Во время первой загрузки пользовательской карты возможны:
- долгая смена карты;
- задержка перед появлением сервера в браузере;
- долгое подключение игроков;
- временная пауза в консоли без явной ошибки.
Если карта большая, первая загрузка может занять несколько минут.
Совместимость карты и режима
Не каждая пользовательская карта поддерживает все игровые режимы.
Перед добавлением карты проверьте на странице mod.io, какие режимы поддерживает карта.
| Пример | Что означает |
|---|---|
MapRotation=(MapId="UGC3229032", GameMode="SND") |
Карта запускается в режиме Search and Destroy. |
MapRotation=(MapId="UGC3229032", GameMode="TDM") |
Та же карта запускается в Team Deathmatch, если карта поддерживает этот режим. |
Внимание: если указать режим, который карта не поддерживает, сервер может не загрузить карту, зависнуть на смене карты или вернуться к другой карте из ротации.
Переключение на карту через RCON
Если RCON уже настроен, карту можно переключить без ручного редактирования Game.ini и без полной остановки сервера.
Формат команды:
SwitchMap MapId GameModeПример для пользовательской карты:
SwitchMap UGC3229032 SNDПример для другой карты:
SwitchMap UGC9876543 TDMЕсли карта ещё не была загружена сервером, при первом переключении сервер скачает её и только затем запустит.
Ротация следующей карты через RCON
Чтобы перейти к следующей карте из списка MapRotation, используйте команду:
RotateMapЭта команда не требует указания ID карты. Сервер возьмёт следующую запись из ротации.
Пример ротации только с картами mod.io
[/Script/Pavlov.DedicatedServer]
bEnabled=true
ServerName=TechNodes Custom Maps
MaxPlayers=10
bSecured=true
bCustomServer=true
bCompetitive=false
MapRotation=(MapId="UGC3229032", GameMode="SND")
MapRotation=(MapId="UGC9876543", GameMode="TDM")
MapRotation=(MapId="UGC1234567", GameMode="DM")Пример ротации для SND-сервера
[/Script/Pavlov.DedicatedServer]
bEnabled=true
ServerName=TechNodes SND
MaxPlayers=10
bSecured=true
bCustomServer=true
bCompetitive=false
MapRotation=(MapId="datacenter", GameMode="SND")
MapRotation=(MapId="sand", GameMode="SND")
MapRotation=(MapId="UGC3229032", GameMode="SND")
MapRotation=(MapId="UGC9876543", GameMode="SND")Пример ротации для TDM / DM
[/Script/Pavlov.DedicatedServer]
bEnabled=true
ServerName=TechNodes DM
MaxPlayers=12
bSecured=true
bCustomServer=true
MapRotation=(MapId="sand", GameMode="TDM")
MapRotation=(MapId="bridge", GameMode="DM")
MapRotation=(MapId="UGC3229032", GameMode="TDM")
MapRotation=(MapId="UGC9876543", GameMode="DM")Карта не загружается
Проверьте:
- ID карты указан с префиксом
UGC; - числовой ID карты указан без ошибок;
- карта опубликована и доступна на mod.io;
- карта не скрыта и не удалена автором;
- выбранный игровой режим поддерживается этой картой;
- сервер имеет доступ к сети для загрузки карты;
- после изменения
Game.iniсервер был перезапущен.
Сервер зависает при смене карты
Если зависание происходит при первой загрузке пользовательской карты, подождите несколько минут. Большие карты могут скачиваться и кэшироваться дольше обычных.
Если карта не загружается даже после ожидания, проверьте ID карты и совместимость режима.
Игроки долго подключаются
При первом подключении к пользовательской карте игрокам также может потребоваться загрузить карту.
Если игрок не может подключиться, проверьте:
- карта доступна на mod.io;
- карта не была обновлена или удалена автором;
- у игрока не возникла ошибка загрузки контента;
- сервер не находится в процессе смены карты.
Сервер показывает не ту карту
Проверьте порядок строк MapRotation в Game.ini.
Сервер начинает с первой доступной строки ротации. Если первой стоит datacenter, сервер загрузит datacenter.
Чтобы пользовательская карта запускалась первой, поставьте её первой строкой:
MapRotation=(MapId="UGC3229032", GameMode="SND")
MapRotation=(MapId="datacenter", GameMode="SND")После редактирования Game.ini ничего не изменилось
Проверьте:
- вы редактировали файл
Pavlov/Saved/Config/LinuxServer/Game.ini; - сервер был остановлен перед редактированием;
- файл был сохранён;
- после сохранения сервер был перезапущен;
- в файле нет дублей или старых строк
MapRotationвыше новых; - секция
[/Script/Pavlov.DedicatedServer]указана правильно.
Быстрые примеры
Добавить карту mod.io в ротацию:
MapRotation=(MapId="UGC3229032", GameMode="SND")Смешать стандартные карты и mod.io:
MapRotation=(MapId="datacenter", GameMode="SND")
MapRotation=(MapId="UGC3229032", GameMode="SND")
MapRotation=(MapId="sand", GameMode="TDM")Переключиться через RCON:
SwitchMap UGC3229032 SNDПерейти к следующей карте:
RotateMapРекомендации
- перед редактированием
Game.iniостанавливайте сервер; - используйте только опубликованные и доступные карты mod.io;
- проверяйте поддерживаемые режимы на странице карты;
- не добавляйте слишком много больших карт в ротацию сразу;
- первую пользовательскую карту лучше проверить через RCON-команду
SwitchMap; - для SND-сервера используйте только карты, которые реально поддерживают SND;
- после изменения ротации всегда перезапускайте сервер;
- если сервер показывает
999ping, отдельно проверьте портSERVER_PORT + 400.
Файлы и команды, которые рекомендуется проверить при настройке карт mod.io:
Pavlov/Saved/Config/LinuxServer/Game.ini
MapRotation=(MapId="UGC<ResourceID>", GameMode="SND")
SwitchMap UGC<ResourceID> SND
RotateMap
SERVER_PORT
SERVER_PORT + 400