screen veya tmux pratik bir çözümdür ama makine yeniden başladığında sunucuyu elle tekrar açmanız gerekir. systemd, sunucuyu gerçek bir sistem servisi haline getirerek bu sorunu tamamen ortadan kaldırır.

Servis Dosyasını Oluşturma

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

İçine şunu yazın (yolları ve kullanıcı adını kendinize göre değiştirin):

[Unit]
Description=Minecraft Server
After=network.target

[Service]
User=minecraft
WorkingDirectory=/home/minecraft/server
ExecStart=/usr/bin/java -Xms4G -Xmx4G -jar paper.jar nogui
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
Neden ayrı bir kullanıcı? Sunucuyu root yerine ayrı bir sistem kullanıcısıyla (örn. minecraft) çalıştırmak, olası bir güvenlik açığında zararı sınırlar. sudo adduser --system --group minecraft ile hızlıca oluşturabilirsiniz.

Servisi Etkinleştirme

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

Yönetim Komutları

KomutNe yapar
systemctl status minecraftSunucunun durumunu gösterir
systemctl restart minecraftYeniden başlatır
systemctl stop minecraftDurdurur
journalctl -u minecraft -fCanlı logları izler
Konsola komut yazamazsınız systemd ile çalışan bir sunucuya doğrudan konsol komutu (örn. /say merhaba) yazamazsınız. Bunun için RCON destekli bir eklenti veya panel kullanmanız gerekir.

Alternatif olarak konsola doğrudan erişim istiyorsanız screen/tmux yöntemine bakabilirsiniz.