EasyCTFは、Minecraft Paper Server用の高機能CTFプラグインです。2つのチームに分かれて相手の旗を奪い合う、戦略性の高いPvPゲームモードを提供します。
- 🎮 複数ゲーム同時実行 - 同一サーバーで複数のCTFゲームを並行実行
- 🏆 マッチシステム - 複数ラウンドで総合優勝を決定
- 💰 ショップシステム - チーム共有通貨で戦略的な買い物
- 🛡️ シールドシステム - 敵陣でのダメージ管理(自陣でのみ回復)
- 🎁 イベントチェスト - 戦闘中に出現する特別な報酬
- 📊 スキルベースマッチメイキング - プレイヤースキルに基づく自動チームバランス
- 🗺️ マップ作成ツール - 簡単にカスタムマップを作成
- 🌏 多言語対応 - 日本語・英語を完全サポート
- Paper Server 1.21.5以上
- Java 21以上
- 4GB以上のRAM推奨
- Releasesから最新版をダウンロード
easy_ctf-x.x.x.jarをサーバーのpluginsフォルダに配置- サーバーを起動
重要:マップ内に以下を配置
- 🔴 赤コンクリート = 赤チームスポーン
- 🔵 青コンクリート = 青チームスポーン
- ビーコン = 各チームの旗(スポーンの近くに配置)
/ctf setpos1 game1 # マップ領域の始点を設定
/ctf setpos2 game1 # マップ領域の終点を設定
/ctf create game1 # ゲームを作成(対話形式で設定)
# ゲーム開始
/ctf start game1 # 単一ゲーム開始
/ctf start game1 match 5 # 5ラウンドマッチ開始
# プレイヤー参加
/ctf join game1 # ゲームに参加(スキルベースの自動チーム割り当て)- 自チームの色のコンクリートブロックで防衛施設を建設
- ブロックは自陣ビーコンまたは既存ブロックに接続必須
- ショップでアイテムを購入して準備
- 敵チーム領域に侵入不可
- 死亡してもアイテムは保持(keepInventory)
- 敵の旗(ビーコン)を奪取して自陣に持ち帰る
- 旗キャリアは発光効果・移動制限あり
- キル・キャプチャーで通貨獲得
- 即座にリスポーン(遅延なし)
- ゲーム結果の確認
- マッチモード時は次ゲームへ自動移行
スキルスコア = (キル数 × 10) + (旗獲得数 × 30) - (死亡数 × 5)
/ctf stats [プレイヤー]- 個人統計を表示/ctf leaderboard [カテゴリ]- ランキング表示- カテゴリ: skill, kills, captures, wins, kd
/ctf balance <ゲーム>- チームバランス確認/ctf balance <ゲーム> apply- バランス調整を適用
- 新規参加者は両チームのスキル合計が均等になるよう自動配置
- 管理者は手動でバランス調整も可能
エメラルドを右クリックしてショップを開く(どこでも利用可能)
- 武器 - 剣、斧、弓など
- 防具 - 各種防具セット
- 消耗品 - エンダーパール、金リンゴ、矢
- 建築ブロック - 各種ブロック、TNT
- 初期資金: 50G
- キル報酬: 15G(旗キャリア: 25G)
- キルアシスト: 10G
- キャプチャー: 50G
- アシスト: 20G
- フェーズ終了ボーナス: 100G
- キルストリークボーナス: 5G〜20G
スコア差による敗者チーム割引:
- 1点差: 10%割引
- 2点差: 20%割引
- 3点差: 30%割引
- 4点差以上: 40%割引
- 最大値: 100
- 敵陣ブロック/ビーコンエリアで毎秒2減少
- シールド0で1.5ダメージ/秒
- 自陣でのみ毎秒5回復(重要な戦術要素)
- 警告: 40以下で警告、20以下でクリティカル
- 3x3の範囲が特殊エリア
- 敵: ダメージゾーン(シールド減少)
- 味方: 空腹度・シールド回復(1ポイント/秒)
- 赤チーム: 赤のコンクリートのみ
- 青チーム: 青のコンクリートのみ
- ブロック接続必須(切断時は中立化)
- 無限に使用可能
- 戦闘フェーズ中に1回出現
- レアアイテム1個を獲得可能
- 全プレイヤーに通知
- 連続キルで特別な通知とボーナス
- キラーのみにタイトル表示
- 他プレイヤーにはチャット通知
-
必須要素を配置
- 🔴 赤コンクリート: 赤チームスポーン(複数可)
- 🔵 青コンクリート: 青チームスポーン(複数可)
- ビーコン: 各チームの旗(スポーンの近くに配置)
-
領域を設定
/ctf setpos1 game1 # 始点設定 /ctf setpos2 game1 # 終点設定
-
ゲーム作成
/ctf create game1 # 対話形式でゲーム作成ゲーム作成後、マップを保存:
/ctf savemap game1 # 自動検出して保存
- ゲーム開始時に専用ワールド生成
- マップを自動復元
- チェスト内容物は自動クリア
- ゲーム終了時にワールド削除
| コマンド | 説明 |
|---|---|
/ctf create <game> |
新規ゲーム作成(対話形式) |
/ctf update <game> |
ゲーム設定更新 |
/ctf delete <game> |
ゲーム削除 |
/ctf list |
全ゲーム一覧 |
/ctf info <game> |
ゲーム詳細情報 |
/ctf start <game> [match] [数] |
ゲーム/マッチ開始 |
/ctf stop <game> |
強制終了 |
/ctf setpos1 <game> |
マップ領域始点設定 |
/ctf setpos2 <game> |
マップ領域終点設定 |
/ctf savemap <game> |
マップ保存(自動検出) |
/ctf setflag <game> <team> |
旗位置手動設定 |
/ctf setspawn <game> <team> |
スポーン設定 |
/ctf addspawn <game> <team> |
スポーン追加 |
/ctf removespawn <game> <team> <番号> |
スポーン削除 |
/ctf listspawns <game> |
スポーン一覧 |
/ctf addplayer <game> <player> [team] |
プレイヤー強制参加 |
/ctf changeteam <game> <player> <team> |
チーム変更 |
/ctf balance <game> [apply] |
チームバランス確認/適用 |
/ctf resetstats [player] |
統計リセット |
| コマンド | 説明 |
|---|---|
/ctf join <game> |
ゲーム参加 |
/ctf leave |
ゲーム離脱 |
/ctf team [red|blue] |
チーム確認/変更 |
/ctf status [game] |
状況確認 |
/ctf spectator [game] |
観戦モード |
/ctf stats [player] |
統計表示 |
/ctf leaderboard [category] |
ランキング表示 |
plugins/EasyCTF/config.ymlで詳細設定可能:
# 言語設定
language: "ja" # "en" または "ja"
# フェーズ時間
default-phases:
build-duration: 120 # 建築フェーズ(秒)
combat-duration: 120 # 戦闘フェーズ(秒)
result-duration: 15 # 結果表示(秒)
build-phase-gamemode: "SURVIVAL" # ADVENTURE/SURVIVAL/CREATIVE
# リスポーン設定
default-game:
respawn-delay-base: 0 # 即座にリスポーン
respawn-delay-per-death: 0
respawn-delay-max: 0
# 通貨設定
currency:
initial: 50 # 初期通貨
kill-reward: 15 # キル報酬
kill-assist-reward: 10 # キルアシスト報酬
carrier-kill-reward: 25 # 旗キャリアキル
carrier-kill-assist-reward: 10 # 旗キャリアキルアシスト
capture-reward: 50 # キャプチャー報酬
capture-assist-reward: 20 # キャプチャーアシスト報酬
phase-end-bonus: 100 # フェーズ終了ボーナス
kill-streak-bonus: # キルストリークボーナス
2-kills: 5
3-kills: 10
4-kills: 15
5-plus-kills: 20
# シールド設定
shield:
enabled: true
max-shield: 100
decrease-rate: 2.0 # 敵陣での減少速度
recovery-rate: 5.0 # 自陣での回復速度
damage-amount: 1.5 # シールド0時のダメージ
# イベントチェスト
event-chest:
enabled: true
spawn-count: 1 # 戦闘フェーズ中の出現回数git clone https://github.com/0x48lab/easy_ctf.git
cd easy_ctf
./gradlew shadowJar生成されたJARファイル: build/libs/easy_ctf-x.x.x-all.jar
- ✨ プレイヤー統計の永続化システム実装
- ✨ スキルベースの自動チームバランシング
- ✨ ランキング/リーダーボード機能
- ✨ 管理者用の強制参加・チーム変更コマンド
- 🐛 建築フェーズでの死亡時ブロック増殖バグ修正
- 🌏 日本語リソースファイルの完全翻訳(53箇所修正)
- 🎯 キルストリーク通知をキラーのみに制限
- 🎁 イベントチェストをレアアイテム1個に簡素化
- ✅ フェーズ間のインターバル削除(即座に移行)
- ✅ リスポーン遅延を0に設定(即座に復活)
- ✅ 通貨報酬を調整(キル15G、旗キャリアキル25G、キャプチャ50G、フェーズボーナス100G)
- ✅ シールド回復を自陣のみに制限
- ✅ ショップ使用範囲制限を削除(どこでも利用可能)
- ✅ チームブロックをコンクリートのみに統一
- ✅ ビーコン周囲がダメージゾーンに
- ✅ 距離ベースの旗検出アルゴリズム実装
プルリクエストを歓迎します!バグ報告や機能提案はIssuesへ。
- 📚 詳細ドキュメント
- 📚 English Documentation
- 🌐 公式サイト
- 💬 Discord サーバー
- 🐛 バグ報告
このプロジェクトはMITライセンスの下で公開されています。
Made with ❤️ for Minecraft Community