
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 Pacotes
Iniciamos e vemos uma imagem semelhante a esta (já tenho este container instalado)
Gerenciamento de container
Em seguida, vamos na aba "Registry", digitamos na pesquisa "gameservermanagers", escolhemos a imagem "gameservermanagers/linuxgsm-docker" e clicamos no botão "Download".
gameservermanagers/linuxgsm-docker
Depois, vamos na aba "Image", aguardamos o término do download da imagem e clicamos no botão "Launch".
Download da imagem
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çadas
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.
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 SSH
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@IPNo meu caso, isso fica assim
ssh admin@192.168.0.166Endereço IP do servidor Synology NAS
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 bashConectando ao Docker
Antes da instalação do "LinuxGSM", precisamos realizar algumas etapas.
Vamos definir uma senha para o usuário "root"
passwdEm seguida, vamos atualizar todos os pacotes
apt update && apt upgrade && apt autoremoveAguardando o término do processo…
Atualização de pacotes
Em seguida, vamos instalar as utilidades necessárias
apt-get install sudo iproute2 netcat nano mc p7zip-rar p7zip-fullComo executar várias ações como "root" não é a melhor ideia, vamos adicionar um novo usuário "test".
adduser testE vamos permitir que o novo usuário use o "sudo"
usermod -aG sudo testTrocamos para o novo usuário "test"
su testInstalaçã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ências
Durante a instalação, é necessário concordar com a "Steam License":
Steam License
Vamos para a aba "Install" e copiamos o código da 2ª etapa (pulamos a 1ª etapa, o usuário "test" já existe):
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver
Aguardando o download:
Baixando
E iniciamos a instalação:
./csserver installSe tudo ocorrer normalmente, veremos a mensagem "Install Complete!"
Install Complete!
Iniciamos… e vemos o erro "Multiple IP addresses found."
./csserver startMultiple IP addresses found
Em seguida, é necessário especificar para o servidor qual IP utilizar.
No meu caso, é:
192.168.0.166Vamos para a pasta cujo caminho estava na mensagem como "location":
cd /home/test/lgsm/config-lgsm/csserverE veja quais arquivos estão nessa pasta:
lsLista de arquivos na pasta csserver
Copiamos o conteúdo do arquivo "_default.cfg" para o arquivo "csserver.cfg":
cat _default.cfg >> csserver.cfgE vamos entrar no modo de edição do arquivo "csserver.cfg":
nano csserver.cfgEdição do arquivo csserver.cfg
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 + XE após a proposta de salvar, clique:
YVoltamos para a pasta do usuário "test":
cd ~E tentamos iniciar o servidor novamente. Agora o servidor deve iniciar sem problemas:
./csserver startIniciar o servidor
Para visualizar informações mais detalhadas, utilizaremos o comando:
.\/csserver detailsInformações detalhadas sobre servidor
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 roteador
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.cfgO segundo está aqui:
~\/serverfiles\/cstrike\/csserver.cfgO 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\/mapsEncontramos 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 restartA 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



