しばらく前にラズベリーファイ4B 8Gbを購入し、SATA拡張ボードを使用してPLEXメディアサーバーの設定に成功しました。私の知識を広げようとする努力の一環として、姪が私を素敵な叔父だと思うので、個人的なMinecraftサーバーを追加して、楽しく遊ぶことができるかどうかを調べることにしました。
私が完了したステップ
- Javaがフルバス幅(64ビット対32ビット)を利用できるように、Raspberry PiOSをUbuntu Server 21.04に置き換えました。
- インストール済みLiberica用Java 16 JDKMinecraftを準備してください。
- LEMPサーバーを設定して(ApacheをNGINXに置き換えて)、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
パッケージ/パッケージマネージャからファイルを1つだけインストールしました。私は一度も書く必要はありませんでした。
修正する
部分的な解決策:この設定では、次のクローン操作を使用します。
crontab -u ubuntu -l
@reboot /usr/bin/screen -dmS Pinecraft /home/ubuntu/minecraft/server > /dev/null 2>&1
server
テストサービス名を変更する前のシェルスクリプト名です。明らかに新しくインストールすると、cronはデフォルトで実行されず、systemctl | grep cron
何も返しません。簡単なsudo systemctl enable cron && sudo systemctl start cron
問題を解決しました。
基本的なシステムサービスに変換したいので、まだ開いておきます。