Skip to content

Instantly share code, notes, and snippets.

@minetaro12
Last active September 10, 2022 16:15
Show Gist options
  • Save minetaro12/9a73230350f5593774f2b8eab5f90b8b to your computer and use it in GitHub Desktop.
Save minetaro12/9a73230350f5593774f2b8eab5f90b8b to your computer and use it in GitHub Desktop.
Minecraftサーバーをsystemd+tmuxでサービス化
#!/bin/bash
TMUX_NAME=mcserver
case $1 in
start)
tmux new-session -s $TMUX_NAME -d "java -jar server.jar nogui";;
stop)
tmux send-keys -t $TMUX_NAME "say 10秒後にサーバーを停止します" Enter
sleep 10
tmux send-keys -t $TMUX_NAME "save-all" Enter
sleep 5
tmux send-keys -t $TMUX_NAME "stop" Enter
sleep 20;;
*)
echo "start | stop"
esac
[Unit]
Description=Minecraft Server
After=network-online.target
[Service]
Type=forking
User=ubuntu
WorkingDirectory=/home/ubuntu/mc-server
ExecStart=/bin/bash /home/ubuntu/mc-server/boot.sh start
ExecStop=/bin/bash /home/ubuntu/mc-server/boot.sh stop
Restart=always
[Install]
WantedBy=multi-user.target
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment