Настройка сервера
Данная статья описывает настройку выделенного сервера Pavlov VR: получение API-ключа, первый запуск, переменные запуска, настройку Game.ini, игровые режимы, ротацию карт, подключение игроков и частые проблемы при отображении сервера.
API-ключ Pavlov VR
Для отображения сервера в публичном браузере Pavlov VR требуется API-ключ.
В текущей конфигурации API-ключ передаётся в startup-команде через переменную:
API_KEYВ запуске сервера это значение используется так:
-KEY="{{API_KEY}}"Если API-ключ не указан или указан неверно, сервер может запускаться, но не отображаться во внутриигровом списке серверов.
Получение API-ключа
- Запустите Pavlov VR.
- Откройте настройки игры.
- Перейдите во вкладку «General».
- Нажмите «Generate Server Code».
- Скопируйте полученный код.
- Откройте страницу получения server key от Pavlov.
- Введите код и завершите подтверждение.
- Скопируйте полученный API-ключ.
- Вставьте его в переменную
API_KEYво вкладке «Startup».
Внимание: API-ключ нельзя публиковать, показывать на скриншотах или передавать посторонним. Он авторизует ваш сервер в мастер-сервере Pavlov.
Первый запуск сервера
Перед первым запуском откройте вкладку «Startup» и заполните обязательные переменные.
| Переменная | Назначение |
|---|---|
API_KEY |
API-ключ Pavlov для отображения сервера в браузере серверов. |
RCON_PASSWORD |
Пароль для RCON-доступа. |
RCON_PORT |
Порт RCON. |
AUTO_UPDATE |
Автообновление сервера при запуске. |
SRCDS_BETAID |
Бета-ветка Steam. Для стабильной версии оставьте пустым. |
После заполнения переменных перейдите во вкладку «Console» и запустите сервер.
При первом запуске сервер скачает файлы, создаст нужные каталоги и конфигурационные файлы.
После завершения первого запуска остановите сервер и переходите к настройке Game.ini.
Основные файлы конфигурации
Главный файл настройки игрового сервера находится по пути:
Pavlov/Saved/Config/LinuxServer/Game.iniФайл RCON находится по пути:
Pavlov/Saved/Config/RconSettings.txtПеред редактированием конфигурационных файлов остановите сервер.
Game.ini
Все основные настройки выделенного сервера Pavlov VR размещаются в секции:
[/Script/Pavlov.DedicatedServer]Минимальный рабочий пример:
[/Script/Pavlov.DedicatedServer]
bEnabled=true
ServerName=TechNodes Pavlov
MaxPlayers=10
bSecured=true
bCustomServer=true
bCompetitive=false
bWhitelist=false
MapRotation=(MapId="sand", GameMode="TDM")
MapRotation=(MapId="bridge", GameMode="DM")
MapRotation=(MapId="datacenter", GameMode="SND")Полный пример Game.ini
[/Script/Pavlov.DedicatedServer]
bEnabled=true
ServerName=TechNodes Pavlov
MaxPlayers=10
bSecured=true
bCustomServer=true
bCompetitive=false
bVerboseLogging=false
bWhitelist=false
RefreshListTime=120
LimitedAmmoType=0
TickRate=90
TimeLimit=60
AFKTimeLimit=300
MapRotation=(MapId="sand", GameMode="TDM")
MapRotation=(MapId="bridge", GameMode="DM")
MapRotation=(MapId="datacenter", GameMode="SND")
MapRotation=(MapId="containeryard", GameMode="KOTH")
MapRotation=(MapId="station", GameMode="TTT")Основные параметры Game.ini
| Параметр | Назначение |
|---|---|
bEnabled |
Включает выделенный сервер. Должно быть true. |
ServerName |
Название сервера во внутриигровом браузере. |
MaxPlayers |
Максимальное количество игроков. |
bSecured |
Включает защиту EAC. Для публичных серверов рекомендуется true. |
bCustomServer |
Включает функции пользовательского сервера. |
bCompetitive |
Включает соревновательный режим. Обычно используется для SND. |
bWhitelist |
Ограничивает вход только игроками из whitelist. |
Password |
PIN-код сервера. Если сервер публичный, строку можно удалить или закомментировать. |
TickRate |
Частота тиков сервера. Значение 90 подходит для большинства серверов. |
TimeLimit |
Лимит времени карты для режимов, где используется таймер. |
AFKTimeLimit |
Время до кика бездействующего игрока. Значение указывается в секундах. |
LimitedAmmoType |
Настройка ограничения боеприпасов. |
RefreshListTime |
Интервал обновления списков whitelist, blacklist и mods. |
MapRotation |
Ротация карт и игровых режимов. |
Пароль сервера
Если нужно закрыть сервер PIN-кодом, добавьте параметр:
Password=1234Если сервер должен быть публичным, удалите строку или закомментируйте её:
#Password=1234Порты Pavlov VR
В startup-команде основной порт передаётся так:
-PORT={{SERVER_PORT}}Кроме основного игрового порта Pavlov также запускает Server Status Helper на дополнительном порту:
SERVER_PORT + 400Например, если основной порт сервера:
63823то дополнительный helper/status-порт будет:
64223Внимание: если дополнительный порт SERVER_PORT + 400 не выделен серверу и не открыт, в браузере серверов может отображаться пинг 999.
Какие порты должны быть выделены
| Порт | Назначение |
|---|---|
SERVER_PORT |
Основной игровой порт Pavlov. |
SERVER_PORT + 400 |
Server Status Helper. Нужен для корректного отображения состояния и пинга. |
RCON_PORT |
Порт удалённой консоли RCON. |
RCON
RCON-настройки находятся в файле:
Pavlov/Saved/Config/RconSettings.txtВ текущем egg значения подставляются из переменных:
RCON_PASSWORD
RCON_PORTПример содержимого:
Password=CHANGE_ME
Port=8188Внимание: обязательно измените пароль CHANGE_ME на надёжный пароль.
Бета-ветка
Для стабильной версии оставьте переменную пустой:
SRCDS_BETAID=Для бета-ветки используйте:
SRCDS_BETAID=beta_serverБета-ветка может содержать новые функции и исправления, но также может быть нестабильной. Для обычного публичного сервера лучше использовать стабильную ветку.
Игровые режимы
| Код | Режим |
|---|---|
SND |
Search and Destroy. |
DM |
Deathmatch. |
TDM |
Team Deathmatch. |
GUN |
Gun Game. |
WW2GUN |
WW2 Gun Game. |
OITC |
One in the Chamber. |
TTT |
Trouble in Terrorist Town. |
KOTH |
King of the Hill. |
ZWV |
Zombie Wave Survival. |
HIDE |
The Hidden. |
INFECTION |
Hidden Infection. |
PUSH |
Push. |
PH |
Prop Hunt. |
TANKTDM |
WW2 Team Deathmatch. |
Внимание: не каждая карта поддерживает каждый режим. Если указать несовместимую пару карты и режима, сервер может загрузить не тот режим, не появиться в списке или работать некорректно.
Ротация карт
Карты задаются строками MapRotation в файле Game.ini.
Формат:
MapRotation=(MapId="map_id", GameMode="mode")Пример:
MapRotation=(MapId="sand", GameMode="TDM")
MapRotation=(MapId="bridge", GameMode="DM")
MapRotation=(MapId="datacenter", GameMode="SND")Если в ротации первой стоит карта datacenter, сервер будет загружать именно её первой.
Встроенные карты
| ID карты | Название |
|---|---|
datacenter |
Data Center. |
sand |
Sand. |
bridge |
Bridge. |
station |
Station. |
containeryard |
Container Yard. |
santorini |
Santorini. |
siberia |
Siberia. |
industry |
Industry. |
bunker |
Bunker. |
foundation |
Foundation. |
hospital |
Hospital. |
carnival |
Carnival. |
killhouse |
Killhouse. |
range |
Firing Range. |
Ночные версии карт
Для некоторых карт доступны ночные варианты. Обычно они задаются добавлением _night к ID карты.
Примеры:
datacenter_night
sand_night
station_night
siberia_night
santorini_night
industry_night
containeryard_nightПодключение к серверу
IP-адрес и порт сервера отображаются во вкладке «Network» панели управления.
Подключение выполняется через браузер серверов Pavlov VR или через Direct Connect.
Для прямого подключения используйте формат:
IP:SERVER_PORTСервер не появляется в браузере
Проверьте:
- заполнена переменная
API_KEY; - сервер полностью запущен;
- в
Game.iniестьbEnabled=true; - указан корректный
ServerName; - основной порт
SERVER_PORTвыделен серверу; - дополнительный порт
SERVER_PORT + 400выделен серверу; - после запуска прошло несколько минут;
- в консоли нет критических ошибок запуска.
Пинг отображается как 999
Если сервер отображается, но пинг всегда 999, чаще всего не выделен или недоступен дополнительный status/helper-порт.
Проверьте основной порт сервера:
SERVER_PORTПрибавьте к нему 400:
SERVER_PORT + 400Пример:
63823 + 400 = 64223В этом случае серверу должны быть выделены оба порта:
63823
64223Карта отображается как datacenter
Если в браузере серверов или логах отображается карта datacenter, значит сервер реально загрузил карту datacenter.
Проверьте первую строку MapRotation в файле:
Pavlov/Saved/Config/LinuxServer/Game.iniЕсли первой стоит строка:
MapRotation=(MapId="datacenter", GameMode="SND")сервер будет начинать именно с этой карты.
Чтобы изменить стартовую карту, поставьте нужную карту первой в ротации.
Рекомендации
- сразу замените
RCON_PASSWORD=CHANGE_ME; - не публикуйте
API_KEY; - перед редактированием
Game.iniостанавливайте сервер; - для публичного сервера используйте
bSecured=true; - не завышайте
TickRateбез необходимости; - проверяйте совместимость карт и режимов;
- добавляйте серверу порт
SERVER_PORT + 400; - после изменения карты, режима или API-ключа перезапускайте сервер.
Файлы и параметры, которые рекомендуется проверить при настройке Pavlov VR:
Pavlov/Saved/Config/LinuxServer/Game.ini
Pavlov/Saved/Config/RconSettings.txt
API_KEY
RCON_PASSWORD
RCON_PORT
SERVER_PORT
SERVER_PORT + 400