PowerShell 7+ 製の Minecraft サーバー起動・管理スクリプト。サーバーJARのダウンロードからJVMチューニング、自動再起動まで1つのスクリプトで完結します。
- サーバーJAR自動ダウンロード — 初回セットアップ時に各APIからサーバーJARを取得
- Vanilla (Mojang公式)
- Paper
- Fabric
- Forge
- NeoForge
- CleanroomLoader
- MCバージョン+ローダーバージョン選択 — APIから一覧取得して矢印キーで選択
- GCプロファイル — G1GC (Aikar flags) / ZGC / Shenandoah を切り替え可能
- JVMフラグの一元管理 —
launch.txtで全設定を管理。Forge 1.17+ のuser_jvm_args.txtは不要 - Javaバージョン自動検出 — バージョンに応じたフラグを自動追加/除外
- 自動再起動 & クラッシュ検出 — 異常終了時に自動再起動。短時間の連続クラッシュを検出して停止
- EULA同意フロー — コンソール内でEULAに同意して
eula.txtを自動生成 - ANSI対応のリッチUI — カラー表示、プログレスバー、矢印キー選択
- PowerShell 7+ (pwsh) — ダウンロード
- Java — サーバーのバージョンに合ったJDKが必要
初回起動時に対話型ウィザードが起動します:
- サーバーJAR — ファイル名を入力(存在しなければダウンロードを提案)
- サーバー種類 — Vanilla / Paper / Fabric / Forge / NeoForge / Cleanroom から選択
- バージョン選択 — MCバージョン → ローダー/ビルドバージョンの順に選択
- メモリ設定 — 最小・最大メモリを指定(例:
4G,8G) - GCプロファイル — G1GC / ZGC / Shenandoah を選択
- GCフラグ編集 — デフォルトフラグを確認・カスタマイズ
設定は launch.txt に保存され、次回以降は自動的に読み込まれます。
全ての設定を1ファイルで管理します。直接テキストエディタで編集可能です。
# ============================================================
# MCServer Starter 1.13 - Configuration
# ============================================================
ServerJar=paper-1.21.8-123.jar
MinMemory=4G
MaxMemory=8G
GCProfile=g1gc
# ============================================================
# GC Flags
# 1行に1フラグ。'#' はコメント。
# ============================================================
[gc_flags]
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:G1NewSizePercent=30
-XX:G1MaxNewSizePercent=40
-XX:G1HeapRegionSize=8M
-XX:G1ReservePercent=20
-XX:G1HeapWastePercent=5
-XX:G1MixedGCCountTarget=4
-XX:InitiatingHeapOccupancyPercent=15
-XX:G1MixedGCLiveThresholdPercent=90
-XX:G1RSetUpdatingPauseTimePercent=5
-XX:SurvivorRatio=32
-XX:MaxTenuringThreshold=1設定をリセットしたい場合は launch.txt を削除してスクリプトを再実行してください。
Forge 1.17以降とNeoForgeはinstallerが run.bat + win_args.txt を生成する方式です。本スクリプトでは:
run.bat/run.sh/user_jvm_args.txtは自動的に削除されますwin_args.txtの内容はJavaの@file記法で直接展開されます- JVMフラグは全て
launch.txtから適用されます launch.txtのServerJarに@ARGS:パスという特殊値が設定されます
# launch.txt での表示例
ServerJar=@ARGS:C:\server\libraries\net\minecraftforge\forge\1.20.1-47.4.16\win_args.txt
スクリプトはJavaのメジャーバージョンを自動検出し、以下のフラグを自動的に追加/除外します:
| フラグ | 条件 |
|---|---|
-XX:+ParallelRefProcEnabled |
Java 17未満 かつ G1GC使用時のみ追加 |
-XX:+ZGenerational |
Java 21〜22 かつ ZGC使用時のみ追加 |
-XX:+UseCompactObjectHeaders |
Java 24以降のみ追加 (Project Lilliput) |
サーバーがexit code 0以外で停止した場合、自動的に再起動を試みます。
- スライディングウィンドウ方式 — 直近300秒間のクラッシュ回数をカウント
- 5回連続クラッシュで停止 — 短時間に連続クラッシュした場合のみ自動再起動を停止
- 正常終了 (exit code 0) では再起動しない —
/stopコマンドでの停止に対応 - プログレスバー付きカウントダウン — 再起動前に任意のキーでキャンセル可能
MIT License - Copyright (c) 2026 s12kuma01