請幫忙轉換

請幫忙轉換

不久前,我購買了 Raspberry Pi 4B 8Gb,並使用 SATA 擴充板成功設定了 PLEX 媒體伺服器。會認為我是一個很酷的叔叔。

我已完成的步驟

  1. 將 Raspberry PiOS 替換為 Ubuntu Server 21.04,以便 Java 可以利用整個匯流排寬度(64 位元與 32 位元)。
  2. 已安裝Liberica 的 Java 16 JDK為《我的世界》做準備。
  3. 設定 LEMP 伺服器(以 NGINX 取代 Apache)以確保 LAN 已正確設定。
  4. 找到了松木工藝安裝程序,這樣我就可以自動化這些步驟。
  5. 安裝程式腳本成功完成,但有以下注意事項。

注意事項

  • 安裝程式建立初始化檔案。 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
  1. 我不知道如何將腳本結果“傳遞”到螢幕。
  2. 畫面可能始終為空,因為服務狀態顯示「活動載入/退出」。我假設server.sh腳本已完成,但沒有保持加載/運行狀態
  3. 如果我在腳本外部執行帶有 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 服務

相關內容