Свой сервер

Выделенный сервер KF2 за 10 шагов (японское руководство)

Это краткое японское руководство проводит по настройке выделенного сервера Killing Floor 2 на Windows за десять шагов: скрипт SteamCMD, файл запуска, порты роутера, начальные настройки, WebAdmin и кастомные карты. Оно компактное и практичное, поэтому хорошо подходит как чек-лист рядом с более подробным руководством по серверу через SteamCMD.

Запуск сервера

Шаг 1. Скачайте steamcmd.zip у Valve. Создайте папку steamcmd прямо на диске C и положите туда steamcmd.exe.

Шаг 2. В этой папке создайте текстовый файл kf2_ds.txt из четырёх строк:

login anonymous
force_install_dir ./kf2server
app_update 232130 validate
exit

Шаг 3. Создайте bat-файл, например download.bat, со строкой SteamCmd +runscript kf2_ds.txt. Запуск создаст папку kf2server и скачает файлы сервера. Запускайте его снова после обновлений игры (автор слышал об автообновлении, но не проверял).

Шаг 4. Отредактируйте C:\steamcmd\kf2server\KF2Server.bat, задав строку запуска, например start .\Binaries\win64\kfserver kf-bioticslab?adminpassword=123. Значение 123 - пароль администратора по умолчанию, его нужно сменить в целях безопасности. Дальше сервер запускается через KF2Server.bat. Чтобы остановить, закройте окно.

Открытие портов

Шаг 5. В настройках роутера или модема пробросьте эти порты на свой ПК (статическая IP-маскировка или port mapping):

  • UDP 7777
  • UDP 20560
  • UDP 27015
  • TCP 8080, только если нужно администрирование извне

Начальная настройка

Шаг 6. Отредактируйте C:\steamcmd\kf2server\KFGame\Config\PCServer-KFGame.ini:

  • MaxPlayers: максимум игроков; больше 6 требует мутатора.
  • MaxSpectators: зрители считаются среди 6 участников.
  • GameDifficulty: 0 Normal, 1 Hard, 2 Suicidal, 3 Hell on Earth.
  • AdminPassword: нужен для WebAdmin.
  • GamePassword: необязательный пароль на вход.
  • ServerName: имя сервера.
  • bPartitionSpectators: разрешить наблюдение (True или False).

WebAdmin

Шаг 7. В DefaultWeb.ini и KFWeb.ini поставьте bEnabled=True, затем откройте http://localhost:8080. Логин administrator, пароль - тот, что задан в строке запуска на шаге 4. WebAdmin умеет показывать состояние сервера, общаться с игроками в игровом чате, принудительно менять карту, править список карт, банить по IP или Steam ID, а также запускать голосования за карту и кик.

Кастомные карты

Шаг 8. Положите скачанный KF-xxxxxx.kfm в C:\SteamCmd\kf2server\KFGame\BrewedPC\Maps\ (подпапки допустимы). Затем в PCServer-KFGame.ini рядом с блоком

[KF-BioticsLab KFMapSummary]
MapName=KF-BioticsLab
ScreenshotPathName=UI_MapPreview_TEX.UI_MapPreview_BioticsLab

добавьте новый раздел [KF-xxxxxx KFMapSummary] с MapName=KF-xxxxxx и сохраните.

Шаг 9. Откройте WebAdmin, перейдите в Settings, затем Map Cycles. Ваша карта появится в таблице Available Maps слева. Перетащите её в Map Cycles справа и нажмите Save Map Cycle. Можно править и ini напрямую, но через веб проще.

Шаг 10. Включите автозагрузку карт для клиентов. Встроенный веб-сервер KF2 очень медленный, поэтому настройте редирект на отдельный веб-сервер. В PCServer-KFEngine.ini в разделе [IpDrv.HTTPDownload] задайте RedirectToURL=http://yourhost.example/. Если карты там нет, поднимите свой веб-сервер или используйте арендованное веб-пространство и положите файлы туда.

Источники

В оригинале приведены страница официальной вики Tripwire о выделенном сервере KF2 и официальный форум по настройке серверов. См. также редирект кастомных карт через nginx.

Вопросы и ответы

Какие порты нужно пробросить для сервера KF2?
UDP 7777, UDP 20560 и UDP 27015. TCP 8080 нужен только если вы хотите управлять WebAdmin извне.
Как ускорить загрузку кастомных карт?
В PCServer-KFEngine.ini в разделе [IpDrv.HTTPDownload] задайте RedirectToURL на внешний веб-сервер с файлами карт: встроенный веб-сервер передаёт данные очень медленно.
Сколько игроков вмещает сервер?
Лимит задаётся MaxPlayers в PCServer-KFGame.ini. Больше 6 требует мутатора, а зрители учитываются среди 6 участников.