【2025年最新】マイクラ Sponge サーバー完全攻略!SpongeForgeでMODとプラグインの融合

【2025年最新】マイクラ Sponge サーバー完全攻略!SpongeForgeでMODとプラグインの融合

2025年7月最新情報

Sponge Project Structure 出典: Sponge Documentation

マイクラサーバーで「MODとプラグインを同時に使いたい」という願望を叶えてくれるのがSpongeです。しかし、BukkitやSpigotとは異なる独特のシステムに戸惑う方も多いでしょう。この記事では、SpongeForgeの導入からMixins更新、permission流用まで、2025年最新の情報で完全解説します!

目次

1. Spongeの基礎知識とエコシステム

Spongeとは何か?

Sponge の特徴:

  • Minecraft Java版用のサーバーAPI
  • MODとプラグインの同時利用が可能
  • 強力な権限管理システム
  • 高度なイベントシステム
  • クロスプラットフォーム対応

Sponge vs Bukkit/Spigot の違い

項目SpongeBukkit/Spigot
MOD対応✅ 完全対応❌ 非対応
プラグインSpongeAPIBukkit API
権限システム高度な階層構造基本的なnode
イベント型安全Reflection依存
プラグイン互換❌ 独自API✅ 広範囲対応
学習コスト

Spongeエコシステム

主要コンポーネント:

SpongeForge: Forge + Sponge (MODとプラグイン)
SpongeVanilla: Vanilla + Sponge (プラグインのみ)
SpongeAPI: プラグイン開発用API
Ore: 公式プラグインリポジトリ

2. SpongeForge vs SpongeVanilla 比較

SpongeForge Setup 出典: Sparked Host

SpongeForge(推奨構成)

利点:

  • ForgeのMODが使用可能
  • 工業系・魔術系MODをサポート
  • より豊富なコンテンツ
  • 既存MODパックとの互換性

欠点:

  • 重い(メモリ8GB以上推奨)
  • 設定が複雑
  • 起動時間が長い

推奨用途:

  • 大規模MODパック + 管理プラグイン
  • 工業サーバー
  • RPGサーバー

SpongeVanilla(軽量構成)

利点:

  • 軽量(メモリ4GB程度で動作)
  • 設定が簡単
  • 高速起動
  • 安定性が高い

欠点:

  • MODが使用不可
  • コンテンツが限定的
  • 拡張性に制限

推奨用途:

  • 管理重視サーバー
  • 軽量サーバー
  • プラグイン中心の構成

3. SpongeForge導入と初期設定

事前準備

必要なもの:

  • Minecraft Forge(対応バージョン)
  • Java 17以上
  • 最低8GBのメモリ
  • SpongeForge(最新版)

ステップ1:Forgeサーバーの準備

Forge Server のダウンロード:

Copy# 1.20.1の場合の例
cd /opt/minecraft
wget https://maven.minecraftforge.net/net/minecraftforge/forge/1.20.1-47.2.0/forge-1.20.1-47.2.0-installer.jar

# Forgeサーバーのインストール
java -jar forge-1.20.1-47.2.0-installer.jar --installServer

ステップ2:SpongeForgeのインストール

SpongeForge のダウンロード:

Copy# modsフォルダに配置
cd mods
wget https://repo.spongepowered.org/repository/maven-public/org/spongepowered/spongeforge/1.20.1-11.0.0/spongeforge-1.20.1-11.0.0.jar

ステップ3:初期設定

server.properties の調整:

Copy# Sponge用設定
enable-command-block=true
broadcast-console-to-ops=false
function-permission-level=4
op-permission-level=4

# パフォーマンス設定
view-distance=8
max-tick-time=60000
use-native-transport=true

起動スクリプトの作成:

Copy#!/bin/bash
# start_sponge.sh

java -Xms8G -Xmx8G \
  -XX:+UseG1GC \
  -XX:+ParallelRefProcEnabled \
  -XX:MaxGCPauseMillis=200 \
  -XX:+UnlockExperimentalVMOptions \
  -XX:+DisableExplicitGC \
  -XX:G1NewSizePercent=20 \
  -XX:G1ReservePercent=20 \
  -XX:MaxGCPauseMillis=50 \
  -XX:G1HeapRegionSize=32M \
  -jar forge-1.20.1-47.2.0.jar nogui

ステップ4:初回起動と確認

サーバー起動:

Copychmod +x start_sponge.sh
./start_sponge.sh

Sponge確認コマンド:

/sponge version
/sponge plugins

4. Mixins更新とPlugin-Loader設定

Mixinsシステムの理解

Mixins とは:

  • バイトコードレベルでのクラス変更
  • 実行時にMinecraftのクラスを改変
  • 高度な機能実装に必要
  • プラグインの内部処理で使用

Mixins設定ファイル

config/sponge/mixins.conf:

mixins {
    # Mixinsの有効化
    enabled = true
    
    # 環境設定
    environment = "SERVER"
    
    # デバッグ設定
    debug {
        verbose = false
        export = false
    }
    
    # プラグインMixins
    plugins {
        # プラグイン別設定
        "my-plugin" {
            enabled = true
            mixins = [
                "com.example.mixins.PlayerMixin",
                "com.example.mixins.WorldMixin"
            ]
        }
    }
}

Plugin-Loader設定

config/sponge/plugin-loader.conf:

plugin-loader {
    # プラグインディレクトリ
    plugin-directories = [
        "plugins",
        "mods"
    ]
    
    # 読み込み順序
    load-order {
        # 優先プラグイン
        first = [
            "luckperms",
            "nucleus-core"
        ]
        
        # 後読み込み
        last = [
            "holographic-displays"
        ]
    }
    
    # 依存関係設定
    dependencies {
        auto-resolve = true
        strict-validation = false
    }
}

5. Permission システムの理解と設定

Commands and Permissions 

出典: Sponge Documentation

Sponge Permission システム

Subject とは:

  • 権限を持つエンティティ(プレイヤー、コンソールなど)
  • 階層的な権限構造
  • コンテキスト依存の権限

Permission Node の構造:

plugin.category.action.target
例:
- myserver.teleport.home.use
- worldguard.region.create.own
- nucleus.kit.kit-name.give.base

LuckPerms との連携

LuckPerms インストール:

Copycd plugins
wget https://download.luckperms.net/1515/bukkit/loader/LuckPerms-Bukkit-5.4.102.jar

基本的な権限設定:

Copy# グループ作成
/lp creategroup member
/lp creategroup moderator  
/lp creategroup admin

# 権限付与
/lp group member permission set sponge.command.help true
/lp group member permission set nucleus.home.base true
/lp group member permission set nucleus.warp.base true

# プレイヤーをグループに追加
/lp user <player> parent set member

高度な権限設定

コンテキスト依存権限:

Copy# ワールド別権限
/lp group builder permission set worldedit.selection.* true world=creative

# 時間制限権限
/lp group vip permission set nucleus.fly.base true server=main time=day

# 地域別権限
/lp group resident permission set nucleus.home.set.base true region=residential

6. 主要Spongeプラグイン紹介

必須プラグイン

Nucleus(総合管理):

# nucleus.conf
core {
    enable-doc-gen = true
    print-on-startup = true
    warmup-canceling {
        on-command = false
        on-move = true
    }
}

modules {
    # 有効化するモジュール
    home = true
    warp = true
    spawn = true
    teleport = true
    chat = true
    nickname = true
}

LuckPerms(権限管理):

Copy# config.yml
server: "sponge-server"
storage-method: "h2"
messaging-service: "none"

# 権限計算設定
permission-calculation {
  apply-wildcards: true
  apply-regex: true
}

GriefPrevention(土地保護):

# griefprevention.conf
general {
    claim-expiration-days = 0
    automatic-new-player-claims = true
    claims-world-modes {
        "world" = 2  # Claimsモード
        "world_nether" = 0  # Disabledモード
    }
}

便利なプラグイン

EconomyLite(経済):

# economylite.conf
economy {
    currency {
        default = "Dollar"
        symbol = "$"
        plural = "Dollars"
    }
    
    starting-balance = 100.0
    enable-detailed-logging = true
}

HuskHomes(テレポート):

Copy# config.yml
database:
  type: "sqlite"
  
teleportation:
  teleport-warmup-time: 5
  teleport-cooldown-time: 10

7. 開発者向けSpongeAPI ガイド

基本的なプラグイン構造

メインクラス例:

Copy@Plugin(
    id = "example-plugin",
    name = "Example Plugin",
    version = "1.0.0",
    description = "Example Sponge plugin",
    authors = {"Author"}
)
public class ExamplePlugin {
    
    @Inject
    private Logger logger;
    
    @Inject
    private PluginContainer container;
    
    @Listener
    public void onServerStart(StartedEngineEvent<Server> event) {
        logger.info("Example Plugin started!");
    }
    
    @Listener
    public void onPlayerJoin(ServerSideConnectionEvent.Join event) {
        ServerPlayer player = event.player();
        player.sendMessage(Component.text("Welcome to the server!"));
    }
}

Permission API の使用

権限チェック例:

Copy@Command("example")
public class ExampleCommand implements CommandExecutor {
    
    @Override
    public CommandResult execute(CommandContext context) {
        CommandSource source = context.getSource();
        
        // 権限チェック
        if (!source.hasPermission("example.command.use")) {
            source.sendMessage(Component.text("You don't have permission!"));
            return CommandResult.error(Component.text("No permission"));
        }
        
        // コマンド実行
        source.sendMessage(Component.text("Command executed!"));
        return CommandResult.success();
    }
}

イベントハンドリング

高度なイベント処理:

Copy@Listener(order = Order.FIRST)
public void onBlockBreak(ChangeBlockEvent.All event, @First Player player) {
    // ブロック破壊前処理
    
    for (Transaction<BlockSnapshot> transaction : event.getTransactions()) {
        BlockSnapshot original = transaction.getOriginal();
        
        // 特定ブロックの破壊を防ぐ
        if (original.getState().getType() == BlockTypes.DIAMOND_ORE) {
            if (!player.hasPermission("mine.diamond")) {
                transaction.setValid(false);
                player.sendMessage(Component.text("You cannot mine diamond ore!"));
            }
        }
    }
}

8. おすすめサーバー構成

MOD + プラグイン構成(大規模)

🏆 高性能重視:エックスサーバー VPS for Game

推奨理由:

  • 高性能CPU(6コア)でMOD + プラグインも快適
  • 大容量メモリ(最大32GB)で重い構成に対応
  • NVMe SSDで高速読み込み
  • 専用サポートでトラブル時も安心

SpongeForge推奨プラン:

  • 16GBプラン:月額9,750円(中規模MODパック)
  • 32GBプラン:月額22,100円(大規模MODパック)

特徴:

  • 99.99%稼働率保証
  • 自動バックアップ機能
  • 24時間監視サービス

エックスサーバー VPS for Game 公式サイト

プラグイン中心構成(中規模)

🎯 バランス重視:ConoHa for GAME

推奨理由:

  • 時間課金制で効率的な運用
  • 高速SSDでSponge起動が快適
  • 豊富なテンプレート
  • 初期費用無料

SpongeVanilla推奨プラン:

  • 8GBプラン:月額4,066円(軽量構成)
  • 16GBプラン:月額9,834円(中規模構成)

特徴:

  • 柔軟な料金体系
  • 簡単セットアップ
  • 充実したAPIサポート

ConoHa for GAME 公式サイト

小規模・テスト環境

💰 コスパ重視:カゴヤ CLOUD VPS

推奨理由:

  • 最安級価格でコスト効率重視
  • 安定した性能
  • 国内企業の信頼性
  • 長期利用に最適

料金プラン:

  • 8GBプラン:月額7,700円(SpongeVanilla)
  • 16GBプラン:月額15,400円(軽量SpongeForge)

特徴:

  • 高いコストパフォーマンス
  • 長期契約割引
  • 充実したサポート

カゴヤ CLOUD VPS 公式サイト

最適化設定例

SpongeForge用JVM引数:

Copyjava -Xms12G -Xmx12G \
  -XX:+UseG1GC \
  -XX:G1HeapRegionSize=4M \
  -XX:+ParallelRefProcEnabled \
  -XX:+AlwaysPreTouch \
  -XX:MaxGCPauseMillis=200 \
  -XX:+DisableExplicitGC \
  -XX:G1NewSizePercent=20 \
  -XX:G1ReservePercent=20 \
  -XX:InitiatingHeapOccupancyPercent=15 \
  -jar spongeforge.jar nogui

config/sponge/global.conf 最適化:

sponge {
    general {
        disable-warnings = false
        chunk-gc-tick-interval = 600
        chunk-gc-load-threshold = 0
    }
    
    world {
        # ワールド最適化
        world-generation-modifiers = true
        leaf-decay = true
        auto-player-save-interval = 900
    }
    
    entity {
        # エンティティ最適化
        entity-painting-respawn-delay = 2
        entity-collision-warn-size = 200
        max-bounding-box-size = 1000
    }
}

まとめ

Spongeは学習コストが高い分、MODとプラグインの同時利用という強力な機能を提供します。特にSpongeForgeを使用することで、工業MODによる複雑な機械と、管理プラグインによる秩序ある運営を両立できます。

Sponge成功のポイント:

  1. 適切な構成選択: SpongeForge vs SpongeVanilla
  2. 十分なリソース: メモリ8GB以上の確保
  3. 権限設計: LuckPermsとの適切な連携
  4. プラグイン選定: Sponge専用プラグインの活用
  5. 継続的な学習: SpongeAPI の理解深化

特にエックスサーバー VPS for GameConoHa for GAMEカゴヤ CLOUD VPSは、それぞれ異なる規模のSpongeサーバーに最適化されたサービスです。

2025年のマイクラサーバー運用では、SpongeによるMOD + プラグインの融合が新たなスタンダードになりつつあります。この記事を参考に、次世代のマイクラサーバーを構築してください!


※本記事は2025年7月時点の情報に基づいて執筆されています。SpongeとSpongeForgeのバージョンは頻繁に更新されるため、最新情報は公式サイトをご確認ください。

参考リンク:

免責事項: SpongeとSpongeForgeの設定は複雑で、サーバー環境によって動作が異なる場合があります。重要なデータは必ずバックアップを取り、テスト環境で十分検証してから本番環境に導入してください。

目次