Servidor dedicado do Linux
Esta tradução precisa ser atualizada. Você pode ajudar a melhorá-la editando o artigo com o conteúdo de Linux dedicated server (ver código-fonte). Recomendamos que consulte o guia de tradução (em inglês) antes de fazer qualquer alteração. As instruções específicas são: Notas: Página desatualizada desde 2011. Última revisão relevante da página em inglês: 28/12/2015 |
Para melhor compreensão desse guia você deve ter conhecimentos básicos em GNU/Linux. |
Linux é uma das plataformas alternativas atualmente suportada pela ferramenta de criação de servidores dedicados "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 mínimos detalhes, como o 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 conforme a 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 (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 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 é 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
- 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.
- 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)
- Lembre-se de abrir as portas 27000-27015 do seu firewall, se você tiver um.