Ubuntu server的Spigot systemd自動啟動、關閉

這需要一些概念,但照步驟走也是可以
首先,先建立minecraft的user以啟動時執行

sudo groupadd -r minecraft
sudo useradd -r -g minecraft -d “/var/minecraft” -s “/bin/bash” minecraft

建立好之後,先建立資料夾系統

sudo mkdir -p /var/minecraft/{backup/server,build/spigot,build/mcrcon,server}

在進入minecraft使用者後進行mcrcon設置

cd ~/build/mcrcon
git clone git://git.code.sf.net/p/mcrcon/code mcrcon-code
cd mcrcon-code
gcc mcrcon.c -o mcrcon
cp mcrcon ~/

接著輸入exit後,執行

sudo nano /etc/systemd/system/minecraft.service

貼上這些內容:

[Unit]
Description=Minecraft Server
Documentation=
Wants=network.target
After=network.target
[Service]
User=minecraft
Group=minecraft
Nice=5
EnvironmentFile=-/var/minecraft/unit.conf
KillMode=none
SuccessExitStatus=0 1
ProtectHome=true
ProtectSystem=full
PrivateDevices=true
NoNewPrivileges=true
PrivateTmp=true
InaccessibleDirectories=/root /sys /srv -/opt /media -/lost+found
ReadWriteDirectories=/var/minecraft/server
WorkingDirectory=/var/minecraft/server
ExecStart=/usr/bin/java -Xmx2048M -Xms1024M -jar spigot.jar –noconsole
ExecStop=/var/minecraft/mcrcon -H localhost -P $port -p $password stop
[Install]
WantedBy=multi-user.target

注意,「$port」、「$password」要記得更改成正確資訊(下面會設置port號和密碼)
接著Ctrl + O 後,Ctrl + X 離開,再執行

sudo nano /var/minecraft/server/server.properties

在裡面的最下面新增

rcon.port=$port
rcon.password=$password
enable-rcon=true

注意,「$port」、「$password」要記得更改成正確資訊(同上方)
最後,reload之後啟用開機時啟動和執行

sudo systemctl daemon-reload
sudo systemctl enable minecraft
sudo systemctl start minecraft

完成!

留言

這個網誌中的熱門文章

OpenVPN Server build on Debian 11

OpenWRT dumb AP with WPA3-SAE + 802.11r