
続きとして以前の投稿の一つ私は systemd を使用して Ubuntu 18.04 で GMod サーバーを実行しています。私の systemd スクリプトは次のようになります。
[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
サーバーは正常に動作しますが、問題はsystemctl status
サーバーjournalctl
バイナリの実際のログが表示されないことです。
これは、run_gmod.sh
スクリプトsrcds_run
(srcdsインストール時に、サーバーのパラメータ(ゲームモード、マップなど)を設定します。srcds_run
これらのパラメータを取得して環境変数を設定し、実際のサーバー バイナリを実行します(クラッシュ後にサーバー バイナリを再起動したり、サーバーを更新したりするロジックもあります)。
srcds_run
ロジックがたくさんあるので、それをバイパスしてバイナリを直接実行したくありません (srcds サーバーに詳しい人がその方が良いオプションだと考えている場合を除く) 。サーバー バイナリのログを取得しsystemctl
て表示したいだけです。 を使用しようとしましたが、実行するとハングアップするため、これが適切なオプションかどうかわかりません。適切なログを取得する方法や、サーバーを実行するより良い方法をご存知の方はいませんか?journalctl
Type=forking
systemctl restart gmod
systemctl