PixArkのUbuntu Server 19.04システムサービス

PixArkのUbuntu Server 19.04システムサービス

UbuntuサーバーにPixArkサーバー用のsystemdサービスを作成しました。このサービスは、クラッシュが発生してもサーバーを実行し続け、システムが再起動またはシャットダウンしたときにサーバーを安全にシャットダウンできるようにします。コードは以下のように表示されます。

[Unit]
Description=PixArk SilentMecha
After=network.target

[Service]
WorkingDirectory=/PixArk
Type=forking
User=mecha

Restart=always

ExecStart=/usr/bin/screen -S PixArk -d -m ./start_server.sh

ExecStop=/PixArk/rconcli/rcon-cli --config /PixArk/PixArk.yaml "ServerChat SERVER SHUTTING DOWN IN 15 SECONDS..."
ExecStop=/bin/sleep 5
ExecStop=/PixArk/rconcli/rcon-cli --config /PixArk/PixArk.yaml "ServerChat SERVER SHUTTING DOWN IN 10 SECONDS..."
ExecStop=/bin/sleep 5
ExecStop=/PixArk/rconcli/rcon-cli --config /PixArk/PixArk.yaml "ServerChat SERVER SHUTTING DOWN IN 5 SECONDS..."
ExecStop=/bin/sleep 5
ExecStop=/PixArk/rconcli/rcon-cli --config /PixArk/PixArk.yaml "saveworld"
ExecStop=/bin/sleep 1
ExecStop=/PixArk/rconcli/rcon-cli --config /PixArk/PixArk.yaml "DoExit"

[Install]
WantedBy=multi-user.target

start_server.sh ファイルは次のとおりです。

#!/bin/bash
wine64 /PixArk/ShooterGame/Binaries/Win64/PixARKServer.exe CubeWorld_Light?DelayRegisterServer=True?bRawSockets=True?SessionName="SilentMecha"?MaxPlayers=20?RCONEnabled=True?RCONPort=27017? -server -gameplaylogging -log -CULTUREFORCOOKING=en -NoBattlEye -QueryPort=27016 -Port=27015 -CubePort=27018 -cubeworld=SilentMecha -NoHangDetection

私はそれを動作しています。起動しますが、コマンドを実行するとsudo systemctl stop PixArk長い時間中断され、次のコマンドが完了します。最後のExecStopコマンドの直後に完了するMinecraftサーバーとまったく同じサービスを作成しました。私が逃したものはありますか?私はまだsystemd使用の専門家ではないので、誰か私を助けてください。停止しますが、他のコマンドを実行する前にシェルに戻るのにMinecraftサーバーよりも時間がかかります。

したがって、コマンドを手動で実行すると、20秒以内にすべてのタスクを完了できます。 systemdで実行すると、sudo systemctl stop PixArk端末に戻るのに1〜2分かかります。システムをシャットダウンする前に、フィックスアークサーバーを安全にシャットダウンして動作するため、障害の原因を探そうとします。完了するのに時間がかかると、終了シーケンスが予想より2分長くなるのではないかと心配されます。現時点では大きな問題ではありませんが、どこで間違っているのか知りたいです。たぶん私は簡単なものを見逃しているかもしれません。

ベストアンサー1

おすすめ記事