【2025年8月最新】SpongeForge完全ガイド!MODとプラグイン同時利用の究極サーバー構築術

【2025年8月最新】SpongeForge完全ガイド!MODとプラグイン同時利用の究極サーバー構築術






【2025年8月最新】SpongeForge完全ガイド!MODとプラグイン同時利用の究極サーバー構築術




SpongeForge完全ガイド

MODとプラグイン同時利用の究極サーバー構築術


2025年7月最新情報


Sponge Project Structure

出典: Sponge Documentation

目次

なぜSpongeForgeが注目されるのか?

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

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

Spongeとは何か?

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

Spongeエコシステム

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

Sponge vs Bukkit/Spigot の違い

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

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 のダウンロード:

# 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 のダウンロード:

# 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 の調整:

# 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

起動スクリプトの作成:

#!/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

初回起動と確認

サーバー起動:

chmod +x start_sponge.sh
./start_sponge.sh

Sponge確認コマンド:

/sponge version
/sponge plugins

4. Mixins更新とPlugin-Loader設定

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 インストール:

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

基本的な権限設定:

# グループ作成
/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

高度な権限設定

コンテキスト依存権限:

# ワールド別権限
/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

権限管理

# 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(テレポート)

# config.yml
database:
type: “sqlite”

teleportation:
teleport-warmup-time: 5
teleport-cooldown-time: 10

7. 開発者向けSpongeAPI ガイド

基本的なプラグイン構造

メインクラス例:

@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 の使用

権限チェック例:

@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();
}
}

イベントハンドリング

高度なイベント処理:

@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

MOD + プラグインの重い構成に最適

推奨理由:
  • 高性能CPU(6コア)でMOD + プラグインも快適
  • 大容量メモリ(最大32GB)で重い構成に対応
  • NVMe SSDで高速読み込み
  • 専用サポートでトラブル時も安心
特徴:
  • 99.99%稼働率保証
  • 自動バックアップ機能
  • 24時間監視サービス

SpongeForge推奨プラン:
16GBプラン

月額9,750円

中規模MODパック

32GBプラン

月額22,100円

大規模MODパック

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

🎯 バランス重視:ConoHa for GAME

効率的な運用を求める方に最適

推奨理由:
  • 時間課金制で効率的な運用
  • 高速SSDでSponge起動が快適
  • 豊富なテンプレート
  • 初期費用無料
特徴:
  • 柔軟な料金体系
  • 簡単セットアップ
  • 充実したAPIサポート

SpongeVanilla推奨プラン:
8GBプラン

月額4,066円

軽量構成

16GBプラン

月額9,834円

中規模構成

小規模・テスト環境

コスパ重視:カゴヤ CLOUD VPS

コスト効率を重視する方に最適

推奨理由:
  • 最安級価格でコスト効率重視
  • 安定した性能
  • 国内企業の信頼性
  • 長期利用に最適
特徴:
  • 高いコストパフォーマンス
  • 長期契約割引
  • 充実したサポート

料金プラン:
8GBプラン

月額7,700円

SpongeVanilla

16GBプラン

月額15,400円

軽量SpongeForge

最適化設定例

SpongeForge用JVM引数:

java -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 Game
大規模MOD + プラグイン構成に最適
ConoHa for GAME
中規模プラグイン中心構成に最適
カゴヤ CLOUD VPS
小規模・テスト環境に最適

2025年の展望

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

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

免責事項

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

SpongeForge完全ガイド 2025

次世代マイクラサーバー構築の決定版


2025年8月最新

ゲーマー監修

実践的ガイド


目次