Server dedicated Killing Floor 2 khá đơn giản khi bạn nắm được hai điểm lạ của nó: phải khởi động server một lần trước khi chỉnh bất kỳ config nào, và nó không có RCON nên bạn quản lý qua web panel. Nắm được hai điều đó thì phần còn lại chỉ mất năm phút cài đặt. Đây là toàn bộ hướng dẫn.
Cài server
KF2 dedicated server là app 232130 và cài ẩn danh (không cần đăng nhập Steam, bạn không cần sở hữu game trên tài khoản của server):
./steamcmd.sh +login anonymous \
+app_update 232130 validate \
+quitQuan trọng: chỉ dùng validate cho lần cài ĐẦU TIÊN. Chạy lại app_update 232130 validate sau này sẽ xóa sạch các file INI trong KFGame/Config. Để cập nhật về sau, bỏ từ khóa validate đi.
Cái bẫy: boot một lần trước khi sửa bất cứ gì
KF2 tạo lại các file config ở lần boot đầu và ghi đè mọi thứ bạn đặt sẵn trước đó. Nên thứ tự là: cài, boot một lần, dừng, RỒI mới sửa. Boot nó một lần với tham số mặc định:
./Binaries/Win64/KFGameSteamServer.bin.x86_64 KF-BioticsLabĐể nó chạy đến "steam initialised", rồi dừng bằng Ctrl+C. Giờ nó đã ghi ra các file bạn sắp sửa, tại:
<install>/KFGame/Config/Cài đặt server: LinuxServer-KFGame.ini
Mở KFGame/Config/LinuxServer-KFGame.ini và đặt các key sau. Chúng nằm ở các section khác nhau, nên hãy tìm từng header section:
[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)Bật Web Admin panel (KF2 không có RCON)
KF2 hoàn toàn không có RCON. Mọi thứ bạn thường làm qua console, như kick người chơi, đổi map, xem log, đều thực hiện qua Web Admin panel trên trình duyệt, mặc định bị TẮT. Bật nó trong KFGame/Config/LinuxServer-KFWeb.ini:
[IpDrv.WebServer]
bEnabled=true
ListenPort=8080Khi server đã chạy, mở http://your.server.ip:8080 trên trình duyệt và đăng nhập với user Admin cùng AdminPassword bạn đã đặt ở trên. Mở port 8080/TCP trong firewall.
Dòng lệnh khởi động
KF2 nhận một tham số dạng URL gộp map, mode và các thiết lập ghi đè cho từng lần khởi động, cộng thêm vài flag cho port:
./Binaries/Win64/KFGameSteamServer.bin.x86_64 \
KF-BioticsLab?Game=KFGameContent.KFGameInfo_Survival?Difficulty=1?GameLength=1 \
-Port=7777 -QueryPort=27015 -WebAdminPort=8080- KF-BioticsLab là map khởi đầu. Đổi sang bất kỳ map KF- nào (KF-Outpost, KF-Nuked, KF-VolterManor…).
- Game= chọn mode: KFGameInfo_Survival (co-op), KFGameInfo_WeeklySurvival, KFGameInfo_VersusSurvival, hoặc KFGameInfo_Endless.
- Difficulty và GameLength trên URL sẽ ghi đè INI cho lần khởi động đó, tiện để đổi nhanh mà không phải sửa file.
- Mở 7777/UDP (game), 27015/UDP (Steam query) và 8080/TCP (web admin) trong firewall.
Điểm cần lưu ý: 6 người chơi
KF2 gốc giới hạn server ở 6 người chơi. Đặt MaxPlayers cao hơn 6 trong INI cũng vô ích: engine sẽ kéo về lại 6. Đó là số người co-op đúng thiết kế và không cần mod gì cả. Nếu muốn hơn 6 người, bạn cần một server mutator (bản phổ biến đọc giới hạn thật từ giá trị ?MaxPlayers= trên URL khởi động, không phải từ INI) kèm ?MaxMonsters= tương ứng để người chơi thêm vào vẫn có Zed để đánh.