
Como seguimiento auna de mis publicaciones anteriores, estoy usando systemd para ejecutar un servidor GMod en Ubuntu 18.04. Mi script systemd se ve así:
[Unit]
Description=Gmod Server
After=network.target
[Service]
User=rooday # the user I normally run run_gmod.sh with
ExecStart=/datadrive/srcds/run_gmod.sh
Restart=Always
[Install]
WantedBy=multi-user.target
y mi servidor funciona bien, pero el problema es ese systemctl status
y journalctl
no muestra los registros reales del binario del servidor.
Esto se debe a que run_gmod.sh
ejecuta el srcds_run
script (parte delsrcdsinstalación) con los parámetros de mi servidor (qué modo de juego, qué mapa, etc.). srcds_run
toma estos parámetros y establece algunas variables de entorno, y luego ejecuta el binario del servidor real (además de tener cierta lógica para reiniciar el binario del servidor después de una falla, actualizar el servidor, etc.).
srcds_run
tiene mucha lógica, por lo que no quiero omitirlo y ejecutar el binario directamente (a menos que alguien con más experiencia con servidores srcds piense que es una mejor opción), prefiero simplemente tener systemctl
y journalctl
mostrar los registros del binario del servidor. Intenté usarlo Type=forking
pero luego la ejecución systemctl restart gmod
se bloqueaba, así que no estoy seguro de si esa es la opción correcta aquí. ¿Alguien sabe cómo obtener los registros adecuados systemctl
/una mejor manera de ejecutar el servidor?