Minecraft Server Control API と連携してゲーム内からサーバー管理を行うための Paper/Spigot プラグインです。
- stats コマンドの修正: APIサーバー依存を解消し、ローカルデータベースから統計を取得
- パフォーマンスモニターの最適化: DB書き込み間隔を5秒→1分に変更(ディスクI/O 92%削減)
- OnlinePlayersGUI 実装: クリックイベント処理を追加(インベントリ表示、テレポート、管理オプション)
- エラーハンドリング強化: PerformanceMonitorGUI で詳細な診断情報を表示
- ディスクI/O負荷: 92%削減(720回/時 → 60回/時)
- キャッシュ機構: 5秒ごとにメモリキャッシュを更新してレスポンスを維持
- メモリ使用量: 約100KB増加(キャッシュ用)のみで大幅な性能向上
- パフォーマンスGUI: サーバー起動直後の検出、詳細なトラブルシューティング情報
- オンラインプレイヤーGUI:
- 左クリック: インベントリ表示
- 右クリック: プレイヤーへテレポート
- Shift+クリック: 管理オプション(OP、キック、BAN等)
- バックアップスケジュールGUI: スロットマッピングで正確なスケジュール操作
- ログイン/ログアウト履歴: すべてのプレイヤーの接続履歴を自動記録
- 総プレイ時間: プレイヤーごとの累計プレイ時間を表示
- セッション追跡: 各セッションの詳細情報(時間、期間)
- 統計ダッシュボード: 初回ログイン、最終ログイン、セッション数
- リアルタイムTPS表示: 1分、5分、15分平均
- メモリ使用率グラフ: 視覚的なメモリ使用状況
- エンティティ/チャンク追跡: パフォーマンスに影響する要素を監視
- 自動警告: TPS低下やメモリ不足を自動検知
- 履歴データ: 過去1時間のパフォーマンス推移
- 🆕 最適化: ディスクI/O 92%削減で負荷軽減
- マルチワールド対応: 複数ワールドの管理
- ワールド読み込み/アンロード: リソース管理の最適化
- ワールド別バックアップ: 個別ワールドのバックアップ作成
- サイズ表示: 各ワールドのディスク使用量
- お気に入りコマンド: よく使うコマンドを保存
- プレースホルダー対応:
{player},{item},{amount}などの変数使用 - コマンド履歴: 最大50件の履歴を自動保存
- 全チャット記録: すべてのチャットメッセージを記録
- プレイヤー別フィルタ: 特定プレイヤーの発言を抽出
- キーワード検索: 過去のメッセージを検索
- 30日間保存: 自動的に古いログを削除
/mscでインタラクティブなGUIメニュー- ダッシュボード - サーバー全体を一目で把握
- コンソールGUI - よく使うコマンドのショートカット
- バックアップの作成・一覧・リストア・削除
- 自動バックアップスケジュール管理GUI
- スケジュールの有効/無効切り替え
- ホワイトリスト管理
- OP権限管理
- 🆕 オンラインプレイヤー詳細: インベントリ閲覧、テレポート、管理操作
- メモリ使用状況
- リアルタイム通知システム
- 🆕 最適化されたパフォーマンスメトリクス
- Minecraft: 1.20.4 (Paper推奨 / Spigot対応)
- Java: 17以上
- API サーバー: MinecraftServerController API が稼働していること
./gradlew clean build出力: build/libs/MinecraftServerController-1.4.3.jar
cp build/libs/MinecraftServerController-1.4.3.jar /path/to/server/plugins/plugins/MinecraftServerController/config.yml:
api:
url: "http://localhost:8000"
key: "your-api-key-here"
plugin:
debug: false
timeout: 30/msc- GUIメニュー/msc help- ヘルプ表示
/msc players- 🆕 オンラインプレイヤーGUI(インベントリ表示、テレポート対応)/msc stats- 🆕 自分の統計(正常動作)/msc stats <player>- 他プレイヤーの統計(管理者のみ)
/msc performance- 🆕 最適化されたパフォーマンスGUI/msc perf- パフォーマンス情報
/msc backup- バックアップ作成/msc schedule list- スケジュール一覧
/msc world- ワールド管理GUI/msc world list- ワールド一覧
詳細なコマンド一覧はコマンドリファレンスを参照
| 権限 | 説明 | デフォルト |
|---|---|---|
msc.use |
基本コマンド | 全員 |
msc.players |
プレイヤー一覧 | 全員 |
msc.performance |
パフォーマンス監視 | 全員 |
msc.admin |
管理者権限 | OP |
msc.backup |
バックアップ作成 | OP |
msc.world |
ワールド管理 | OP |
- ★ ダッシュボード
- サーバーコントロール
- バックアップ管理
- プレイヤー管理
- 🆕 ★ パフォーマンスモニター(最適化済み)
- 🆕 ★ ワールド管理
- 🆕 ★ チャットログビューア
- ★ 監査ログ(管理者のみ)
- ★ 設定(管理者のみ)
- リアルタイムTPS: 1分、5分、15分平均を色分け表示
- メモリ使用率: 視覚的なプログレスバー
- エンティティ/チャンク数: パフォーマンス影響要素
- 履歴グラフ: 過去1時間のTPS推移
- 🆕 エラー診断: 起動直後の検出、詳細なトラブルシューティング
- 🆕 デバッグ情報: 管理者向け詳細診断(デバッグモード時)
- プレイヤー一覧: オンラインプレイヤーの頭アイコン表示
- 🆕 左クリック: インベントリを表示
- 🆕 右クリック: プレイヤーの位置へテレポート
- 🆕 Shift+クリック: 管理オプションGUI(OP、キック、BAN等)
- サーバー統計情報
- スケジュール一覧(有効/無効を色分け)
- 🆕 左クリック: 有効/無効切り替え(正確な動作)
- 🆕 右クリック: 削除(スロットマッピングで正確)
- Cron形式のヘルプ
plugins/MinecraftServerController/data/
├── activity.db # プレイヤーアクティビティ
├── performance.db # 🆕 最適化されたパフォーマンスメトリクス
└── chatlogs.db # チャットログ
performance.db:
- 書き込み間隔: 5秒 → 1分(92%削減)
- キャッシュ: メモリに5秒間隔で更新
- データ保持: 7日間
- アクティビティログ: 無制限(全履歴保存)
- パフォーマンスデータ: 7日以上前を自動削除
- チャットログ: 30日以上前を自動削除
cp -r plugins/MinecraftServerController/data/ backups/msc-data-$(date +%Y%m%d)/症状: パフォーマンスGUIを開くとエラーが表示される
原因:
- サーバー起動直後(5秒以内)
- PerformanceMonitorが初期化されていない
- データベース接続問題
解決策:
# 1. サーバー起動後5秒以上待つ
# GUIに「⚠ Server just started!」と表示される場合は待機
# 2. リフレッシュボタンをクリック
/msc performance
# → 🔄 Refresh をクリック
# 3. それでも解決しない場合
/msc reloadデバッグ方法:
# config.yml
plugin:
debug: true再起動後、管理者には「🐛 Debug Info」アイテムが表示される
症状: /msc stats を実行しても統計が表示されない
原因: プラグイン導入後、まだログイン/ログアウトしていない
解決策:
# 一度ログアウトして再ログイン
# → activity.db にデータが記録される
# 再度実行
/msc stats期待される出力:
========== YourName's Stats ==========
Total Playtime: 0時間 5分
Total Sessions: 1
First Join: 2026/02/14 10:00:00
Last Join: 2026/02/14 10:00:00
Recent Activity:
Login: 2026/02/14 10:00:00 → Still online
症状: プレイヤーアイコンをクリックしても反応なし
原因: v1.4.2以前のバージョン、またはGUIListenerが最新でない
解決策:
# v1.4.3を使用していることを確認
/plugins
# → MinecraftServerController v1.4.3
# 最新版でない場合は再ビルド
./gradlew clean build
cp build/libs/MinecraftServerController-1.4.3.jar /path/to/server/plugins/動作確認:
- 左クリック → インベントリが表示される
- 右クリック → プレイヤーの位置へテレポート
- Shift+クリック → 管理オプションGUI(管理者のみ)
→ config.yml の api.key を設定
→ APIサーバーの起動を確認
→ api.url が正しいか確認
→ Paper/Spigotサーバーであることを確認
→ /plugins でプラグインがロードされているか確認
# 権限確認
chmod 755 plugins/MinecraftServerController/data/
chmod 644 plugins/MinecraftServerController/data/*.db
# SQLite JDBC 確認(build.gradle)
dependencies {
implementation 'org.xerial:sqlite-jdbc:3.44.1.0'
}| 項目 | v1.4.2 | v1.4.3 | 改善率 |
|---|---|---|---|
| DB書き込み間隔 | 5秒 | 60秒 | - |
| 1時間のDB書き込み回数 | 720回 | 60回 | 92%削減 |
| ディスクI/O負荷 | 高 | 低 | 大幅改善 |
| データ取得速度 | 即座 | 即座 | 変化なし |
| メモリ使用量 | 標準 | +100KB | 微増 |
| キャッシュ更新間隔 | なし | 5秒 | 新規 |
結論: ディスクI/Oを大幅に削減しつつ、データの即時性を完全に維持
- バックアップ作成:
cp build/libs/MinecraftServerController-1.4.2.jar backups/
cp -r plugins/MinecraftServerController/data/ backups/data-backup/- 新バージョンビルド:
./gradlew clean build- プラグイン置き換え:
rm /path/to/server/plugins/MinecraftServerController-*.jar
cp build/libs/MinecraftServerController-1.4.3.jar /path/to/server/plugins/- サーバー再起動:
# 推奨: 完全再起動
# または /reload confirm- 動作確認:
/msc performance # パフォーマンスGUI
/msc stats # 統計表示
/msc players # オンラインプレイヤーGUI- データベース: 完全互換(マイグレーション不要)
- 設定ファイル: 変更不要
- API: 下位互換性維持
起動ログで以下を確認:
[INFO] MinecraftServerController v1.4.3 has been enabled!
[INFO] Performance monitoring database initialized (v1.4.3 - optimized)
"(v1.4.3 - optimized)" の表示が重要!
# GUIで視覚的に確認
/msc performance
# コマンドラインで確認
/msc perfサーバー起動直後の注意:
- 起動後5秒以内はデータがない可能性
- 「⚠ Server just started!」表示時は待機
- リフレッシュボタンで再読み込み
# 自分の統計
/msc stats
# 他プレイヤーの統計(管理者のみ)
/msc stats PlayerName初回使用時:
- データがない場合は一度ログアウト→再ログイン
- セッションデータが記録される
# GUIを開く
/msc players操作方法:
- 左クリック: インベントリ表示
- 右クリック: テレポート
- Shift+クリック: 管理オプション(OP、キック、BAN等)
# GUIを開く
/msc
→ ★ Backup Schedules操作方法:
- 左クリック: 有効/無効切り替え
- 右クリック: 削除
- 効果音で操作確認
api:
url: "http://localhost:8000"
key: "your-api-key-here"
plugin:
# デバッグモード(v1.4.3で詳細診断に使用)
debug: false
# タイムアウト(秒)
timeout: 30debug: true に設定すると:
- パフォーマンスGUIで詳細診断情報を表示
- エラー時のスタックトレースを出力
- PerformanceMonitorの内部状態を表示
有効化:
plugin:
debug: true再起動後、管理者には「🐛 Debug Info」アイテムが表示される
- Gradle: 8.5+
- Java: 17+
- Paper API: 1.20.4
- SQLite JDBC: 3.44.1.0
MIT License
woxloi
クリックして展開
/msc- GUIメニュー/msc gui- GUIメニュー
/msc status- ステータス表示/msc server start- 起動/msc server stop- 停止/msc metrics- メトリクス
/msc backup- 作成/msc backup list- 一覧/msc backup restore <file>- リストア/msc backup delete <file>- 削除/msc schedule list- スケジュール一覧/msc schedule create- 作成/msc schedule toggle <id>- 有効/無効/msc schedule delete <id>- 削除
/msc players- オンラインプレイヤーGUI/msc stats- 自分の統計/msc stats <player>- 他プレイヤーの統計/msc whitelist add <player>- 追加/msc whitelist remove <player>- 削除/msc whitelist list- 一覧/msc whitelist on/off- 有効/無効/msc op add <player>- OP付与/msc op remove <player>- OP削除
/msc performance- パフォーマンスGUI/msc perf- パフォーマンス情報
/msc world- ワールド管理GUI/msc world list- 一覧/msc world load <name>- 読み込み/msc world unload <name>- アンロード/msc world backup <name>- バックアップ
/msc chat- チャットログGUI/msc chat search <keyword>- 検索/msc chat player <name>- プレイヤー別
/msc plugins list- 一覧/msc plugins reload- リロード
/msc logs- サーバーログ/msc logs tail- 末尾20行/msc audit- 監査ログ
/msc exec <command>- コンソールコマンド実行/msc reload- 設定リロード/msc help- ヘルプ
🌟 v1.4.3 は安定性とパフォーマンスが大幅に向上しています!