Transformar un Synology NAS en un servidor de juegos

Transformar un Synology NAS en un servidor de juegos

¡Saludos!

Por razones bien conocidas, tenemos que pasar más tiempo en casa frente al monitor.
En esta situación, es momento de recordar tiempos pasados.

Como ya se indica en el título de este artículo, trataremos sobre la configuración de un Synology NAS como servidor de juegos.

Achtung — ¡en el artículo hay muchas capturas de pantalla (las capturas son clicables)!

Antes de comenzar, aquí está la lista de herramientas que necesitaremos:

Synology NAS — aquí no veo limitaciones, creo que cualquier modelo servirá, siempre y cuando no haya planes de tener un servidor de 10k jugadores.

Docker — no se requieren habilidades especiales, solo es necesario entender el principio de funcionamiento de manera general.

LinuxGSM — se puede leer sobre qué es LinuxGSM en el sitio web oficial https://linuxgsm.com.

A partir de ahora (abril de 2020), LinuxGSM tiene disponibles 105 servidores de juegos.
Puedes ver toda la lista aquí https://linuxgsm.com/servers.

Steam — un mercado de juegos.

Servidor de juegos LinuxGSM tiene integración con SteamCMD, es decir, el servidor de juegos LinuxGSM solo se podrá usar para juegos de Steam.

Instalación de Docker en el Synology NAS

En esta etapa es simple, accedemos al panel de administración de Synology, luego a ‘Package centre’, encontramos e instalamos Docker.

Package centreTransformar un Synology NAS en un servidor de juegos
Abrimos y vemos algo parecido a esto (ya tengo instalado este contenedor)

Gestión del contenedorTransformar un Synology NAS en un servidor de juegos
Luego, pasamos a la pestaña ‘Registry’, escribimos en la búsqueda ‘gameservermanagers’, seleccionamos la imagen ‘gameservermanagers/linuxgsm-docker’ y hacemos clic en el botón ‘Download’.

gameservermanagers/linuxgsm-dockerTransformar un Synology NAS en un servidor de juegos
Después pasamos a la pestaña ‘Image’, esperamos a que termine la descarga de la imagen y hacemos clic en el botón ‘Launch’.

Descarga de la imagenTransformar un Synology NAS en un servidor de juegos
En la ventana emergente, necesitamos ir a ‘Advanced Settings’, luego a la pestaña ‘Network’ y marcar la casilla ‘Use the same network as Docker Host’.

El resto de configuraciones, como el ‘Container Name’, lo cambiamos a nuestro gusto.
Container Name — como no es difícil adivinar, este es el nombre del contenedor, que se usará más adelante. Recomiendo nombrarlo de manera concisa, por ejemplo, ‘test’.

Luego hacemos clic en el botón ‘Apply’ o ‘Next’ varias veces hasta completar la configuración.

Configuración AvanzadaTransformar un Synology NAS en un servidor de juegos
Pasamos a la pestaña ‘Container’ y vemos el nuevo contenedor iniciado (si no, lo iniciamos).
Aquí se puede detener, iniciar, eliminar y realizar otras acciones.

Iniciar el contenedorTransformar un Synology NAS en un servidor de juegos

Configuración del contenedor Docker LinuxGSM

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

Conexión a través de SSH.Transformar un Synology NAS en un servidor de juegos
Luego, es necesario usar la dirección IP Synology NAS servidores para conectarse a través de SSH.

Vamos al terminal (o a cualquier otro equivalente, por ejemplo en Windows esto PuTTY) y utilizamos el siguiente comando:

ssh user_name@IP

En mi caso, se ve así

ssh admin@192.168.0.166

La dirección IP del servidor Synology NASTransformar un Synology NAS en un servidor de juegos
Después de autorizar, hay que ejecutar el comando para acceder al contenedor "test" (el campo "Container Name" en la configuración de Docker) como usuario "root"

sudo docker exec -u 0 -it test bash

Conexión a DockerTransformar un Synology NAS en un servidor de juegos
Antes de instalar "LinuxGSM" hay que realizar algunas acciones.

Establezcamos una contraseña para el usuario "root"

passwd

A continuación, actualizaremos todos los paquetes

apt update && apt upgrade && apt autoremove

Esperamos a que finalice el proceso...

Actualización de paquetesTransformar un Synology NAS en un servidor de juegos
A continuación, instalaremos las utilidades necesarias

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

Dado que ejecutar diversas acciones como "root" no es la mejor idea, añadiremos un nuevo usuario "test".

adduser test

Y permitiremos que el nuevo usuario utilice "sudo"

usermod -aG sudo test

Cambiamos al nuevo usuario "test"

su test

Instalación de utilidadesTransformar un Synology NAS en un servidor de juegos

Instalación y configuración de LinuxGSM

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

Vamos a la página de instrucciones de "Counter-Strike" linuxgsm.com/lgsm/csserver.

En la pestaña "Dependencies", copiamos el código para "Ubuntu 64-bit."

Al momento de escribir este artículo, 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 dependenciasTransformar un Synology NAS en un servidor de juegos
Durante el proceso de instalación, necesitas aceptar la "Steam License":

Steam LicenseTransformar un Synology NAS en un servidor de juegos
Vamos a la pestaña "Install", copiamos el código del 2º paso (nos saltamos el 1º paso, el usuario "test" ya existe):

InstalarTransformar un Synology NAS en un servidor de juegos

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

Esperamos a que se descargue:

DescargandoTransformar un Synology NAS en un servidor de juegos
Y comenzamos la instalación:

./csserver install

Si todo ha salido bien, veremos "Install Complete!"

Install Complete!Transformar un Synology NAS en un servidor de juegos
Iniciamos… y vemos el error "Multiple IP addresses found."

./csserver start

Multiple IP addresses foundTransformar un Synology NAS en un servidor de juegos
Luego, necesitamos especificar explícitamente al servidor qué IP utilizar.

En mi caso, es:

192.168.0.166

Vamos a la carpeta cuyo camino fue mencionado como "location":

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

Y veamos qué archivos hay en esta carpeta:

Muestra el contenido del directorio. Si no se proporciona una ruta, se muestra el contenido del directorio actual.

Lista de archivos en la carpeta csserverTransformar un Synology NAS en un servidor de juegos
Copiamos el contenido del archivo "_default.cfg" al archivo "csserver.cfg":

cat _default.cfg >> csserver.cfg

Y entramos en el modo de edición del archivo "csserver.cfg":

nano csserver.cfg

Edición del archivo csserver.cfgTransformar un Synology NAS en un servidor de juegos
Buscamos la línea:

ip="0.0.0.0"

Y reemplazamos la dirección IP que se sugería, en mi caso es "192.168.0.166".

Así será más o menos:

ip="192.168.0.166"

Presionamos la combinación de teclas:

Ctr + X

Y después de la propuesta, hacemos clic en:

Y

Regresamos a la carpeta del usuario «test»:

cd ~

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

./csserver start

Iniciando el servidorTransformar un Synology NAS en un servidor de juegos
Para ver información más detallada, utilizamos el comando:

.\/csserver details

Información detallada sobre servidorTransformar un Synology NAS en un servidor de juegos
De los parámetros importantes, se deben 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 esta etapa, el servidor de juegos ya está disponible en la red local.

Configuración de redirección de dirección IP

Jugar en red local está bien, ¡pero jugar con amigos a través de Internet es mejor!

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

También es relevante notar que la mayoría de los proveedores utilizan direcciones IP dinámicas para sus clientes.

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

Como tengo un enrutador «TP-Link Archer C60», doy un ejemplo de configuración de redirección, tal como se implementa en mi enrutador.

Para otros enrutadores, supongo que la configuración de redirección se realiza de manera similar.

Es muy simple: solo es necesario especificar la redirección de 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, esto se ve así

Panel de administración del enrutadorTransformar un Synology NAS en un servidor de juegos
¡Y eso es todo! Después de guardar la configuración del enrutador, el servidor de juegos estará disponible en la red a través de la dirección IP externa para los puertos especificados.

Configuraciones adicionales con el ejemplo de CS 1.6

Con el ejemplo de CS 1.6, me gustaría dar algunos consejos útiles.

Hay dos archivos para la configuración del servidor

El primero se encuentra aquí:

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

El segundo se encuentra aquí:

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

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

El segundo archivo contiene configuraciones de comandos que se pueden ejecutar a través de la consola de «Counter-Strike», como «rcon_password» o «sv_password».

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

La lista de todas las variables CVar se puede ver aquí http://txdv.github.io/cstrike-cvarlist

También es probable que sea necesario instalar mapas adicionales, como «fy_pool_day».

Todas las mapas para CS 1.6 están aquí:

~\/serverfiles\/cstrike\/maps

Encontramos el mapa que necesitamos, lo subimos directamente al servidor (si está en un archivo comprimido, lo descomprimimos), movemos el archivo con la extensión «.bsp» a la carpeta de archivos «~\/serverfiles\/cstrike\/maps» y reiniciamos el servidor.

~.\/csserver restart

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

~.\/csserver

 

Summary

Estoy satisfecho con el resultado. Todo funciona rápido y no tiene lag.

LinuxGSM tiene muchas configuraciones adicionales, como la integración con Telegram y Slack para notificaciones, pero algunas funciones aún requieren ajustes.

En general, lo recomiendo para su uso.

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.github.io/cstrike-cvarlist

UPD

Como notó centralhardware no todos los Synology NAS pueden usar Docker, aquí está la lista de dispositivos que pueden https://www.synology.com/ru-ru/dsm/packages/Docker.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster