Transformando o Synology NAS em um servidor de jogos

Transformando o Synology NAS em um servidor de jogos

Olá!

Assim, por razões bem conhecidas, é necessário passar mais tempo em casa diante do monitor.
Diante dessa situação, é necessário lembrar de coisas de dias passados.

Como já é claro pelo título deste artigo, este será sobre a configuração do Synology NAS como um servidor de jogos.

Atenção — o artigo contém muitas capturas de tela (as capturas são clicáveis)!

Antes de começar, aqui está a lista de ferramentas que precisamos:

Synology NAS — aqui não vejo limitações, penso que qualquer um serve, a menos que haja planos de manter um servidor para 10 mil jogadores.

Docker — não são necessárias habilidades especiais, basta ter uma ideia clara do princípio de funcionamento.

LinuxGSM — sobre o que é o LinuxGSM, você pode ler no site oficial. https://linuxgsm.com.

Atualmente (abril de 2020), estão disponíveis 105 servidores de jogos no LinuxGSM.
A lista completa pode ser vista aqui https://linuxgsm.com/servers.

Steam — um mercado de jogos.

Servidor de jogos O LinuxGSM tem integração com SteamCMD, ou seja, o servidor de jogos LinuxGSM só poderá ser usado para jogos do Steam.

Instalação do Docker no Synology NAS

Neste estágio, tudo é simples, vamos ao painel de administração do Synology, depois em "Centro de Pacotes", procuramos e instalamos o Docker.

Centro de PacotesTransformando o Synology NAS em um servidor de jogos
Iniciamos e vemos uma imagem semelhante a esta (já tenho este container instalado)

Gerenciamento de containerTransformando o Synology NAS em um servidor de jogos
Em seguida, vamos na aba "Registry", digitamos na pesquisa "gameservermanagers", escolhemos a imagem "gameservermanagers/linuxgsm-docker" e clicamos no botão "Download".

gameservermanagers/linuxgsm-dockerTransformando o Synology NAS em um servidor de jogos
Depois, vamos na aba "Image", aguardamos o término do download da imagem e clicamos no botão "Launch".

Download da imagemTransformando o Synology NAS em um servidor de jogos
Na janela aberta, é necessário ir em "Advanced Settings", depois na aba "Network" e marcar a opção "Use the same network as Docker Host".

As outras configurações, como "Container Name", mudamos a nosso critério.
Container Name — como não é difícil adivinhar, este é o nome do container, ele será útil mais adiante. Recomendo nomeá-lo de forma sucinta, por exemplo, pode ser "test".

Em seguida, clicamos no botão "Apply" ou "Next" várias vezes até a conclusão da configuração.

Configurações AvançadasTransformando o Synology NAS em um servidor de jogos
Vamos na aba "Container" e vemos o novo container iniciado (se não, iniciamos) novamente.
Aqui podemos parar, iniciar, deletar e realizar outras ações.

Iniciar contêinerTransformando o Synology NAS em um servidor de jogos

Configuração do container Docker LinuxGSM

Antes de conectar ao Synology NAS via SSH, é necessário ativar o próprio acesso SSH no painel de administração.

Conexão via SSHTransformando o Synology NAS em um servidor de jogos
Em seguida, precisamos usar o endereço IP interno para a conexão via SSH. Synology NAS servidor para conexão via SSH.

Vamos ao terminal (ou qualquer outro similar, por exemplo, no Windows isso PuTTY) e usamos o seguinte comando:

ssh user_name@IP

No meu caso, isso fica assim

ssh admin@192.168.0.166

Endereço IP do servidor Synology NASTransformando o Synology NAS em um servidor de jogos
Após a autenticação, precisamos executar o comando para entrar no próprio container "test" (o campo "Container Name" nas configurações do Docker) como usuário "root"

sudo docker exec -u 0 -it test bash

Conectando ao DockerTransformando o Synology NAS em um servidor de jogos
Antes da instalação do "LinuxGSM", precisamos realizar algumas etapas.

Vamos definir uma senha para o usuário "root"

passwd

Em seguida, vamos atualizar todos os pacotes

apt update && apt upgrade && apt autoremove

Aguardando o término do processo…

Atualização de pacotesTransformando o Synology NAS em um servidor de jogos
Em seguida, vamos instalar as utilidades necessárias

apt-get install sudo iproute2 netcat nano mc p7zip-rar p7zip-full

Como executar várias ações como "root" não é a melhor ideia, vamos adicionar um novo usuário "test".

adduser test

E vamos permitir que o novo usuário use o "sudo"

usermod -aG sudo test

Trocamos para o novo usuário "test"

su test

Instalação de utilitáriosTransformando o Synology NAS em um servidor de jogos

Instalação e configuração do LinuxGSM

Vamos examinar um exemplo de configuração do LinuxGSM usando "Counter-Strike", também conhecido como "CS 1.6" https://linuxgsm.com/lgsm/csserver

Vamos para a página de instruções do "Counter-Strike" linuxgsm.com/lgsm/csserver.

Na aba "Dependencies", copiamos o código para "Ubuntu 64-bit".

No momento da redação deste artigo, esse código é o seguinte:

sudo dpkg --add-architecture i386; sudo apt update; sudo apt install mailutils postfix curl wget file tar bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc jq tmux lib32gcc1 libstdc++6 lib32stdc++6 steamcmd

Instalação de dependênciasTransformando o Synology NAS em um servidor de jogos
Durante a instalação, é necessário concordar com a "Steam License":

Steam LicenseTransformando o Synology NAS em um servidor de jogos
Vamos para a aba "Install" e copiamos o código da 2ª etapa (pulamos a 1ª etapa, o usuário "test" já existe):

InstalarTransformando o Synology NAS em um servidor de jogos

wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver

Aguardando o download:

BaixandoTransformando o Synology NAS em um servidor de jogos
E iniciamos a instalação:

./csserver install

Se tudo ocorrer normalmente, veremos a mensagem "Install Complete!"

Install Complete!Transformando o Synology NAS em um servidor de jogos
Iniciamos… e vemos o erro "Multiple IP addresses found."

./csserver start

Multiple IP addresses foundTransformando o Synology NAS em um servidor de jogos
Em seguida, é necessário especificar para o servidor qual IP utilizar.

No meu caso, é:

192.168.0.166

Vamos para a pasta cujo caminho estava na mensagem como "location":

cd /home/test/lgsm/config-lgsm/csserver

E veja quais arquivos estão nessa pasta:

ls

Lista de arquivos na pasta csserverTransformando o Synology NAS em um servidor de jogos
Copiamos o conteúdo do arquivo "_default.cfg" para o arquivo "csserver.cfg":

cat _default.cfg >> csserver.cfg

E vamos entrar no modo de edição do arquivo "csserver.cfg":

nano csserver.cfg

Edição do arquivo csserver.cfgTransformando o Synology NAS em um servidor de jogos
Encontramos a linha:

ip="0.0.0.0"

E substituímos o endereço IP que foi sugerido, no meu caso, é "192.168.0.166".

Vai ficar assim:

ip="192.168.0.166"

Pressione a combinação de teclas:

Ctr + X

E após a proposta de salvar, clique:

Y

Voltamos para a pasta do usuário "test":

cd ~

E tentamos iniciar o servidor novamente. Agora o servidor deve iniciar sem problemas:

./csserver start

Iniciar o servidorTransformando o Synology NAS em um servidor de jogos
Para visualizar informações mais detalhadas, utilizaremos o comando:

.\/csserver details

Informações detalhadas sobre servidorTransformando o Synology NAS em um servidor de jogos
Entre os parâmetros importantes, devemos destacar:

  • IP do servidor: 192.168.0.166:27015
  • IP da Internet: xxx.xx.xxx.xx:27015
  • Arquivo de configuração: \/home\/test\/serverfiles\/cstrike\/csserver.cfg

Nesta etapa, o servidor de jogos já está disponível na rede local.

Configuração de redirecionamento de IP

Jogar na rede local é bom, mas jogar com amigos pela internet é melhor!

Para redirecionar o IP que o roteador recebeu do provedor, usamos o mecanismo NAT.

Também é apropriado notar que a maioria dos provedores utiliza endereços IP dinâmicos para seus clientes.

Para conveniência e estabilidade, é desejável obter um endereço IP estático.

Como eu tenho um roteador "TP-Link Archer C60", trago o exemplo de configuração de redirecionamento como está implementado no meu roteador.

Para outros roteadores, eu suponho que a configuração de redirecionamento seja semelhante.

Aqui é simples — é necessário especificar o redirecionamento do IP externo para o IP interno do servidor para duas portas:

  • 27015
  • 27005

No painel de administração do meu roteador, isso aparece assim

Painel de administração do roteadorTransformando o Synology NAS em um servidor de jogos
E é isso, após salvar as configurações do roteador, o servidor de jogos estará disponível na rede pelo IP externo para as portas especificadas!

Configurações adicionais usando CS 1.6

Usando CS 1.6, gostaria de dar algumas dicas úteis.

Existem dois arquivos para configuração do servidor

O primeiro está aqui:

~\/lgsm\/config-lgsm\/csserver\/csserver.cfg

O segundo está aqui:

~\/serverfiles\/cstrike\/csserver.cfg

O primeiro arquivo contém configurações gerais, como endereço IP, mapa para o carregamento inicial do servidor, etc.

O segundo arquivo contém configurações de comandos que podem ser executados através do console do "Counter-Strike", como "rcon_password" ou "sv_password".

No segundo arquivo, recomendo definir uma senha para conectar ao servidor através da CVar "sv_password" e definir uma senha para gerenciar o console do servidor através da CVar "rcon_password".

A lista de todas as variáveis CVar pode ser vista aqui http://txdv.github.io/cstrike-cvarlist

Além disso, provavelmente haverá a necessidade de instalar mapas adicionais, como "fy_pool_day".

Todos os mapas para CS 1.6 estão aqui:

~\/serverfiles\/cstrike\/maps

Encontramos o mapa necessário, fazemos o download direto para o servidor (se estiver em um arquivo compactado, descompactamos), movemos o arquivo com a extensão «.bsp» para a pasta de arquivos «~\/serverfiles\/cstrike\/maps» e reiniciamos o servidor.

~.\/csserver restart

A propósito, todos os comandos disponíveis do servidor podem ser visualizados assim

~.\/csserver

 

Resultado

Estou satisfeito com o resultado. Tudo funciona rápido e sem lag.

LinuxGSM tem muitas configurações adicionais, como integração com Telegram e Slack para notificações, mas algumas funcionalidades ainda precisam ser aprimoradas.

No geral, recomendo o uso!

Fontes

https://linuxgsm.com
https://docs.linuxgsm.com
https://digitalboxweb.wordpress.com/2019/09/02/serveur-counter-strike-go-sur-nas-synology
https://medium.com/@konpat/how-to-host-a-counter-strike-1-6-game-on-linux-full-tutorial-a25f20ff1149
http://txdv.github.io/cstrike-cvarlist

ATUALIZAÇÃO

Como notado centralhardware nem todos os Synology NAS são compatíveis com Docker, aqui está a lista de dispositivos que podem https://www.synology.com/ru-ru/dsm/packages/Docker.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster