私はLinux(CentOS 7.2)に初めて触れました。
この素晴らしい機能を使用できるようにHurtworld
サーバーを実行しようとしています。ただし、複数のサーバーを運用するために別々のセッションを使用する必要があったことを思い出してください。systemd
restart=always
HW
tmux
これは私のサーバー起動スクリプトの1つです。
#!/bin/bash
tmux new -d -s hurtworld5 '
./Hurtworld.x86_64 -batchmode \
-nographics \
-exec "host 15871;queryport 15872;servername [EU/US] <color=#f50>HURTCRAFT.com X1/VANILLA INF 25.05</color> www.hurtcraft.com;maxplayers 120;addadmin 76561197987029828;structurecomplexitylimit 100000;targetfps 60;spawncooldown -0.1 20;combatlogtimeout 30;afkkicktime 260000;chatconnectionmessagesenabled 0;vehicledecaytime 86400;stakedeauthtime 518400" \
-logfile "gamelog.txt"
'tmux detach -s hurtworld5
このスクリプトはサーバーを実行するのに適していますが、どのバリアントや抜粋を使用しても渡すことはできませんsystemd
。私が得ることができる最善は、実際の実行可能HurtworldServer
ファイルを実行することですが、すぐに消えます。私はこれがこの方法では実行できないからだと思いますtmux
。サーバーが動作するまでサーバーを操作しようとしている間、まさにこのような問題があったことを覚えておいてくださいtmux
。
tmux
そのため、作成したセッションからアプリケーションを起動する方法を知る必要があるようですsystemd
。ただし、systemd
サーバーの実行可能ファイルを基本プロセスとして登録しない新しい問題が発生すると予想されるため、restart = alwaystmux
はサーバーがシャットダウンした場合にのみ再起動されますか?
私が岩と大変な場所の間に閉じ込められたようで、それが私の脳を乱すようです。それで、dedi
私がこれを得て以来、あなたが学んだ偉大な天才のどれも、私がこれを理解するのを助けたいと思います。出たら本当に嬉しくて感謝しそうです。
私はスクリプトを使用し、実際のプロセスを別の方法で追跡するオプションを提供したり、このようなupstart
ものを喜んで使用したりします。monit
答え1
だから私はすべてが大丈夫です
[Unit]
Description=HW1SVC
After=network.target
[Service]
Type=simple
User=servers2
WorkingDirectory=/data/steamcmd/hw6/
ExecStart=/data/steamcmd/hw6/Hurtworld.x86_64 -batchmode -nographics -exec "autoexec.cfg" -logfile "gamelog.txt"
KillSignal=SIGINT
TimeoutStopSec=30
Restart=always
[Install]
WantedBy=network.target
誰かに役立つ場合に備えて動作する.serviceファイルは次のとおりです。私は問題が最終的に欠落している作業ディレクトリパラメータによって引き起こされたと思いますが、正直にはわかりません。助けてくれたDaveには本当にありがとう!