minecraft-modpack-server について
minecraft-modpack-server は、サーバーパックから Minecraft の Mod サーバーを構築するためのスキルです。NeoForge または Forge の導入、設定、性能調整、ファイアウォール、バックアップを案内します。
主な機能
- 01サーバーパックと Mod ローダーの確認
- 02ゲームのバージョンに応じた Java の導入
- 03サーバー設定と JVM 引数の調整
- 04ポート開放と起動スクリプトの作成
- 05バックアップ設定と稼働状況の確認
活用シーン
- 01サーバーパック ZIP から Mod サーバーを構築
- 02人数とハードウェアに合わせて性能調整
- 03ホワイトリストやゲームモードなどを設定
- 04ワールドのバックアップを予約しログを確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nousresearch/ hermes-agent --skill minecraft-modpack-serverインストール後、Claude Code で/minecraft-modpack-serverを入力して読み込まれたか確認します。
詳細
Minecraft Modpack サーバーのセットアップ
使用する場面
- ユーザーがサーバーパックの zip から MOD 導入済み Minecraft サーバーをセットアップしたい場合
- NeoForge/Forge サーバーの設定についてサポートが必要な場合
- Minecraft サーバーのパフォーマンス調整やバックアップについて質問された場合
最初にユーザーの希望を確認する
セットアップを始める前に、次の項目をユーザーに確認してください。
- サーバー名/MOTD — サーバーリストに何を表示しますか?
- シード値 — 指定したシード値を使いますか、それともランダムにしますか?
- 難易度 — ピースフル/イージー/ノーマル/ハードのどれにしますか?
- ゲームモード — サバイバル/クリエイティブ/アドベンチャーのどれにしますか?
- オンラインモード — true(Mojang 認証、有効なアカウント)にしますか、それとも false(LAN/非正規アカウントにも対応)にしますか?
- プレイヤー数 — 何人のプレイヤーを想定していますか?(RAM と描画距離の調整に影響します)
- RAM の割り当て — 指定しますか、それとも MOD の数と利用可能な RAM に基づいてエージェントに決めさせますか?
- 描画距離/シミュレーション距離 — 指定しますか、それともプレイヤー数とハードウェアに基づいてエージェントに決めさせますか?
- PvP — 有効にしますか、無効にしますか?
- ホワイトリスト — 誰でも参加できるサーバーにしますか、それともホワイトリスト登録者のみにしますか?
- バックアップ — 自動バックアップを有効にしますか?どのくらいの頻度にしますか?
ユーザーが希望しない場合は適切なデフォルト値を使用しますが、設定を生成する前に必ず確認してください。
手順
1. パックをダウンロードして確認する
mkdir -p ~/minecraft-server
cd ~/minecraft-server
wget -O serverpack.zip "<URL>"
unzip -o serverpack.zip -d server
ls server/
次を確認します:startserver.sh、インストーラー jar(neoforge/forge)、user_jvm_args.txt、mods/ フォルダー。
スクリプトを確認し、MOD ローダーの種類とバージョン、必要な Java のバージョンを特定します。
2. Java をインストールする
- Minecraft 1.21 以降 → Java 21:
sudo apt install openjdk-21-jre-headless - Minecraft 1.18~1.20 → Java 17:
sudo apt install openjdk-17-jre-headless - Minecraft 1.16 以前 → Java 8:
sudo apt install openjdk-8-jre-headless - 確認:
java -version
3. MOD ローダーをインストールする
ほとんどのサーバーパックにはインストールスクリプトが含まれています。起動せずにインストールするには、INSTALL_ONLY 環境変数を使用します。
cd ~/minecraft-server/server
ATM10_INSTALL_ONLY=true bash startserver.sh
# Or for generic Forge packs:
# java -jar forge-*-installer.jar --installServer
ライブラリのダウンロードやサーバー jar のパッチ適用などが行われます。
4. EULA に同意する
echo "eula=true" > ~/minecraft-server/server/eula.txt
5. server.properties を設定する
MOD 導入済みサーバー/LAN 向けの主な設定:
motd=\u00a7b\u00a7lServer Name \u00a7r\u00a78| \u00a7aModpack Name
server-port=25565
online-mode=true # false for LAN without Mojang auth
enforce-secure-profile=true # match online-mode
difficulty=hard # most modpacks balance around hard
allow-flight=true # REQUIRED for modded (flying mounts/items)
spawn-protection=0 # let everyone build at spawn
max-tick-time=180000 # modded needs longer tick timeout
enable-command-block=true
パフォーマンス設定(ハードウェアに合わせて調整):
# 2 players, beefy machine:
view-distance=16
simulation-distance=10
# 4-6 players, moderate machine:
view-distance=10
simulation-distance=6
# 8+ players or weaker hardware:
view-distance=8
simulation-distance=4
6. JVM 引数を調整する(user_jvm_args.txt)
プレイヤー数と MOD の数に合わせて RAM を調整します。MOD 導入済みサーバーの目安:
- 100~200 個の MOD:6~12GB
- 200~350 個以上の MOD:12~24GB
- OS やその他のタスク用に、少なくとも 8GB を空けておきます
-Xms12G
-Xmx24G
-XX:+UseG1GC
-XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=200
-XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC
-XX:+AlwaysPreTouch
-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:+PerfDisableSharedMem
-XX:MaxTenuringThreshold=1
7. ファイアウォールを開放する
sudo ufw allow 25565/tcp comment "Minecraft Server"
次のコマンドで確認します:sudo ufw status | grep 25565
8. 起動スクリプトを作成する
cat > ~/start-minecraft.sh << 'EOF'
#!/usr/bin/env bash
cd ~/minecraft-server/server
java @user_jvm_args.txt @libraries/net/neoforged/neoforge/<VERSION>/unix_args.txt nogui
EOF
chmod +x ~/start-minecraft.sh
注:Forge(NeoForge ではない)の場合、引数ファイルのパスが異なります。正確なパスは startserver.sh で確認してください。
9. 自動バックアップを設定する
バックアップスクリプトを作成します:
cat > ~/minecraft-server/backup.sh << 'SCRIPT'
#!/usr/bin/env bash
SERVER_DIR="$HOME/minecraft-server/server"
BACKUP_DIR="$HOME/minecraft-server/backups"
WORLD_DIR="$SERVER_DIR/world"
MAX_BACKUPS=24
mkdir -p "$BACKUP_DIR"
[ ! -d "$WORLD_DIR" ] && echo "[BACKUP] No world folder" && exit 0
TIMESTAMP=$(date +%Y-%m-%d_%H-%M-%S)
BACKUP_FILE="$BACKUP_DIR/world_${TIMESTAMP}.tar.gz"
echo "[BACKUP] Starting at $(date)"
tar -czf "$BACKUP_FILE" -C "$SERVER_DIR" world
SIZE=$(du -h "$BACKUP_FILE" | cut -f1)
echo "[BACKUP] Saved: $BACKUP_FILE ($SIZE)"
BACKUP_COUNT=$(ls -1t "$BACKUP_DIR"/world_*.tar.gz 2>/dev/null | wc -l)
if [ "$BACKUP_COUNT" -gt "$MAX_BACKUPS" ]; then
REMOVE=$((BACKUP_COUNT - MAX_BACKUPS))
ls -1t "$BACKUP_DIR"/world_*.tar.gz | tail -n "$REMOVE" | xargs rm -f
echo "[BACKUP] Pruned $REMOVE old backup(s)"
fi
echo "[BACKUP] Done at $(date)"
SCRIPT
chmod +x ~/minecraft-server/backup.sh
毎時実行する cron を追加します:
(crontab -l 2>/dev/null | grep -v "minecraft/backup.sh"; echo "0 * * * * $HOME/minecraft-server/backup.sh >> $HOME/minecraft-server/backups/backup.log 2>&1") | crontab -
注意点
- MOD 導入済みサーバーでは必ず
allow-flight=trueに設定してください。ジェットパックや飛行機能を持つ MOD を使うと、そうしなければプレイヤーがキックされます。 max-tick-time=180000以上に設定してください。MOD 導入済みサーバーでは、ワールド生成中にティックに時間がかかることがよくあります。- 初回起動には時間がかかります(大規模なパックでは数分)。慌てないでください。
- 初回起動時の「Can't keep up!」警告は正常です。初期チャンク生成後は落ち着きます。
- online-mode=false の場合は、クライアントが拒否されないよう、enforce-secure-profile=false も設定してください。
- パックの startserver.sh には自動再起動ループが含まれていることがよくあります。ループを含まない、正常終了できる起動スクリプトを作成してください。
- 新しいシード値で生成し直すには、world/ フォルダーを削除してください。
- 一部のパックには動作を制御する環境変数があります(例:ATM10 は ATM10_JAVA、ATM10_RESTART、ATM10_INSTALL_ONLY を使用します)。
動作確認
- 実行中かどうかは
pgrep -fa neoforgeまたはpgrep -fa minecraftで確認します。 - ログを確認します:
tail -f ~/minecraft-server/server/logs/latest.log - ログに「Done (Xs)!」と表示されていれば、サーバーの準備が完了しています。
- 接続をテストするには、プレイヤーがマルチプレイでサーバー IP を追加します。