Killing Floor 2: Como criar um servidor dedicado

@bruno-kitsune

Se divertir em um jogo cooperativos com nossos amigos é algo bem divertido, não é verdade? Fazer isto em nosso próprio servidor é algo mais divertido ainda! Hoje eu vou ensinar como criar um servidor dedicado para o jogo Killing Floor 2!

Mas atenção, antes de começarmos, gostaria de destacar algumas coisas:

  • Você precisará de um roteador com o recurso Universal Plug and Play (uPnP) ativo. Se seu roteador não contar com este recurso, será necessário liberar as respectivas portas manualmente.
  • Caso você utilize um software de firewall específico será necessário liberar o acesso do programa e de suas respectivas portas. Na impossibilidade de se fazer isto, será preciso desabilitar o firewall temporariamente enquanto o servidor estará sendo executado.
  • O servidor será configurado com recursos básicos, eu não irei abordar neste tutorial a compatibilidade com a Workshop da Steam, versões de testes e outras ferramentas avançadas.
  • O servidor será criado com as ferramentas oficiais, ou seja, será necessário possuir o jogo original para poder entrar no servidor que vamos criar abaixo.
  • O servidor foi criado na versão de jogo v1032, se você está lendo este tutorial em data posterior, pode ser que algumas dicas não sejam mais válidas, portanto fique atento.
  • Na versão que criamos este tutorial, o jogo e o servidor só estavam disponíveis em plataformas de 64 bits. Se você está usando um computador com sistema 32 bits, este tutorial não irá funcionar.

Vamos começar?

SteamCMD

O SteamCMD é uma ferramenta oficial da Valve que nós vamos utilizar durante este processo. Para realizar o download do SteamCMD, clique aqui.

Com o auxílio de um programa que extraia arquivos, como o WinRAR ou o 7-Zip, extraia o conteúdo deste arquivo para uma pasta, como por exemplo: C:\Jogos\SteamCMD\. Não extraia este conteúdo na mesma pasta da Steam!

Após extrair o conteúdo, execute o programa steamcmd.exe. O programa irá executar o download da versão mais recente com tudo o que for necessário para o funcionamento adequado. Você saberá que o processo acabou quando a última linha ficar mostrando de forma constante: “Steam>” (conforme você pode ver na imagem que está no início desta seção). Concluído esta etapa, feche o programa.

Agora será necessário instalar o servidor do Killing Floor 2. Para facilitar o processo, eu já deixei tudo pronto para você! Basta clicar aqui e realizar o download do arquivo. Em seguida, extraia o conteúdo na mesma pasta que você colocou o SteamCMD.

Vão haver dois arquivos, kf2_instalar.bat e kf2_atualizar.bat. Como o próprio nome sugere, para a primeira instalação você irá executar o arquivo kf2_instalar.bat e sempre que houver alguma atualização do Killing Floor, você precisará executar o arquivo kf2_atualizar.bat.

Execute o arquivo kf2_instalar.bat e aguarde o processo ser concluído. Isto poderá demorar algumas horas, dependendo da velocidade da sua conexão. Você saberá que o processo acabou  quando a última linha ficar mostrando de forma constante: “Steam>”

Por padrão, o conteúdo será instalado dentro em uma pasta chamada “kf2server_www.brunokitsune.net”, que estará presente dentro da pasta escolhida por você para colocar o SteamCMD.

Pré-requisitos

Para poder executar o servidor, além do que foi mencionado no começo do tutorial, serão necessárias algumas ferramentas. Por sorte os desenvolvedores do jogo já deixaram tudo pronto para nós.

Dentro da pasta aonde foi instalado o servidor, abra a pasta Binaries, em seguida abra a pasta Redist e execute o arquivo UE3Redist.exe. Faça a instalação deste software.

Nós mencionamos no começo do tutorial que, caso o seu roteador não possua o recurso uPnP, ou se este recurso estiver desabilitado, será necessário abrir várias portas no seu roteador. As portas padrões são: TCP – 8080 e UPD – 7777, 27015, 20560. Se você não sabe se o seu roteador vai funcionar corretamente ou não, recomendo você a continuar o tutorial e, em caso de problemas, fazer a liberação manual que mencionamos no parágrafo abaixo.

Existem vários sites na Internet que auxiliam a configurar manualmente a liberação de portas. Eu particularmente gosto bastante deste site. Basta escolher o fabricante do seu roteador, em seguida escolher o modelo do roteador e por fim, o jogo que você deseja liberar. Lembre-se de ignorar as propagandas sugerindo a instalação do software deles.

Correção importante - Update 1055

Houve uma alteração importante e vital para a execução do servidor no Update 1055, agradeço imensamente ao Kekko42, que entrou em contato comigo para informar sobre esta informação. O servidor fica criando mensagens associadas a um módulo chamado DevOnline, que não nos permite ver as informações que serão mostradas logo em seguir, o comando abaixo vai fazer com que este curso seja escondido.

PCServer-KFEngine.ini

Abra o arquivo PCServer-KFEngine.ini em \KFGame\Config\.

Encontre a seção [Core.System]. Crie uma linha em branco logo abaixo, e digite o seguinte:

Suppress=DevOnline

Criando arquivos de configuração

Conforme as instruções oficiais do criador do jogo, nós precisamos executar o nosso servidor uma vez para que ele gere todos os arquivos pertinentes a configuração avançada. Para isto, execute o arquivo KF2Server.bat, presente no diretório raiz do servidor (ou seja, por padrão este arquivo deve estar “solto” dentro da pasta kf2server_www.brunokitsune.net).

Aguarde o programa concluir devidamente o carregamento e em seguida feche o programa.

Você saberá que o processo foi concluído quando você ver na janela uma linha com o conteúdo: Log: Steam game server UID: XXXXXXXXXXXXXXXXX (aonde X representa um número de 0-9), conforme é possível ver na imagem de exemplo presente no início desta seção.

Configuração do Servidor

Nesta seção vamos configurar internamente o servidor, escolhendo a senha dos administradores, senha do jogo, nome do servidor, entre outros. Lembre-se de fazer estas alterações quando o servidor não estiver sendo executado!

PCServer-KFGame.ini

Abra o arquivo PCServer-KFGame.ini em \KFGame\Config\.

Senhas do servidor:

Encontre a seção [Engine.AccessControl]. Dentro dela, as variáveis que nos interessam são AdminPassword e GamePassword. O primeiro é a senha para os administradores e o segundo a senha para conectar ao seu servidor (este é opcional e deve ser usado apenas se você desejar um servidor privado).

Você deve usar caracteres alfanuméricos (número e letras), como por exemplo:

AdminPassword=A1b2C34D
GamePassword=

Neste caso eu coloquei a senha para os administradores como A1b2C34D e o jogo não possui senha para conectar, ou seja, é um jogo público.

Nome do servidor:

Encontre a seção [Engine.GameReplicationInfo]. Dentro dela, as variáveis que nos interessam são ServerName e AdminContact. O primeiro é o nome do servidor e o segundo é o e-mail de contato do administrador.

Você deve usar caracteres alfanuméricos (número e letras), como por exemplo:

ServerName=Bruno Kitsune Server
[email protected]

Tela de boas-vindas:

Encontre a seção [KFGame.KFGameInfo]. Dentro dela, as variáveis que nos interessam são BannerLink, ServerMOTD e WebsiteLink. 

  • BannerLink é a imagem do seu servidor. Esta imagem deve ser um PNG de 8bits.
  • ServerMOTD é a mensagem que irá aparecer logo abaixo do logo. Use o texto \n para pular uma linha.
  • WebsiteLink é o link para o seu site (opcional).

Você deve usar caracteres alfanuméricos (números e letras). Por exemplo:

BannerLink=http://www.exemplo.net/serverlogo.png
ServerMOTD=Seja bem-vindo a este servidor. \n \n Se divirta e bom jogo!
WebsiteLink=http://www.exemplo.net

KFWeb.ini

Abra o arquivo KFWeb.ini em \KFGame\Config\.

Ligando o WebAdmin:

Encontre a seção [IpDrv.WebServer]. Dentro dela, a variável que nos interessa é bEnabled. Para que o administrador via Internet funcione, será necessário deixar esta variável como “true” (o padrão é “false”).

bEnabled=true

Opcionalmente, se você desejar modificar a porta de conexão, poderá o fazer na variável ListenPort, que está nesta mesma seção. Apenas lembrando que se o seu roteador não possui uPnP, será necessário liberar manualmente a porta escolhida.

Opções de execução

Nós podemos modificar muitas variáveis de um servidor sem ficar procurando os arquivos de configuração, para tal, basta usar algumas variáveis no arquivo KF2Server.bat, que está presente no diretório raiz do servidor (ou seja, por padrão este arquivo deve estar “solto” dentro da pasta kf2server_www.brunokitsune.net).

Para editar o arquivo, basta pressionar o botão auxiliar do mouse sobre o arquivo e escolher a opção editar, conforme é possível observar na imagem abaixo.

O arquivo deve ter um conteúdo semelhante ao abaixo:

start .\Binaries\win64\kfserver kf-bioticslab?adminpassword=123

A primeira coisa que podemos mudar é o mapa inicial do jogo. Neste exemplo está selecionado o mapa kf-bioticslab, mas você pode escolher outros, como por exemplo: kf-burningparis, kf-outpost, kf-voltermanor, kf-catacombs e kf-evacuationpoint.

Todas as variáveis deste arquivo são precedidas pelo símbolo “?” e o seu valor deve ser apresentado após o símbolo de “=”, como por exemplo:

start .\Binaries\win64\kfserver kf-bioticslab?variavel=valor?variavel2=valor2

Lembre-se que todas as variáveis colocadas aqui substituem as mudanças que fizemos nos arquivos de configuração! Se você não definir estas variáveis, ele vai usar as informações presentes nos arquivos de configuração, portanto nenhuma delas é obrigatória. Segue algumas variáveis:

  • AdminName= Nome do administrador para se conectar ao webadmin. Se não for definido, o usuário será: admin. (Alfanumérico)
  • AdminPassword= Senha mestre do administrador do servidor. (Alfanumérico)
  • MaxPlayers= Número máximo de jogadores. (Números – até 6 para o modo sobrevivência e até 12 no modo competitivo).
  • Difficulty= Número da dificuldade (Números – 0 = Normal; 1 = Difícil; 2 = Suicídio e 3= Inferno na Terra).
  • Port= Porta do jogo. (Números)
  • QueryPort= Porta de consulta. (Números)
  • WebAdminPort= Porta do WebAdmin. (Números)
  • Multihome= Se você usa mais de um IP na mesma máquina defina qual delas estará o servidor. Útil se você usa duas redes ao mesmo tempo. (Alfanumérico).
  • PREFERREDPROCESSOR= Isto fará com que a o servidor seja executado apenas em um núcleo do processador determinado por você. (Números)

Segue abaixo dois exemplos:

start .\Binaries\win64\kfserver kf-burningparis?adminpassword=A1b2C34D?Difficulty=1?Port=8093?QueryPort=8094?WebAdminPort=8095?MaxPlayers=4?Multihome=192.168.137.74

start .\Binaries\win64\kfserver kf-voltermanor?adminpassword=A1b2C34D?Difficulty=3?WebAdminPort=8095?PREFERREDPROCESSOR=2

Estes comandos acima são para o jogo cooperativo. Se você deseja jogar o modo competitivo, a linha de comando inicial é modificada, como no exemplo abaixo:

.\Binaries\Win64\KFGame.exe Server KF-BurningParis?Game=KFGameContent.KFGameInfo_VersusSurvival?maxplayers=12

Neste modo de jogo, apenas alguns mapas estão disponíveis, e são eles: kf-burningparis; kf-bioticslab; kf-prison; kf-voltormanor e kf-farmhouse.

Lembre-se de salvar o seu arquivo!

Descobrindo o seu IP

Antes de continuarmos, vamos descobrir duas variáveis: o seu IP externo e o seu IP interno.

IP Local:

É o seu IP dentro de sua rede local. Para descobrir é muito simples. Pressione Windows + R. Na janela que se abriu, digite “cmd” (sem as aspas) e pressione o botão Enter.

Na janela que se abriu, digite “ipconfig” (sem as aspas) e pressione o Enter. Na lista de informações que apareceram, uma se refere ao adaptador de rede que você está usando. Dentro desta variável, você verá o endereço de IPv4, como na imagem abaixo:

Neste exemplo, o meu IP local é 192.168.137.74.

IP Externo:

A forma mais fácil de descobrir o seu IP externo é acessando um site que forneça esta informação, como por exemplo este link.

Neste site de exemplo, a informação será apresentada como na imagem abaixo:

Neste exemplo, o meu IP externo é 52.23.153.97. 

Acessando o seu servidor: 

Antes de continuarmos, tenha certeza que o arquivo KF2Server.bat está sendo executado com sucesso. Você saberá que o processo foi concluído quando você ver na janela uma linha com o conteúdo: Log: Steam game server UID: XXXXXXXXXXXXXXXXX (aonde X representa um número de 0-9), conforme é possível ver na imagem abaixo.

Você: 

Para acessar o administrador via Internet, basta abrir o navegador de internet e digitar o seu IP local seguido da porta que você escolheu para o WebAdmin, como por exemplo: http://192.168.137.74:8080. 

A porta que você deve colocar neste comando é a colocada na variável WebAdminPort. Se você não escolheu nenhuma, a porta padrão é 8080.

O usuário para acessar o painel é o que você definiu na variável AdminName (se você não definiu esta variável, o usuário é admin) e a senha é a que você definiu na variável AdminPassword (se você não definiu está variável, é porque você é descuidado! Edite novamente o arquivo KF2Server.bat e coloque uma senha de administrador).

Para acessar o seu servidor através do jogo, você tem duas opções: A primeira, e mais simples, é achar o seu servidor na lista de servidores do próprio jogo. Outra solução é abrir o console (tecla ‘), e digitar o comando open, seguido do IP local e da porta do jogo, como por exemplo “open 192.168.137.74:7777” (sem aspas).

A porta que você deve colocar neste comando é a colocada na variável Port. Se você não escolheu nenhuma, a porta padrão é 7777.

Visitantes: 

O processo é praticamente o mesmo, a única diferença é que ao invés de se usar o IP local, eles devem usar o IP externo, como por exemplo: http://52.23.153.97:8080 para o WebAdmin e “open 52.23.153.97:7777” (sem aspas) para o jogo.

Para abrir o jogo também é possível procurar o seu servidor na lista de servidores do jogo.


Por enquanto é isto, pessoal! Espero que vocês tenham gostado deste tutorial! Se houver alguma dúvida, crítica ou sugestão, utilize o nosso formulário para contato, localizado na barra de navegação principal. 

Like