マイクラサーバー 半自動アップデート対応のお知らせ

aoiSakura

#葵f鯖

葵っちオリジナルブランド v0pal(バレパル)が運用する「マインクラフトサーバー ƒ鯖」につきまして、一部自動アップデートに対応しましたことをご報告いたします。

Minecraft公式が公開しているBedrockサーバーダウンロードにてダウンロードした圧縮ファイルをWindowsServer内の指定場所に設置し、スクリプトを実行することによって自動アップデートを実現しました。

ファイル制御はPowerShell7スクリプトで作成しています。
スクリプトの実行内容は以下の通りです。

  1. 設置したファイルの確認
    1件のbedrock-server-[バージョン].zipが存在すること
    Get-ChildItem -Path [設置ディレクトリパス]
  2. 既にマイクラサーバーが動作しているかプロセスの確認
    マインクラフトサーバーが動作している場合、利用者に通知し、5分後にプロセスを落とす
    Start-Sleep -Seconds 300
    Stop-Process -Name [プロセス名]
  3. 現在のサーバーのバックアップ
    マインクラフトサーバーのフォルダを圧縮する
    Compress-Archive -Path "[現在サーバーのディレクトリ]" -DestinationPath "[圧縮先].zip" -Force
  4. bedrock-server.exeファイルのファイル名を戻す
    複数のマインクラフトサーバーの起動を考慮し、bedrock-server-[Port番号].exeにファイル名を変更し実行していたため、bedrock-server-[Port番号].exeをbedrock-server.exeにファイル名を修正し、元に戻す
    Rename-Item "[現在のbedrock-server-[Port番号].exeパス]" "bedrock_server.exe"
  5. 設定ファイルのコピーを作成
    server.properties、allowlist.json、permissions.jsonファイルをコピーし、設定情報を退避する
    Copy-Item -Path "[現在サーバーのパス]\server.properties" -Destination "[バックアップ先パス]"
    Copy-Item -Path "[現在サーバーのパス]\allowlist.json" -Destination "[バックアップ先パス]"
    Copy-Item -Path "[現在サーバーのパス]\permissions.json" -Destination "[バックアップ先パス]"
  6. ダウンロードした新バージョンのサーバーを展開
    bedrock-server-[バージョン].zipをフォルダ上へ展開し、上書きする
    Expand-Archive -Path "[設置ディレクトリパス]" -DestinationPath "[現在サーバーのパス]" -Force
  7. 設定ファイルを戻す
    server.properties、allowlist.json、permissions.jsonをもとに戻す
    Copy-Item -Path "[バックアップパス]\server.properties" -Destination "[展開先パス]"
    Copy-Item -Path "[バックアップパス]\allowlist.json" -Destination "[展開先パス]"
    Copy-Item -Path "[バックアップパス]\permissions.json" -Destination "[展開先パス]"
  8. bedrock-server.exeファイル名の変更
    bedrock-server.exeのファイル名をbedrock-server-[Port番号].exeへ変更し、プロセス管理しやすくする
    Rename-Item "$[展開先パス]\bedrock_server.exe" "bedrock-server-[Port番号].exe"
  9. プロセスの実行
    bedrock-server-[Port番号].exeプロセスを実行する
    Start-Process "[展開先パス]\bedrock-server-[Port番号].exe" -WindowStyle "Hidden"

また、python言語にてDiscordBotの実装を行いました。

記事URLをコピーしました