
Saudações!
Então, por todos os motivos conhecidos, você tem que passar mais tempo em casa na frente do monitor.
Neste estado de coisas, é preciso lembrar os assuntos de tempos passados.
Como fica claro no título deste artigo, falaremos sobre a configuração de um Synology NAS como servidor de jogos.
Atenção - há muitas capturas de tela no artigo (as capturas de tela são clicáveis)!
Antes de começarmos, aqui está uma lista das ferramentas que precisaremos:
- Não vejo nenhuma restrição aqui, acho que qualquer um verá, se não houver planos de manter um servidor para 10k jogadores.
- não são necessárias habilidades especiais, basta compreender figurativamente o princípio de funcionamento.
- sobre o que é LinuxVocê pode ler mais sobre GSM no site oficial. .
Neste momento (abril de 2020) em LinuxGSM possui 105 servidores de jogos disponíveis.
A lista completa pode ser vista aqui .
- um mercado com jogos.
Servidor de jogos LinuxO GSM possui integração com Ou seja, o servidor de jogos. LinuxO GSM só pode ser usado para jogos da Steam.
Instalando o Docker no Synology NAS
Nesta fase, tudo é simples, vá ao painel de administração da Synology, depois ao “Centro de pacotes”, encontre e instale o Docker.
centro de pacotes
Lançamos e vemos algo assim (já tenho este container instalado)
Gerenciamento de contêineres
Em seguida, vá até a aba “Registro”, digite “gameservermanagers” na busca, selecione a imagem “gameservermanagers/linuxgsm-docker” e clique no botão “Download”.
gameservermanagers/linuxgsm-docker
Depois disso, vá até a aba “Imagem”, espere a imagem terminar de carregar e clique no botão “Iniciar”.
Baixar imagem
Na janela que se abre, vá em “Configurações avançadas”, depois na aba “Rede” e marque a caixa “Usar a mesma rede do Docker Host”.
O restante das configurações, por exemplo, como "Nome do contêiner", alteramos a nosso critério.
Nome do contêiner - como você pode imaginar, este é o nome do contêiner, será útil mais tarde. Recomendo chamar de algo sucinto, por exemplo, que seja “teste”.
Em seguida, clique várias vezes no botão “Aplicar” ou “Avançar” até que as configurações sejam concluídas.
Configurações avançadas
Vá para a guia "Container" e veja um novo contêiner em execução (se não, inicie).
Aqui você pode parar, iniciar, excluir e realizar outras ações.
Executando um contêiner
Configurando um contêiner Docker LinuxGSM
Antes de poder se conectar ao seu Synology NAS via SSH, você precisa habilitar o próprio acesso SSH no painel de administração.
Conectando via SSH
Em seguida, você precisa usar o endereço IP interno do servidor Synology NAS para conectar via SSH.
Acesse o terminal (ou qualquer outro similar, por exemplo, em Windows это ) e use o seguinte comando:
ssh user_name@IPNo meu caso, parece com isso
ssh admin@192.168.0.166 Endereço IP do servidor Synology NAS
Após a autorização, você precisa executar o comando para ir para o próprio contêiner "teste" (o campo "Nome do contêiner" nas configurações do Docker) sob o usuário "root"
sudo docker exec -u 0 -it test bash Conectando-se ao Docker
Pouco antes da instalação,LinuxA GSM precisa tomar alguma atitude.
Defina uma senha para o usuário “root”
passwdEm seguida, atualize todos os pacotes
apt update && apt upgrade && apt autoremoveAguardando o final do processo...
Atualizando pacotes
A seguir, instale os utilitários necessários
apt-get install sudo iproute2 netcat nano mc p7zip-rar p7zip-fullComo não é a melhor ideia realizar ações diferentes em “root”, adicionaremos um novo usuário “test”.
adduser testE permitir que o novo usuário use “sudo”
usermod -aG sudo testMudando para o novo usuário "teste"
su testInstalando utilitários
Instalação e configuração LinuxGSM
Vejamos um exemplo de configuração. LinuxGSM, usando "Counter-Strike" (também conhecido como "CS 1.6") como exemplo.
Vamos para a página com a instrução "Counter-Strike" .
Na aba “Dependências”, copie o código em “Ubuntu 64 bits".
No momento em que este artigo foi escrito, este código estava assim:
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
Instalando dependências
Durante o processo de instalação, você deve concordar com a "Licença Steam":
Licença Steam
Vá até a aba “Instalar”, copie o código do 2º passo (pulamos o 1º passo, o usuário “teste” já existe):
Instale
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver
Aguardando download:
Baixar
E iniciamos a instalação:
./csserver installSe tudo correr normalmente, veremos o cobiçado “Instalação concluída!”
Instalação completa!
Começamos... e vemos o erro "Vários endereços IP encontrados".
./csserver start Vários endereços IP encontrados
Em seguida, você deve informar explicitamente ao servidor qual IP usar.
No meu caso é:
192.168.0.166Vamos para a pasta cujo caminho estava na mensagem como "local":
cd /home/test/lgsm/config-lgsm/csserverE veja quais arquivos estão nesta pasta:
ls Lista de arquivos na pasta csserver
Copie o conteúdo do arquivo "_default.cfg" para o arquivo "csserver.cfg":
cat _default.cfg >> csserver.cfgE vá para o modo de edição do arquivo "csserver.cfg":
nano csserver.cfg Editando o arquivo csserver.cfg
Encontre a linha:
ip="0.0.0.0"E substituímos o endereço IP que foi proposto, no meu caso é “192.168.0.166”.
Acontecerá algo assim:
ip="192.168.0.166"Pressionamos a combinação de teclas:
Ctr + XE após a oferta para salvar, clique em:
YVoltamos à pasta do usuário “teste”:
cd ~E tente iniciar o servidor novamente. O servidor agora deve iniciar sem problemas:
./csserver start Início do servidor
Para visualizar informações mais detalhadas, use o comando:
./csserver details Informações detalhadas sobre o servidor
Dos parâmetros importantes dignos de nota:
- 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 fase, o servidor do jogo já está disponível na rede local.
Configurando o encaminhamento de endereço IP
Jogar em rede local é bom, mas jogar com amigos pela Internet é melhor!
Para encaminhar o endereço IP que o roteador recebeu do provedor, utilizamos o mecanismo NAT.
Também é pertinente observar que a maioria dos ISPs utiliza endereços IP dinâmicos para seus clientes.
Para maior comodidade e estabilidade de trabalho, é desejável obter um endereço IP estático.
Como tenho um roteador TP-Link Archer C60, dou um exemplo de configuração de encaminhamento, conforme está implementado em meu roteador.
Para outros roteadores, presumo que a configuração de encaminhamento seja semelhante.
Tudo é simples aqui - você precisa especificar o encaminhamento do endereço IP externo para o endereço IP interno do servidor para duas portas:
- 27015
- 27005
No painel de administração do meu roteador fica assim
Painel de administração do roteador
Só isso, após salvar as configurações do roteador, o servidor do jogo estará disponível na rede no endereço IP externo para as portas especificadas!
Configurações adicionais no exemplo do CS 1.6
Usando o CS 1.6 como exemplo, 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 a primeira inicialização 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 conexão ao servidor através do CVar "sv_password" e definir uma senha para gerenciamento a partir do console do servidor através do CVar "rcon_password".
Uma lista de todas as variáveis CVar pode ser encontrada aqui
Além disso, provavelmente será necessário instalar placas adicionais, por exemplo "fy_pool_day".
Todos os mapas para CS 1.6 estão aqui:
~/serverfiles/cstrike/mapsEncontramos o mapa necessário, carregamos diretamente para o servidor (se estiver no arquivo, descompacte-o), mova o arquivo com extensão ".bsp" para a pasta com os arquivos "~/serverfiles/cstrike/maps" e reinicie o servidor.
~./csserver restartA propósito, todos os comandos de servidor disponíveis podem ser visualizados assim
~./csserverTotal
Estou satisfeito com o resultado. Tudo funciona rapidamente e não demora.
LinuxO GSM possui muitas configurações adicionais, como a integração com o Telegram e o Slack para notificações, mas algumas funcionalidades ainda precisam ser aprimoradas.
Em geral, recomendo usar!
fontes
UPD
Como notado nem todos os Synology NAS podem ser encaixados, aqui está uma lista de dispositivos que podem .
Fonte: habr.com
