Skip to content

Instantly share code, notes, and snippets.

@krdlab
Last active February 23, 2023 04:54
Show Gist options
  • Save krdlab/040c8948f4b7ac6f143666ee6e5d16a0 to your computer and use it in GitHub Desktop.
Save krdlab/040c8948f4b7ac6f143666ee6e5d16a0 to your computer and use it in GitHub Desktop.
Minecraft server on Ubuntu server
# https://zenn.dev/de_teiu_tkg/articles/1b9025d3a6db71
sudo apt-get install openjdk-17-jdk-headless tmux
sudo timedatectl set-timezone Asia/Tokyo
# https://www.minecraft.net/ja-jp/download/server
wget https://piston-data.mojang.com/v1/objects/c9df48efed58511cdd0213c56b9013a7b5c9ac1f/server.jar
sudo mkdir /opt/minecraft-server
sudo mv server.jar /opt/minecraft-server/
sudo cp minecraft-server.service /etc/systemd/system/
sudo ufw allow 25565
sudo ufw allow from <ip address range>
[Unit]
Description=Minecraft Server
After=network-online.target
[Service]
Type=forking
User=ubuntu
WorkingDirectory=/opt/minecraft-server
ExecStart=/bin/bash /opt/minecraft-server/minecraft.sh start
ExecStop=/bin/bash /opt/minecraft-server/minecraft.sh stop
Restart=always
[Install]
WantedBy=multi-user.target
#!/bin/bash
# https://0sn.net/posts/20220821/mcserver-systemd/
TMUX_NAME=minecraft-server
case $1 in
start)
tmux new-session -s $TMUX_NAME -d "java -jar server.jar nogui";;
stop)
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment