Convierta Synology NAS en un servidor de juegos



¡Saludos!

Por lo tanto, por todas las razones conocidas, debe pasar más tiempo en casa frente al monitor.
En esta situación, es necesario recordar los asuntos de los días pasados.

Como ya se desprende del título de este artículo, hablaremos sobre la configuración de su Synology NAS como servidor de juegos.

Achtung : ¡hay muchas capturas de pantalla en el artículo (se puede hacer clic en las capturas de pantalla)!

Antes de comenzar, aquí hay una lista de herramientas que necesitamos:

Synology NAS : no veo restricciones aquí, creo que cualquiera lo hará, si no hay planes para mantener un servidor para 10k jugadores.

Docker : no se requieren habilidades especiales, figurativamente suficientes para comprender el principio del trabajo.

LinuxGSM : sobre qué es LinuxGSMse puede leer En línea https://linuxgsm.com .

Actualmente (abril de 2020), 105 servidores de juegos están disponibles en LinuxGSM.
La lista completa se puede encontrar aquí https://linuxgsm.com/servers .

Steam es un mercado con juegos.

El servidor de juegos LinuxGSM tiene integración con SteamCMD , es decir, el servidor de juegos LinuxGSM solo puede usarse para juegos de Steam.

Instale Docker en Synology NAS


En esta etapa, todo es simple, vaya al panel de administración de Synology, luego en el "Centro de paquetes", busque e instale Docker.

Centro de paquete

Comenzamos y vemos algo como esto (ya tengo este contenedor instalado)

Gestión de contenedores

A continuación, vaya a la pestaña "Registro", acceda a la búsqueda "gameservermanagers", seleccione la imagen "gameservermanagers / linuxgsm-docker" y haga clic en el botón "Descargar".

gameservermanagers / linuxgsm-docker

Después de eso, vaya a la pestaña "Imagen", espere a que la imagen termine de cargarse y haga clic en el botón "Iniciar".

Descargar imagen

En la ventana que se abre, vaya a "Configuración avanzada", luego vaya a la pestaña "Red" y marque la casilla "Usar la misma red que Docker Host".

Otras configuraciones, por ejemplo, como "Nombre del contenedor", se cambian a nuestro criterio.
Nombre del contenedor: como puede suponer, este es el nombre del contenedor, será útil más adelante. Recomiendo llamarlo de alguna manera sucinta, por ejemplo, que sea "prueba".

Luego, haga clic en el botón "Aplicar" o "Siguiente" varias veces hasta que se complete la configuración.

Ajustes avanzados

Vaya a la pestaña "Contenedor" y vea el nuevo contenedor lanzado (si no, inicie).
Aquí puede detener, iniciar, eliminar y realizar otras acciones.

Lanzamiento de contenedores

Configuración del contenedor Docker LinuxGSM


Antes de conectarse a Synology NAS a través de SSH, debe activar el acceso SSH en el panel de administración.

Conexión SSH

A continuación, debe usar la dirección IP interna del servidor NAS de Synology para conectarse a través de SSH.

Vaya a la terminal (o cualquier otro análogo, por ejemplo, en Windows es PuTTY ) y use el siguiente comando:

ssh user_name@IP

En mi caso se ve así

ssh admin@192.168.0.166

Dirección IP del servidor NAS de Synology

Después de la autorización, debe ejecutar el comando para ir al contenedor "prueba" en sí (el campo "Nombre del contenedor" en la configuración de Docker) debajo de la "raíz" del usuario

sudo docker exec -u 0 -it test bash

Conectarse a Docker

Antes de instalar LinuxGSM, debe hacer algo de trabajo.

Establecer una contraseña para el usuario root

passwd

Luego, actualice todos los paquetes

apt update && apt upgrade && apt autoremove

Estamos esperando el final del proceso ...

Actualizaciones de paquete

Luego, instale las utilidades necesarias

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

Dado que, en "raíz", realizar diferentes acciones no es una buena idea, agregamos un nuevo usuario, "prueba".

adduser test

Y deja que el nuevo usuario use sudo

usermod -aG sudo test

Cambie al nuevo usuario "prueba"

su test

Instalar utilidades

Instalar y configurar LinuxGSM


Veamos un ejemplo de configuración de LinuxGSM usando el ejemplo "Counter-Strike", también conocido como "CS 1.6" https://linuxgsm.com/lgsm/csserver

Vaya a la página con las instrucciones "Counter-Strike" linuxgsm.com/lgsm/csserver .

En la pestaña "Dependencias", copie el código en "Ubuntu 64-bit".

Al momento de escribir, este código se ve así:

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

Instalación de dependencia

Durante el proceso de instalación, debe aceptar la "Licencia de Steam":

Licencia Steam

Vaya a la pestaña "Instalar", copie el código del segundo paso (omita el primer paso, la "prueba" del usuario ya existe):

Instalar en pc

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

Esperando descarga:

Descargar

Y comience la instalación:

./csserver install

Si todo salió como de costumbre, veremos el preciado "¡Instalación completa!"

Instalar completo!

Comenzamos ... y vemos el error "Se encontraron varias direcciones IP".

./csserver start

Múltiples direcciones IP encontradas

A continuación, debe indicarle explícitamente al servidor qué IP usar.

En mi caso es:

192.168.0.166

Vaya a la carpeta, la ruta a la que estaba en el mensaje como "ubicación":

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

Y vea qué archivos hay en esta carpeta:

ls

Lista de archivos en la carpeta csserver

Copie el contenido del archivo "_default.cfg" al archivo "csserver.cfg":

cat _default.cfg >> csserver.cfg

Y vaya al modo de edición del archivo "csserver.cfg":

nano csserver.cfg

Edición del archivo csserver.cfg

Encuentra la línea:

ip="0.0.0.0"

Y reemplace la dirección IP que se propuso, en mi caso es "192.168.0.166".

Resultará algo como esto:

ip="192.168.0.166"

Sujete el atajo de teclado:

Ctr + X

Y después de guardar la oferta, haga clic en:

Y

Volvemos a la carpeta de usuario "prueba":

cd ~

Y nuevamente intentamos iniciar el servidor. Ahora el servidor debería comenzar sin problemas:

./csserver start

Inicio del servidor

Para ver información más detallada, use el comando:

./csserver details

Información detallada del servidor

De los parámetros importantes vale la pena señalar:

  • IP del servidor: 192.168.0.166:27015
  • IP de Internet: xxx.xx.xxx.xx: 27015
  • Archivo de configuración: /home/test/serverfiles/cstrike/csserver.cfg

En este punto, el servidor del juego ya está disponible en la red local.

Establecer el reenvío de IP


Jugar en la red local es bueno, ¡pero jugar con amigos a través de Internet es mejor!

Para reenviar la dirección IP que el enrutador recibió del proveedor, utilizamos el mecanismo NAT .

También será apropiado tener en cuenta que la mayoría de los proveedores usan direcciones IP dinámicas para sus clientes.

Para mayor comodidad y estabilidad, es recomendable obtener una dirección IP estática.

Como tengo un enrutador TP-Link Archer C60, doy un ejemplo de configuración de reenvío de llamadas, ya que está implementado en mi enrutador.

Para otros enrutadores, supongo que la configuración de reenvío es similar.

Aquí todo es simple: debe especificar el reenvío desde la dirección IP externa a la dirección IP interna del servidor para dos puertos:

  • 27015
  • 27005


En el panel de administración de mi enrutador, se ve así

Panel de enrutador de administrador

¡Eso es todo, después de guardar la configuración del enrutador, el servidor del juego estará disponible en la red en una dirección IP externa para los puertos especificados!

Configuraciones adicionales en el ejemplo de CS 1.6


Por ejemplo, CS 1.6 quisiera dar algunos consejos útiles.

Hay dos archivos para la configuración del servidor.

El primero está aquí:

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

El segundo está aquí:

~/serverfiles/cstrike/csserver.cfg

El primer archivo contiene configuraciones generales, como la dirección IP, el mapa para el primer arranque del servidor, etc.

El segundo archivo contiene la configuración de los comandos que se pueden ejecutar a través de la consola Counter-Strike, por ejemplo, rcon_password o sv_password.

En el segundo archivo, recomiendo establecer una contraseña para conectarse al servidor a través de CVar "sv_password" y establecer una contraseña para la administración desde la consola del servidor a través de CVar "rcon_password".

Puede encontrar una lista de todas las variables CVar aquí http://txdv.imtqy.com/cstrike-cvarlist

Además, lo más probable es que sea necesario instalar tarjetas adicionales, por ejemplo, "fy_pool_day".

Todos los mapas para CS 1.6 están aquí:

~/serverfiles/cstrike/maps

Encontramos el mapa deseado, lo subimos directamente al servidor (si está en el archivo, lo descomprimimos), movemos el archivo con la extensión ".bsp" a la carpeta con los archivos "~ / serverfiles / cstrike / maps" y reiniciamos el servidor.

~./csserver restart

Por cierto, todos los comandos del servidor disponibles se pueden ver así

~./csserver

Total


Estoy satisfecho con el resultado. Todo funciona rápidamente y no se retrasa.

LinuxGSM tiene muchas configuraciones adicionales, por ejemplo, integración con Telegram y Slack para notificaciones, pero algunas funcionalidades aún necesitan mejoras.

En general, recomiendo usar!

Fuentes


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.imtqy.com/cstrike-cvarlist

UPD


Como se notó hardware centralNo todos los Synology NAS pueden en Docker, aquí hay una lista de dispositivos que pueden https://www.synology.com/ru-ru/dsm/packages/Docker .

All Articles