Выделенный сервер KF2 через SteamCMD - конфиги и Workshop
Эта страница пересказывает популярный англоязычный гайд Steam по установке выделенного сервера Killing Floor 2 на Windows через SteamCMD. В отличие от гайда по серверу с кастомными картами и модами, здесь упор на ручную правку конфигов: сложность, MOTD, имя сервера, режим Versus и подписки Workshop.
Перед началом
Откройте на роутере порты:
| Порт | Протокол | Назначение |
|---|---|---|
| 7777 | UDP | Порт сервера (игра) |
| 27015 | UDP | Мастер-сервер / запросы |
| 8080 | TCP | WebAdmin |
| 20560 | UDP | Порт Steam |
Нужно минимум 31 ГБ свободного места. Про роутер и файрвол - в статье порты сервера и NAT.
1. Скачайте SteamCMD
Архив SteamCMD от Valve: https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip. Распакуйте в отдельную папку (автор гайда держит серверы в C:\Steam-Server\).
2. Вход
Запустите steamcmd.exe. Через несколько секунд можно вводить команды:
login anonymous
3. Загрузка файлов сервера
force_install_dir ./kf2_ds/
app_update 232130 validate
Когда загрузка закончится, введите exit, чтобы закрыть SteamCMD.
4. Запуск сервера
В папке kf2_ds появится bat-файл. В нем прописаны стартовая карта и пароль администратора, позже мы будем его править. По умолчанию запускается сервер Survival, а не Versus. Чтобы остановить сервер, просто закройте его окно.
5. Настройка сервера
Сложность
В гайде сложность задается в kf2_ds\KFGame\Config\DefaultGame.ini:
[Engine.GameInfo]
GameDifficulty=0.000000
| Значение | Сложность |
|---|---|
| 0 | Normal |
| 1 | Hard |
| 2 | Suicidal |
| 3 | Hell on Earth |
MOTD, баннер и сайт
Ниже в том же файле, в секции [KFGame.KFGameInfo]:
BannerLink=http://art.tripwirecdn.com/TestItemIcons/MOTDServer.png
ServerMOTD=Welcome to our server. \n \n Have fun and good luck!
WebsiteLink=http://killingfloor2.com/
\n - перенос строки в сообщении дня.
Режим Versus
Режим игры выбирается в строке запуска в bat-файле. Добавьте:
?Game=KFGameContent.KFGameInfo_VersusSurvival
О самом режиме: KF2 Versus Survival.
Имя сервера
В PCServer-KFGame.ini:
ServerName=
ShortName=
6. WebAdmin
Сначала WebAdmin нужно включить. В kf2_ds\KFGame\Config\DefaultWeb.ini замените:
bEnabled=false
на:
bEnabled=true
Затем откройте в браузере IP сервера и порт WebAdmin, например 127.0.0.1:8080 на самом ПК с сервером. Вход по умолчанию:
- Логин:
admin - Пароль:
123(задается в bat-файле - смените его)
7. Предметы Steam Workshop
Откройте kf2_ds\KFGame\Config\PCServer-KFEngine.ini и найдите блок [OnlineSubsystemSteamworks.OnlineSubsystemSteamworks] (в нем строки вроде bUseVAC=true, GameDir=kf2, ProfileDataExtention=PFD). Под этим блоком добавьте новую секцию, по строке на каждый предмет Workshop:
[OnlineSubsystemSteamworks.KFWorkshopSteamworks]
ServerSubscribedWorkshopItems=605633924
ServerSubscribedWorkshopItems=605551918
ID - это число в конце ссылки на Workshop. Для http://steamcommunity.com/sharedfiles/filedetails/?id=535769647 это 535769647.
Совет из комментариев: на Windows-серверах контент Workshop может не скачиваться при старте, а в логе появляется "Attempting to check if item ... is installed without having downloaded it". Один игрок выяснил, что сервер скачивал предмет только при смене карты через WebAdmin.
Вопросы и ответы из гайда
Мой сервер никто не видит и не может зайти. Проверьте, что проброшены все порты из таблицы. Если все верно, а проблема осталась, обращайтесь к провайдеру. Инструкции под конкретные роутеры собраны на portforward.com.
Можно ли обойтись без проброса портов? Да: хостить через VPN-сеть вроде Hamachi. Зайти смогут только участники этой VPN-сети.
Как сменить порт сервера? Добавьте ключ порта в строку запуска в bat-файле (в гайде показан -port 27015).
Загрузка в SteamCMD оборвалась. Обычно помогает просто повторить загрузку.
Как обновить сервер? Откройте SteamCMD, снова войдите и повторите шаг загрузки. SteamCMD сам проверит, какие файлы нужно обновить.
Как проверить сервер из интернета? Узнайте внешний IP на сайте вроде whatismyip.com и подключитесь к нему через консоль игры или добавьте в избранное.
WebAdmin отвечает 404 Not Found. У одного комментатора порт 8080 уже занимала другая программа; перенос WebAdmin на другой порт в конфиге помог.
Автоматизация
Автор гайда также написал отдельную утилиту ServerTool для установки и обновления серверов (на GitHub - Zeromix9/ServerTool). Более распространенный вариант именно для KF2 - KF2ServerTool.
Вопросы и ответы
- Сколько места на диске нужно серверу KF2?
- Гайд требует минимум 31 ГБ свободного места под файлы сервера.
- Как вручную добавить карты из Workshop на сервер KF2?
- В PCServer-KFEngine.ini добавьте секцию [OnlineSubsystemSteamworks.KFWorkshopSteamworks] и по строке ServerSubscribedWorkshopItems=<ID> на каждый предмет. ID - число в конце ссылки на Workshop.
- Как сделать сервер KF2 режима Versus?
- Добавьте ?Game=KFGameContent.KFGameInfo_VersusSurvival в строку запуска в bat-файле сервера.
- WebAdmin выдает 404 Not Found. В чем дело?
- У одного игрока порт 8080 уже занимала другая программа. Смена порта WebAdmin в конфиге решила проблему.