ServidoresAmerican/Euro Truck Simulator — Como criar servidor dedicado no Linux

Milhões de anos atrás, jogadores de American/Euro Truck Simulator costumavam instalar mods à parte para poderem jogar online — as vezes tinha uma certa chatice envolvendo TruckersMP sendo distribuído em links suspeitos. Com o lançamento do Comboio (em inglês Convoy — sistema de servidores para o ATS/ETS), as coisas ficaram muito simples, sendo possível hospedar partidas mesmo sem a criação de servidores dedicados.

O contra do comboio quando lançou era que se tornava obrigatório ter que hospedar e gerenciar a partida por conta própria. Ou seja, se você criou a partida, você tinha que estar lá. Se não, não teria partida.

Isso continuou até começo de Dezembro de 2022, época em que a SCS Software liberou o suporte para servidores dedicados no ATS e no ETS. O suporte veio tanto para Linux quanto pra Windows.

Neste tutorial, vamos criar um servidor de American Truck Simulator (o mesmo processo vale para o Euro Truck) no Debian 11.

Para este tutorial, vou já supor algumas coisas:

  • O sistema é recém-instalado;
  • Você está usando um VPS ou alguma máquina virtual doméstica;
  • Você está com o modo developer/console habilitado no ATS/ETS;
  • Você tem conhecimentos básicos no terminal — meu caso (não sou usuário avançado);
  • Você tem paciência.
💡
O processo feito aqui vale tanto para VPS quanto para máquinas virtuais domésticas.

Abrir portas da conexão

  • Conexão doméstica: você terá que acessar o roteador e abrir as portas 27015/27016. Para cada roteador, é um tipo de acesso específico então não dá pra listar todos aqui.
  • Servidor Dedicado (VPS): nesse caso, as empresas de hospedagem geralmente não bloqueiam portas (no caso do Debian, se o sistema é recém-instalado, ele não vem com firewall). Em todo caso, vou explicar como liberar essas portas:
      • Geralmente o firewall que vem pré-instalado responde pelo comando ufw. Para saber se ele está ativo, digite ufw status. Se o comando retornar Status: inactive, signific que o ufw funciona, mas não está ativado. Nesse caso não vai ter nenhum bloqueio de portas.
      • No caso do ufw estar ativado, use o comando ufw allow 27015 e ufw allow 27016. O primeiro vai permitir que os jogadores se conectem ao servidor, o segundo vai permitir que o servidor apareça na lista de servidores do comboio.
      • Pra checar se as portas necessárias estão abertas, use o comando ufw status.
Desse ponto em diante é fazer os arquivos do servidor se comunicarem através dessas portas.
⚠️
Vale lembrar que se você pretende habilitar o Firewall em um VPS recém instalado, não esqueça de liberar a porta 22. Esta porta é responsável pelo acesso SSH ao servidor e se bloqueada, fica complicado ter acesso ao servidor novamente sem ter que reinstalar.

Instalando dependências

Antes de tudo, é necessário instalar algumas dependências para poder rodar o servidor dedicado — no caso do Debian, é necessário modificar a lista de repositórios para poder baixar dependências adicionais para este tutorial em específico.

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.

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

Feito isso, vamos instalar as dependências. Para isso, rode os seguintes comandos:

  • sudo apt update
  • sudo apt install software-properties-common
  • sudo dpkg --add-architecture i386
  • sudo apt install lib32gcc-10-dev lib32stdc++6 libc6-i386 libcurl4-gnutls-dev:i386 libsdl2-2.0-0:i386
💡
Ai tem mais dependências do que o necessário, porém vai ser útil para futuros tutoriais usando LinuxGSM.

Agora vamos criar um usuário específico para poder administrar os arquivos referentes ao servidor de American Truck Simulator.

Criando usuário e alterando permissões

Ainda logado como root, você vai criar um usuário para ser o diretório de arquivos do servidor dedicado do American Truck Simulator. Para isso, rode os seguintes comandos:

  • sudo useradd -m ats (Este comando cria um usuário de nome ats);
  • sudo passwd ats (Este comando vai definir a senha do usuário). Você pode escolher a senha que quiser, porém recomendo gerar uma senha forte. Geralmente uso o gerador do site LastPass;
  • Por último e não menos importante, o comando sudo usermod -aG sudo ats. Este comando vai dar privilégios de administrador a usuários que não sejam root.

Vamos logar no sistema usando o usuário que acabamos de criar. Para isso, use o comando sudo -u ats -s e em seguida rodar os seguinte comando:

  • sudo apt install steamcmd (este comando vai instalar o steamcmd, que por sua vez é usado para baixar os arquivos necessários do servidor);
  • cd (se você estiver no mesmo embalo que o meu, provavelmente no seu terminal estará mostrando a pasta /root, então esse comando se torna necessário para podermos ir para a pasta onde iremos instalar os arquivos do servidor). Feito isso, sua tela até o momento será algo mais ou menos assim:
  • Após isso, vamos criar um link para o steamcmd na pasta do usuário que criamos para o servidor. Para isso, basta executar o comando: sudo ln -s /usr/games/steamcmd /home/ats/steamcmd

Baixando arquivos do servidor

Agora vamos baixar os arquivos necessários para rodar o servidor. Execute os seguintes comandos:

  • ./steamcmd. Este comando vai rodar uma instância do steamcmd e a partir dele vamos criar um diretório para podermos baixar os arquivos do servidor;
  • Agora rode o comando force_install_dir ./server. Este comando vai criar uma pasta com o nome de ats dentro do usuário ats;
  • Execute o comando logon anonymous. Este comando vai permitir logar nos servidores da Valve para podermos baixar os arquivos referentes ao servidor dedicado do ATS;
  • Rode o comando app_update 2239530 validate. Este comando vai baixar os arquivos e checar se tudo está certo com eles. Se tudo correu bem, o resultado vai ser: Success! App ‘2239530’ fully installed.
💡
Para servidor de Euro Truck, troque os números para 1948160.
  • exit pra gente poder sair do steamcmd e ir pra parte final de instalação do servidor

Configurando o servidor

Primeiro vamos executar o script responsável por rodar o servidor para que pastas e arquivos necessários possam ser criados. Para isso, vamos ao diretório onde está o script usando o seguinte comando:

  • cd .local/share/Steam/steamcmd/server/bin/linux_x64
  • ./server_launch.sh Esse comando vai rodar o script do servidor e vai fechar;

Após isso, abra o American Truck Simulator e no console digite export_server_packages. Agora vá na pasta de Documentos do seu computador e procure pela pasta do American Truck Simulator. Dos arquivos que estão dentro desta pasta, vamos pegar os 2 seguintes:

  • server_packages.dat
  • server_packages.sii

Em seguida, vamos conectar no FTP do servidor e ir até a pasta /home/ats/.local/share/American Truck Simulator. No caso do FileZilla, é só colar na barra de endereços (Remote Site) que ele abre o diretório direto. Jogue esses dois arquivos lá.

Após isso, vamos configurar algumas informações do servidor (tais como nome, descrição e moderação):

  • Aproveite que está no FTP e edite o arquivo server_config.sii. Lá você vai poder configurar o nome do servidor na linha lobby name, a descrição na linha description e a mais importante pra nós no momento é a linha de moderação. Esta é a linha de nome moderators_list. Essa você vai modificar da seguinte forma:
      1. Você vai substituir o moderator_list: 0 por moderator_list: 1.
      2. Abaixo você vai colocar:moderator_list[0]: 1234567890 onde 1234567890 é sua ID da Steam em steamID64. Você pode conseguir essa informação neste site.

Rodando o servidor

Desta vez vamos fazer um pouco diferente. Vamos instalar um pacote para o servidor continuar rodando mesmo após fechar a sessão do terminal.

Execute o seguinte comando:

  • sudo apt install screen

Agora vamos rodar o servidor:

  • cd .local/share/Steam/steamcmd/server/bin/linux_x64
  • screen ./server_launch.sh O comando screen vai permitir que o servidor de ATS continue funcionando mesmo que você desconecte da seção.

O resultado esperado é mais ou menos isso:

Servidor de American Truck Simulator rodando em Debian 11.

Informações extras

  • Caso queira voltar para a “janela” que está rodando o script do servidor, use o comando screen -r;
  • Se você está fazendo o servidor em máquina virtual e sem firewall e mesmo assim o servidor não aparece na lista ou seus amigos não conseguem conectar, existe a possibilidade que seu provedor possa estar bloqueando portas ou fazendo CGNAT. Neste caso não tem muito o que fazer além de entrar em contato com o suporte técnico;
  • Existe a possibilidade do servidor cair de vez em nunca. Até o momento da postagem, esse suporte a servidor dedicado para o ATS/ETS é beta, então ainda tem coisas para corrigir;
  • Este tutorial é mais manual. Se você procura um jeito mais prático e rápido de fazer servidores para esses jogos, use o LinuxGSM (suporte Debian/Ubuntu e CentOS);
  • Você pode também mudar as portas do servidor no server_config.sii. Não sei ao certo qual a faixa de portas permitida, porém recomendo algo dentro de 27000 até 27050.
⚠️
Se no seu terminal está aparecendo somente $, execute o comando chsh -s /bin/bash, saia e entre novamente no terminal.

Links extras

Com informações: SteamCMD (wiki da Valve voltada a desenvolvedores) e Convoy Dedicated Server Support.

 

Servidores, Tutoriais

https://idtd.nl/8XZ47