
不久前,我購買了 Raspberry Pi 4B 8Gb,並使用 SATA 擴充板成功設定了 PLEX 媒體伺服器。會認為我是一個很酷的叔叔。
我已完成的步驟
- 將 Raspberry PiOS 替換為 Ubuntu Server 21.04,以便 Java 可以利用整個匯流排寬度(64 位元與 32 位元)。
- 已安裝Liberica 的 Java 16 JDK為《我的世界》做準備。
- 設定 LEMP 伺服器(以 NGINX 取代 Apache)以確保 LAN 已正確設定。
- 找到了松木工藝安裝程序,這樣我就可以自動化這些步驟。
- 安裝程式腳本成功完成,但有以下注意事項。
注意事項
- 安裝程式建立初始化檔案。 Ubuntu 使用 systemd
- 伺服器的運作方式
$user
需要$password
, 或使用sudo
, 我不想每次都這樣做
我需要幫助
我已經把.service
文件從使用 Systemd 設定 Minecraft 伺服器,並將其變成這樣:
[Unit]
Description=Minecraft Server Pinecraft SysV init script conversion attempt
Documentation=https://github.com/Cat5TV/pinecraft
Wants=network.target
After=network.target
[Service]
User=minecraft
Group=minecraft
Nice=5
KillMode=none
SuccessExitStatus=0 1
#ProtectHome=true
ProtectSystem=full
PrivateDevices=true
NoNewPrivileges=true
PrivateTmp=true
InaccessiblePaths=/root /sys /srv -/opt /media -/lost+found
ReadWritePaths=/home/minecraft
WorkingDirectory=/home/minecraft
ExecStartPre=/usr/bin/screen -dmS PineCraft
ExecStart=/bin/bash /home/minecraft/server.sh
ExecStop=/bin/bash /home/minecraft/stop.sh
Restart=/bin/bash /home/minecraft/reboot.sh
[Install]
WantedBy=multi-user.target
- 我不知道如何將腳本結果“傳遞”到螢幕。
- 畫面可能始終為空,因為服務狀態顯示「活動載入/退出」。我假設
server.sh
腳本已完成,但沒有保持加載/運行狀態 - 如果我在腳本外部執行帶有 aiker 參數的 java 行,伺服器啟動時不會發生錯誤
請參閱Create the Scripts
部分,大約 3/4 的位置安裝腳本。我只.service
從套件/套件管理器安裝了一個檔案。我從來沒有必要寫過一篇。
更新
部分解決:此設定使用以下 cron 作業:
crontab -u ubuntu -l
@reboot /usr/bin/screen -dmS Pinecraft /home/ubuntu/minecraft/server > /dev/null 2>&1
server
是我為測試服務重命名之前 shell 腳本的名稱。顯然,在全新安裝時,預設情況下 cron 不會運行,也不systemctl | grep cron
回傳任何內容。一個簡單的sudo systemctl enable cron && sudo systemctl start cron
問題就解決了。
我仍然保持開放狀態,因為我想將其轉換為本機 systemd 服務