
Como acompanhamentoum dos meus posts anteriores, estou usando o systemd para executar um servidor GMod no Ubuntu 18.04. Meu script systemd é assim:
[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
e meu servidor funciona bem, mas o problema é que systemctl status
não journalctl
está mostrando os logs reais do binário do servidor.
Isso ocorre porque run_gmod.sh
executa o srcds_run
script (parte dosrcdsinstalação) com os parâmetros do meu servidor (qual modo de jogo, qual mapa, etc). srcds_run
pega esses parâmetros e define algumas variáveis de ambiente e, em seguida, executa o binário do servidor real (além de ter alguma lógica para reiniciar o binário do servidor após uma falha, atualizar o servidor, etc.).
srcds_run
tem muita lógica, então não quero ignorá-lo e executar o binário diretamente (a menos que alguém mais experiente com servidores srcds ache que essa é uma opção melhor), prefiro apenas systemctl
mostrar journalctl
os logs do binário do servidor. Tentei usar Type=forking
, mas a execução systemctl restart gmod
travou, então não tenho certeza se essa é a opção certa aqui. Alguém sabe como obter os logs adequados systemctl
/uma maneira melhor de executar o servidor?