Configurar um servidor Counter-Strike: Global Offensive (CSGO) no Arch Linux

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

Este tutorial explica como configurar um servidor Counter-Strike: Global Offensive no Arch Linux.

Este tutorial pressupõe que você tenha feito login com uma conta de usuário padrão e tenha privilégios sudo. Estaremos usando uma conta de usuário normal porque a criação de pacotes com o AUR não deve ser feita a partir da conta raiz.

Antes de você começar

Se você estiver usando uma versão de 64 bits do Arch Linux, é muito importante que você tenha o multilibrepositório ativado. Se não estiver habilitado, o SteamCMD não pode baixar ou executar os arquivos do servidor do jogo. Para ativar o multilib, simplesmente remova o comentário das linhas a seguir /etc/pacman.conf.

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

Isso não se aplica a sistemas Arch Linux de 32 bits.

Instalar o SteamCMD

Existe um pacote AUR para o SteamCMD. É possivelmente a maneira mais fácil de instalar o SteamCMD no Arch. Há algumas coisas a se notar sobre isso:

  • Todos os caminhos relativos são relativos a /usr/share/steamcmd.
  • Para atualizar o próprio SteamCMD, você deve estar na conta 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 https://aur.archlinux.org/packages/st/steamcmd/steamcmd.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 o -isinalizador para o comando makepkg, use o seguinte comando para instalá-lo.

sudo pacman -U *.pkg.tar.xz

Agora você tem o SteamCMD instalado e pronto para fazer o download do servidor Counter-Strike: Global Offensive.

Instale o Counter-Strike: Global Offensive Server

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

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

Agora para instalar o servidor.

sudo -u csgo steamcmd +login anonymous +force_install_dir ~csgo/server +app_update 740 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. Eu uso o vim neste exemplo.

sudo -u csgo vim ~csgo/server/csgo/cfg/server.cfg

Adicione o seguinte. Mais configurações podem ser encontradas no Wiki do Desenvolvedor da 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

Para executar seu servidor autônomo, você precisará de um multiplexador como o GNU Screen ou o tmux . Neste artigo, vou 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, se desejar. Por favor, leia as “Notas Finais” para mais informações sobre os valores game_typegame_mode. Este exemplo é para um servidor casual clássico.

sudo -u csgo tmux new-session -d -s csgo-console -d 'cd /var/lib/csgo/server/; ./srcds_run -console -game csgo -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2'

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

sudo -u csgo tmux attach -t csgo-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 csgo vim ~csgo/server/csgo.sh

Adicione o seguinte e certifique-se de olhar para a linha com o comando start, pois tem o modo de jogo e o tipo.

#!/bin/sh

USER=$2

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

case "$1" in
  start)
    sudo -u $ tmux new-session -d -s csgo-console -d 'cd /var/lib/csgo/server/; /var/lib/csgo/server/srcds_run -console -game csgo -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2'
    ;;

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

  *)
    echo "Usage: $0  user"
esac

exit 0

Agora você precisa fazer a unidade systemd.

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

Adicione o seguinte.

[Unit]
Description=Counter-Strike: Global Offensive Server (SRCDS)
After=local-fs.target network.target

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

[Install]
WantedBy=multi-user.target

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

sudo chmod +x ~csgo/server/csgo.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 csgo.service

Parar:

sudo systemctl stop csgo.service

Reiniciar:

sudo systemctl restart csgo.service

Para habilitar no boot:

sudo systemctl enable csgo.service

Para desativar na inicialização:

sudo systemctl disable csgo.service

Mesmo que o systemd manipule iniciar e parar o servidor, você pode acessar o console com o seguinte comando.

sudo -u csgo tmux attach -t csgo-console

Notas Finais

O SteamCMD é instalado em uma área onde somente o root pode alterar arquivos (veja a nota na seção “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 csgo.service
sudo -u csgo steamcmd +login anonymous +force_install_dir ~csgo/server +app_update 740 validate +quit
sudo systemctl start csgo.service

O modo de jogo e o tipo de jogo no comando de partida são importantes dependendo do tipo de servidor que você deseja. Aqui está uma tabela rápida dos valores possíveis.

      Game Mode      | game_type | game_mode
Classic Casual       | 0         | 0
Classic Competitive  | 0         | 1
Arms Race            | 1         | 0
Demolition           | 1         | 1
Deathmatch           | 1         | 2

Há muito mais tópicos de configuração não abordados neste tutorial. Se você precisar de mais informações, por favor consulte o Wiki Valve Developer.

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

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?