Serwer dedykowany Killing Floor 2 jest prosty, gdy poznasz jego dwie osobliwości: musisz go raz uruchomić, zanim zaczniesz edytować jakąkolwiek konfigurację, i nie ma RCON, więc zarządzasz nim z panelu web. Ogarnij te dwie rzeczy, a reszta to pięciominutowa konfiguracja. Oto całość.
Zainstaluj serwer
Serwer dedykowany KF2 to app 232130 i instaluje się anonimowo (bez logowania do Steam, nie musisz posiadać gry na koncie serwera):
./steamcmd.sh +login anonymous \
+app_update 232130 validate \
+quitWażne: użyj validate tylko przy PIERWSZEJ instalacji. Ponowne uruchomienie app_update 232130 validate później kasuje Twoje pliki INI w KFGame/Config. Do późniejszych aktualizacji pomiń słowo kluczowe validate.
Haczyk: uruchom raz, zanim cokolwiek edytujesz
KF2 regeneruje swoje pliki konfiguracyjne przy pierwszym starcie i nadpisuje wszystko, co wcześniej tam wstawisz. Więc kolejność jest taka: zainstaluj, uruchom raz, zatrzymaj, DOPIERO POTEM edytuj. Uruchom go raz ze standardowymi argumentami:
./Binaries/Win64/KFGameSteamServer.bin.x86_64 KF-BioticsLabPoczekaj, aż dojdzie do "steam initialised", a potem zatrzymaj go przez Ctrl+C. Zapisał teraz pliki, które za chwilę będziesz edytować, w:
<install>/KFGame/Config/Ustawienia serwera: LinuxServer-KFGame.ini
Otwórz KFGame/Config/LinuxServer-KFGame.ini i ustaw te klucze. Znajdują się w różnych sekcjach, więc wyszukaj każdy nagłówek sekcji:
[Engine.GameInfo]
GameDifficulty=1.000000 ; 0=Normal 1=Hard 2=Suicidal 3=Hell on Earth
MaxPlayers=6 ; see "six players" below
[Engine.AccessControl]
AdminPassword=pick-a-secret ; login for the web panel
GamePassword=friends-only ; leave blank for open, set to lock the server
[Engine.GameReplicationInfo]
ServerName=My Private KF2 Server
[KFGame.KFGameInfo]
GameLength=1 ; 0=short (4 waves) 1=medium (7) 2=long (10)Włącz panel Web Admin (KF2 nie ma RCON)
KF2 nie ma w ogóle RCON. Wszystko, co normalnie robiłbyś przez konsolę, wyrzucanie graczy, zmiana map, czytanie logów, dzieje się w panelu Web Admin w przeglądarce, który jest dostarczany WYŁĄCZONY. Włącz go w KFGame/Config/LinuxServer-KFWeb.ini:
[IpDrv.WebServer]
bEnabled=true
ListenPort=8080Gdy serwer już działa, otwórz http://your.server.ip:8080 w przeglądarce i zaloguj się użytkownikiem Admin oraz hasłem AdminPassword ustawionym powyżej. Otwórz port 8080/TCP w firewallu.
Linia startowa
KF2 przyjmuje jeden argument w stylu URL, który łączy mapę, tryb gry i nadpisania przy starcie, a potem kilka flag dla portów:
./Binaries/Win64/KFGameSteamServer.bin.x86_64 \
KF-BioticsLab?Game=KFGameContent.KFGameInfo_Survival?Difficulty=1?GameLength=1 \
-Port=7777 -QueryPort=27015 -WebAdminPort=8080- KF-BioticsLab to mapa startowa. Zamień na dowolną mapę KF- (KF-Outpost, KF-Nuked, KF-VolterManor…).
- Game= wybiera tryb: KFGameInfo_Survival (kooperacja), KFGameInfo_WeeklySurvival, KFGameInfo_VersusSurvival albo KFGameInfo_Endless.
- Difficulty i GameLength w URL nadpisują INI dla tego startu, przydatne do szybkich zmian bez edycji plików.
- Otwórz 7777/UDP (gra), 27015/UDP (zapytanie Steam) i 8080/TCP (web admin) w firewallu.
Jeden haczyk: sześciu graczy
Vanilla KF2 ogranicza serwer do sześciu graczy. Ustawienie MaxPlayers wyżej niż 6 w INI nic nie daje: silnik zaciska to z powrotem do 6. To zamierzony rozmiar kooperacji i nie wymaga żadnych modów. Jeśli chcesz więcej niż sześciu, potrzebujesz mutatora serwerowego (ten popularny odczytuje prawdziwy limit z wartości ?MaxPlayers= w URL startowym, a nie z INI) plus pasującego ?MaxMonsters=, żeby dodatkowi gracze wciąż mieli Zedy do walki.