ServidoresCriando servidor de Left 4 Dead 2 usando LinuxGSM

Já faz algum tempo que venho querendo fazer este tutorial, mas faltou tempo. O tutorial não é muito longo, porém exige que eu tenha uma máquina virtual zerada para poder explicar as coisas. Também estava com um pouco de dificuldade em achar a última versão do Debian 11 (que é a única versão suportada até a data de publicação desta postagem).
Dito isso, vamos aos requisitos:

  1. Instalação Debian (funciona com Ubuntu também, mas talvez será preciso adaptar comandos) com pelo ao menos 15GB livres, sem contar o sistema. Pode ser VPS, máquina virtual ou física;
  2. Acesso root (preferencialmente SSH, seria meio chato deslocar da sua casa até o servidor só pra fazer servidor de Left 4 Dead);
  3. Paciência (mas não precisa muita, LinuxGSM facilita o trabalho de criar servidores de jogos).
💡
O download do Debian 11 pode ser feito clicando aqui.

Se você estiver instalando o Debian, por conta própria e em uma máquina virtual, bem no começo ele vai perguntar se você quer instalação gráfica ou somente instalar. Pra esse caso aqui, escolhi a instalação comum. No meio da instalação, após configurar usuário, nome do sistema, etc., você vai ser agraciado com a tela de escolha de softwares para instalar.

Como escolhemos só instalar, vamos desmarcar qualquer ambiente gráfico e deixar marcado somente SSH Server e Standard System Utilities.

Sistema instalado, vamos aos negócios.

Primeiro de tudo vamos logar via SSH usando o comando ssh nomedeusuario@IP. Após logado, vamos as preliminares.

Instalando dependências

💡
Existe a possibilidade de sua instalação Debian não responder a comandos sudo. Para isso basta usar o comando apt install sudo -y.

Vá ao diretório etc/apt usando os seguintes comandos cd / e depois cd etc/apt. Agora execute o comando nano sources.list para poder editar o arquivo. Em seguida, cole os seguintes repositórios no arquivo:

  • deb http://deb.debian.org/debian bullseye main contrib non-free
  • deb-src http://deb.debian.org/debian bullseye main contrib non-free
  • deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
  • deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
  • deb http://deb.debian.org/debian bullseye-updates main contrib non-free
  • deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free

Agora dê Ctrl + X e em seguida Y e depois ENTER para salvar as alterações.

Agora, execute o seguinte comando:

  • dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat lib32gcc-s1 lib32stdc++6 libsdl2-2.0-0:i386 uuid-runtime distro-info netcat-openbsd steamcmd
💡
Este comando gigante vai instalar todos os pacotes e utilitários necessários para poder rodar o LinuxGSM. A chance de algo não instalar é grande caso você não tenha configurado direitinho os repositórios.

Configurando usuário

Essa é a parte mais importante e que demora um pouco. Jogos da Valve tendem a ter em suas versões de servidores os mesmos arquivos do jogo original, então isso pode demorar um pouco. Vai depender da conexão. Então vamos aos comandos:

  • adduser l4d2server. Esse comando adiciona o usuário do LinuxGSM ao Debian. Recomendo não alterar;
  • Após executar o comando acima, você só vai dando Enter. A única parte que é necessário focar no momento é a senha. Escolha uma boa senha;
  • su - l4d2server; Como você está em root, esse comando vai te jogar direto pro usuário l4d2server que criamos. Daí, todos os comandos que faremos, será à partir deste usuário;
  • curl -Lo linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh l4d2server; Esse comando vai baixar o script responsável pelo download e instalação do servidor de Left 4 Dead 2;
  • Agora é só rodar o comando ./l4d2server install.

Instalando servidor

Se tudo deu certo até aqui, você vai dar de topa com essa tela:
Agora é dar Enter e aguardar o sistema baixar todos os arquivos necessários. Após terminar o download, o sistema vai perguntar se tudo foi baixado com sucesso, só dar Enter. Geralmente quando tem erros durante o download dos arquivos do servidor, essa pergunta nem aparece.

Após isso o sistema vai perguntar se você gostaria de enviar estatísticas anônimas para os desenvolvedores do LinuxGSM. Neste caso, você que sabe.

Antes de rodar o servidor

Quaisquer problemas, o que raramente acontece, o LinuxGSM costuma mostrar quando o comando ./l4d2server install é executado. Se falta alguma dependência, também é mostrado qual e o comando para poder instalar aquela dependência também aparece. Se ela não for tão necessária, a instalação procede normalmente e você instala essa dependência depois (ou enquanto estiver baixando o os arquivos, usando outra sessão SSH).

Pé na estrada

  • ./l4d2server start. Esse é o comando que você vai rodar toda vez que precisar iniciar o servidor.

Na primeira vez que você rodar este comando. o LinuxGSM vai executar algumas configurações padrões e iniciar o servidor. Tudo dando certo, seu terminal será parecido com este:

Servidor de Left 4 Dead 2 rodando no Linux. Simples assim!
Servidor de Left 4 Dead 2 rodando no Linux. Simples assim!

Alguns comandos úteis:

  • ./l4d2server stop para parar o servidor;
  • ./l4d2server fu para atualizar o servidor;
  • ./l4d2server restart para parar reiniciar o servidor;
  • ./l4d2server details para ver dados do servidor.

Cadê o server.cfg?

Ao usar o LinuxGSM, você não tem o arquivo server.cfg. Você tem o arquivo l4d2server.cfg que fica na mesma pasta que o antigo server.cfg.

Informações adicionais

  • Não rode o servidor em root;
  • Se for fazer o servidor na sua casa, preze bastante pela segurança. Servidores de jogos da Valve requerem uma portas TCP e UDP, fiquem atentos a isso;
  • Para abrir portas em VPS, esta parte do tutorial de servidores pra ATS/ETS pode ajudar;
  • Este tutorial é um ponto de partida para você poder criar seu servidor de Left 4 Dead 2 no Linux. Se precisar de informações relacionadas a instalação de mods, basta acessar o site do Sourcemod. Plugins que testei no Windows, também funcionaram no Linux. Porém, olhe os requisitos de cada plugin quando for instalar;
  • Geralmente as portas para rodar os servidores de jogos vem abertas por padrão em servidores VPS. Algumas conexões domésticas já sofrem com o problema do CGNAT. Então nesse caso recomendo pesquisar sobre IP válido e roteamento de portas. Já disse para alguns conhecidos e repito, DMZ não é necessário;
  • Este tutorial também funciona no Ubuntu, mas provavelmente será necessário adaptar uma coisa ou outra. Por enquanto, prefiro mais o Debian pela leveza e consistência;
  • Recomendo muito acessar a documentação do LinuxGSM. Além das informações já apresentadas neste tutorial, tem mil outras que vão facilitar muito sua vida;

Servidores

https://idtd.nl/UoS15