Servidor dedicado do Linux

From Team Fortress Wiki
Jump to: navigation, search

Linux é uma das duas plataformas atualmente suportadas pela ferramenta "Valve's dedicated server tools (HLDS)" a outra sendo o sistema operacional Windows. A instalação básica e configuração é a mesma para todas as distribuições, a não ser por pequenos detalhes, como nome dos pacotes utilizados, diretórios, etc. talvez diferencie de uma distribuição para outra. É recomendado que você cheque os repositórios de sua distribuição que vão ser requeridos para as instalações dos pacotes, antes de continuar.

Lendo o artigo

Esse artigo foi escrito de acordo com o Syntax padrão da documentação 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"

Requerimentos

Um número de requerimentos existem em ordem para rodar Team Fortress 2 Server nas plataformas Linux, nomeadas:

  • Ter permissão de escrever no diretório atual que vamos utilizar
  • glibc >= 2.3.6
  • Aproximadamente 5GB livre de HD (Hard-Drive) (Isso para servidores sem mapas customizadas, 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ê vai 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.

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 proxima coisa que temos que fazer é baixar o Dedicated Server Update Tool (hldsupdatetool.bin), e mudar as permissões dele para executavel, 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 incluidos, 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 executa-lo.

Crie outro diretório, que vai servir para armazenar os dados do servidor (dentro do /home/tf2server/hlds). Nós vamos chama-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

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

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

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

Dicas

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

Veja também