Configurar um servidor Team Fortress 2 no Arch Linux

Você está aqui:
Tempo estimado de leitura: 3 min

Este tutorial explica como configurar um servidor do Team Fortress 2 no Arch Linux. Eu suponho que você está logado com uma conta de usuário não-root que tenha acesso sudo. Este tutorial usa o AUR para criar pacotes e essa operação não deve ser executada a partir da conta raiz.

Antes de você começar

É muito importante que você tenha o multilibrepositório habilitado se e somente se você estiver em um servidor de 64 bits (amd64). Se não estiver habilitado, o SteamCMD não poderá ser executado e você não poderá nem baixar os arquivos do servidor. Para fazer isso, você deve descomentar as seguintes linhas em /etc/pacman.conf.

[multilib]
Include = /etc/pacman.d/mirrorlist

Se você estiver no Arch de 32 bits (i686), poderá ignorar isso com segurança.

Instalar o SteamCMD

Existe um pacote AUR para o SteamCMD e é uma das maneiras mais fáceis de instalar o SteamCMD no Arch. Há algumas coisas estranhas sobre isso:

  • Todos os caminhos relativos são relativos a /usr/share/steamcmd.
  • Para atualizar o próprio SteamCMD, você deve ser root.

Se você estiver em um servidor de 64 bits, deverá instalar o pacote lib32-gcc-libs.

sudo pacman -Sy lib32-gcc-libs

Agora devemos construir o pacote. Usando curl, baixe o tarball para o pacote.

curl -O http://media.steampowered.com/installer/steamcmd_linux.tar.gz

Quando o download terminar, extraia e mude para o diretório criado.

tar -xvzf steamcmd.tar.gz
cd steamcmd

Agora, usando o makepkg, construa o pacote.

makepkg -ci

Se você não passou a -ibandeira para o comando makepkg, use o pacman para instalá-lo.

sudo pacman -U *.pkg.tar.xz

Agora você tem o SteamCMD instalado e pronto para fazer o download do servidor do Team Fortress 2.

Instalar o servidor Team Fortress 2

Este guia usa um usuário separado para executar o servidor, portanto, criaremos um novo usuário e grupo tf2 com sua própria pasta inicial /var/lib.

sudo groupadd tf2
sudo mkdir /var/lib/tf2
sudo useradd -d /var/lib/tf2 -g tf2 -s /bin/bash tf2
sudo chown tf2.tf2 -R /var/lib/tf2

Agora para instalar o servidor.

sudo -u tf2 steamcmd +login anonymous +force_install_dir ~tf2/server +app_update 232250 validate +quit

Uma vez terminado o download, você tem o servidor instalado.

Configurando

Embora você possa executar o servidor, alguma configuração deve ser feita para que o servidor não seja muito genérico. O arquivo principal no qual colocamos as configurações é o server.cfgarquivo. Abaixo está um server.cfgarquivo muito básico .

Para abrir / criar o arquivo, use seu editor favorito. Aqui o vim é usado, mas você pode usar qualquer editor de texto como o nano.

sudo -u tf2 vim ~tf2/server/tf/cfg/server.cfg

Adicione o seguinte. Mais configurações podem ser encontradas no wiki do Team Fortress 2 e na página do desenvolvedor Valve. Certifique-se de alterar algumas das configurações para atender às suas necessidades.

hostname "Server Name"
rcon_password "password"
sv_password ""
sv_contact "[email protected]"
sv_tags ""
sv_region "255"
sv_lan "0"

exec banned_user.cfg
exec banned_ip.cfg
writeid
writeip

Executando seu servidor

Sabe-se que você precisa de um multiplexador como o GNU Screen ou o tmux para executar seu servidor sem supervisão. Aqui vamos usar o tmux para executar o servidor, mas se você preferir e souber como usar a tela, fique à vontade para usá-lo.

Instale o tmux usando o pacman.

sudo pacman -Sy tmux

Você pode iniciar o servidor com o seguinte comando. Você pode alterar o mapa e maxplayers, se desejar.

sudo -u tf2 tmux new-session -d -s tf2-console -d '~tf2/server/srcds_run -console -game tf +map cp_dustbowl +maxplayers 24'

Se você precisar anexar ao console, execute o seguinte.

sudo -u tf2 tmux attach -t tf2-console

Você pode deixar o console do servidor, digitando CTRL + B , em seguida, liberando essas chaves e, em seguida, pressionando D .

Rodando com systemd

Executar o servidor com o systemd é conveniente por vários motivos. A principal delas é que você pode começar quando o VPS for iniciado. Isso requer que um script e uma unidade de sistema sejam gravados. Mesmo que seja uma boa ideia, é opcional .

A primeira coisa a escrever é o script de início. Para criar o script, use seu editor favorito. Aqui o vim é usado, mas você pode usar qualquer editor de texto como o nano.

sudo -u tf2 vim ~tf2/server/tf2.sh

Adicione o seguinte.

#!/bin/sh

USER=$2

if [ -z $2 ]; then
  USER="tf2"
fi

case "$1" in
  start)
    sudo -u $ tmux new-session -d -s tf2-console -d '/var/lib/tf2/server/srcds_run -console -game tf +map cp_dustbowl +maxplayers 24'
    ;;

  stop)
    sudo -u $ tmux send-keys -t tf2-console 'say Server shutting down in 10 seconds!' C-m
    sleep 10
    sudo -u $ tmux send-keys -t tf2-console 'quit' C-m
    sleep 5
    ;;

  *)
    echo "Usage: $0  user"
esac

exit 0

Agora você precisa fazer a unidade systemd. Para criar a unidade, use seu editor favorito. Aqui o vim é usado, mas você pode usar qualquer editor de texto como o nano.

sudo vim /usr/lib/systemd/system/tf2.service

Adicione o seguinte.

[Unit]
Description=Team Fortress 2 Server (SRCDS)
After=local-fs.target network.target

[Service]
ExecStart=/var/lib/tf2/server/tf2.sh start
ExecStop=/var/lib/tf2/server/tf2.sh stop
Type=forking

[Install]
WantedBy=multi-user.target

Agora, verifique se o tf2.sharquivo é executável.

sudo chmod +x ~tf2/server/tf2.sh

Depois de tudo isso, você pode usar systemctlpara iniciar e parar o servidor. Além disso, você pode usá-lo para iniciar a inicialização.

Para iniciar:

sudo systemctl start tf2.service

Parar:

sudo systemctl stop tf2.service

Reiniciar:

sudo systemctl restart tf2.service

Para habilitar no boot:

sudo systemctl enable tf2.service

Para desativar na inicialização:

sudo systemctl disable tf2.service

Embora o systemd esteja manipulando o início e a parada do servidor, você ainda pode acessar o console com o seguinte comando:

sudo -u tf2 tmux attach -t tf2-console

Notas Finais

O SteamCMD é instalado em uma área onde somente o root pode alterar arquivos (veja a nota em “Instalar o SteamCMD”). Se você precisar atualizar o próprio SteamCMD, basta executá-lo como root.

sudo steamcmd +quit

Se você precisar atualizar o servidor. Primeiro pare o servidor e depois use o SteamCMD para atualizar (usando o mesmo comando para instalar).

sudo systemctl stop tf2.service
sudo -u tf2 steamcmd +login anonymous +force_install_dir ~tf2/server +app_update 232250 validate +quit
sudo systemctl start tf2.service

Há muito mais tópicos de configuração que não são abordados neste tutorial. Se você precisar de mais informações, consulte o Wiki do Team Fortress 2 e o Wiki do Desenvolvedor Valve.

Esse artigo foi útil?
Não Gostei 0
Visualizações: 54

Ainda não Têm uma Conta?

Então Cadastre-se

Nome de Usuário*
E-mail*
Senha*
Confirmar Senha*

Já têm Uma Conta? Click Aqui.

Já tem uma Conta?

Ainda não tem Conta?