Servidor dedicado do Linux

From Team Fortress Wiki
Jump to: navigation, search

Este é um guia de configuração que o acompanha através do processo de instalação de um servidor básico dedicado de Team Fortress 2. no GNU/Linux (x86 ou amd64) ou um sistema FreeBSD (x86 ou amd64) No exemplo abaixo, o servidor é instalado no diretório home do usuário em um diretório chamado hlserver

A instalação e configuração básica de um servidor dedicado é quase a mesma na maioria das distribuições Linux, mas pequenos detalhes, tais como nomes de pacotes e diretórios podem diferir de distribuição para distribuição. É recomendável que você verifique os repositórios do seu gerenciador de pacotes para os pacotes necessários antes de continuar.

NOTA: Informações sobre a execução de um servidor no Windows são frequentemente aplicáveis no Linux, por exemplo, arquivos como server.cfg e motd_default.txt são idênticos entre ambas as plataformas. Verifique essa página para obter detalhes e sugestões adicionais. As informações nessa página e nesta também podem ser úteis em outras plataformas do tipo Unix.

Lendo o artigo

Este artigo foi escrito de acordo com a sintaxe padrão da documentação do terminal Linux, sendo elas:

  • Um comando com prefixo de # (um hash) deve rodar como root. A maioria das distribuições tem uma conta root separada; para outras distribuições como Ubuntu, Linux Mint, Crunchbang, etc., o prefixo sudo vai garantir que o comando rode como root.
  • Um comando com prefixo de $ (símbolo do dólar) deve ser rodado como user.
  • ./ significa "diretório atual"

Docker

se seu servidor estiver rodando em um Contêiner Docker, você pode simplesmente usar:

docker run -d --net=host --name=tf2-dedicated -e SRCDS_TOKEN={YOURTOKEN} -it cm2network/tf2

O contêiner atualizará automaticamente o jogo na inicialização, portanto, se houver uma atualização do jogo, basta reiniciar o contêiner.

A configuração do servidor está localizada em: /home/steam/tf2-dedicated/tf/cfg

Se você quiser iniciar outra instância, você pode usar o seguinte comando: -e (--env):

docker run -d --net=host -e SRCDS_PORT=27016 -e SRCDS_TV_PORT=27021 -e SRCDS_TOKEN={YOURTOKEN} -it --name=tf2-dedicated2 cm2network/tf2

Você pode obter seu SRCDS_TOKEN aqui; https://steamcommunity.com/dev/managegameservers

Passo-a-passo

Requerimentos

Um número de requerimentos existem em ordem para rodar um servidor dedicado nas plataformas Linux, sendo elas:

  • Ter permissão de escrever no diretório atual que vamos utilizar
  • glibc
  • Aproximadamente 8GB livre de HD (Hard-Drive) (Isso para servidores sem mapas customizados, plugins, sons, etc.)
  • Em caso de uma distribuição 64-bit, os pacotes lib32gcc1 ou ia32-libs são requeridos para a instalação.
  • Se você está instalando no CentOS, você terá que utilizar esse comando anteriormente yum install ncompress
  • Se você está instalando no FreeBSD (Que na realidade não é Linux), você deve habilitar a compatibilidade via Kernel com o Linux e instalar um Base System (Para gerenciamento de portas). Informações e melhores instruções sobre o assunto aqui (em inglês);

Instalação

Existem inúmeras maneiras de rodar um servidor dedicado. Nesse artigo, vamos assumir um usuário específico (tf2server) que foi criado somente para o propósito de rodar o Team Fortress 2 server. Para criar um usuário, execute o seguinte comando como root:

# adduser tf2server

Você vai ser questionado quanto ao nome, usuário e outras informações, preencha-os como quiser. Então saia do usuário atual e entre no usuário tf2server.

A seguir, crie um diretório e escolha um nome para ele. Você pode chama-lo do jeito que quiser; Eu escolhi "hlds":

$ mkdir hlds && chmod 777 hlds && cd hlds

A próxima coisa que temos que fazer é baixar o Dedicated Server Update Tool (hldsupdatetool.bin), e mudar as permissões dele para executável, permitindo-nos baixar a versão binária do Steam que é requerida para baixarmos o nosso "gameserver". E finalmente executamos o binário.

$ wget http://storefront.steampowered.com/download/hldsupdatetool.bin && chmod +x hldsupdatetool.bin
$ ./hldsupdatetool.bin

Quando executamos o binário, nós somos questionados a aceitar o Valve's Terms and Conditions por utilizar a ferramenta de atualização; após ler e concordar com os termos incluídos, digite "yes", e pressione Enter. A próxima coisa que vai acontecer é o binário steam vai ser extraído. Execute-o para baixar a última versão do "HLDS Update Tool":

$ ./steam
Checking bootstrapper version ...
Getting version 42 of Steam HLDS Update Tool
Downloading. . . . . . . . . . . .
Steam Linux Client updated, please retry the command

Faça como sugerido, repita o mesmo comando. Tudo que precisamos fazer agora é baixar os arquivos do servidor e executá-lo.

Crie outro diretório, que servirá para armazenar os dados do servidor (dentro do /home/tf2server/hlds). Nós vamos chamá-lo de gameserver.

$ mkdir gameserver

A seguir, vamos pedir para o Steam baixar os arquivos do Team Fortress 2 dentro dessa pasta, usando o seguinte comando:

$ ./steam -command update -game tf -dir gameserver/

Isso roda o comando update (Atualizar), junto com o comando do jogo tf (Team Fortress 2) dentro do diretório gameserver/. Sente e espere, talvez demore algum tempo.

Rodando o servidor

Estamos quase acabando. O servidor foi instalado. Então a única coisa que nos resta fazer é fazê-lo funcionar, mude o diretório no console/shell para gameserver/orangebox/. É para existir um script chamado srcds_run, que executa o jogo. Para executá-lo de forma básica (Exemplo), tente o seguinte script:

$ ./srcds_run -game tf -autoupdate -tickrate 66 -maxplayers 24 +map cp_badlands

Isso executará o Team Fortress 2 server com um "tickrate" de 66, um máximo de 24 jogadores no mapa Badlands. Existem inúmeras maneiras de configurá-lo, mas isso é o suficiente para testá-lo.

Dicas

  1. Na primeira vez que você rodar o ./steam espere um pouco enquanto ele verifica a versão do bootstrap. Talvez você tenha que tentar várias vezes até funcionar.
  2. server.cfg fica no diretório orangebox/tf/cfg. Para mais informações de como configurar seu servidor dedicado, veja Dedicated Server Configuration. (em inglês)
  3. Lembre-se de abrir as portas 27000-27015 do seu firewall, se você tiver um.

Veja também