Um servidor dedicado de Killing Floor 2 é tranquilo depois que você conhece as duas manhas dele: você tem que dar boot uma vez antes de editar qualquer config, e ele não tem RCON, então você o gerencia por um painel web. Acerte essas duas e o resto é uma configuração de cinco minutos. Aqui está tudo.
Instale o servidor
O servidor dedicado do KF2 é o app 232130 e instala anonimamente (sem login na Steam, você não precisa ter o jogo na conta do servidor):
./steamcmd.sh +login anonymous \
+app_update 232130 validate \
+quitImportante: use validate somente na PRIMEIRA instalação. Rodar app_update 232130 validate de novo mais tarde apaga seus arquivos INI de KFGame/Config. Para atualizar depois, tire a palavra validate.
O detalhe: dê boot uma vez antes de editar qualquer coisa
O KF2 regenera seus arquivos de config no primeiro boot e sobrescreve tudo o que você tiver colocado ali antes. Então a ordem é: instalar, dar boot uma vez, parar, E DEPOIS editar. Dê boot uma vez com os args padrão:
./Binaries/Win64/KFGameSteamServer.bin.x86_64 KF-BioticsLabDeixe chegar em "steam initialised" e então pare com Ctrl+C. Ele agora escreveu os arquivos que você vai editar, em:
<install>/KFGame/Config/Configurações do servidor: LinuxServer-KFGame.ini
Abra KFGame/Config/LinuxServer-KFGame.ini e defina estas chaves. Elas ficam em seções diferentes, então procure cada cabeçalho de seção:
[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)Ative o painel Web Admin (o KF2 não tem RCON)
O KF2 não tem RCON nenhum. Tudo o que você normalmente faria por um console, expulsar jogadores, trocar mapas, ler logs, acontece em um painel Web Admin no navegador que vem DESATIVADO. Ative-o em KFGame/Config/LinuxServer-KFWeb.ini:
[IpDrv.WebServer]
bEnabled=true
ListenPort=8080Depois que o servidor estiver rodando, abra http://your.server.ip:8080 em um navegador e faça login com o usuário Admin e o AdminPassword que você definiu acima. Abra a porta 8080/TCP no seu firewall.
A linha de lançamento
O KF2 aceita um argumento em estilo de URL que combina o mapa, o modo de jogo e overrides por boot, e depois algumas flags para as portas:
./Binaries/Win64/KFGameSteamServer.bin.x86_64 \
KF-BioticsLab?Game=KFGameContent.KFGameInfo_Survival?Difficulty=1?GameLength=1 \
-Port=7777 -QueryPort=27015 -WebAdminPort=8080- KF-BioticsLab é o mapa inicial. Troque por qualquer mapa KF- (KF-Outpost, KF-Nuked, KF-VolterManor…).
- Game= escolhe o modo: KFGameInfo_Survival (co-op), KFGameInfo_WeeklySurvival, KFGameInfo_VersusSurvival, ou KFGameInfo_Endless.
- Difficulty e GameLength na URL sobrescrevem o INI para aquele boot, útil para mudanças rápidas sem editar arquivos.
- Abra 7777/UDP (jogo), 27015/UDP (query da Steam) e 8080/TCP (web admin) no seu firewall.
O único detalhe: seis jogadores
O KF2 vanilla limita um servidor em seis jogadores. Definir MaxPlayers acima de 6 no INI não faz nada: a engine trava de volta em 6. Esse é o tamanho de co-op pretendido e não precisa de mod nenhum. Se você quer mais que seis, precisa de um mutator de servidor (o popular lê o limite real de um valor ?MaxPlayers= na URL de lançamento, não do INI) mais um ?MaxMonsters= correspondente para que os jogadores extras ainda tenham Zeds para enfrentar.