MCppServer について
MCppServer は C++ で書かれた Minecraft サーバーで、Java 版クライアントに対応しています。バニラに近い動作を目指しつつ高いパフォーマンスを狙っています。開発は初期段階にあり、未完成の機能も多くあります。
主な機能
- 01マルチスレッドによるサーバー処理
- 02マルチスレッドによるチャンクの読み込みと生成
- 03config.json による設定の変更
- 04パケット圧縮による帯域幅の削減
- 05RCON、Query、コマンドへの対応
活用シーン
- 01生成済みのバニラワールドを使ったサーバーの起動
- 02Linux や Windows でのソースからのビルドとテスト
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細

高速で非常に効率的な C++ 1.21.1 Minecraft サーバーです。Java クライアントと互換性があります。Vanilla Minecraft のようなプレイ感を目指しつつ、C++ のパワーを活かしています。

MCpp Server は、すべて C++ で開発された高性能な Minecraft サーバーです。速度、効率性、幅広いカスタマイズを重視して設計されており、最新の Minecraft の機能との完全な互換性を維持しながら、プレイヤーにシームレスで快適な体験を提供することを目指しています。
⚠️ 重要 ⚠️
このプロジェクトは開発初期段階にあり、バグや未完成の機能、一時的なコードや最適化されていないコードが含まれている場合があります。
🙌 開発状況
開発中の内容を確認したいですか?「Show and Tell」カテゴリのディスカッションをご覧ください!
🚀 特長
🏎️ パフォーマンス
- マルチスレッドアーキテクチャ: 複数のスレッドを活用し、さまざまなサーバータスクを同時に処理します。
- 非常に高速で効率的なチャンクの読み込みと生成:複数のスレッドを使用して、メモリ使用量を最小限に抑えながらチャンクを読み込み、生成します。
- 最適化されたコードベース: C++ で記述されており、高い効率性と低レイテンシーを実現します。
🔧 カスタマイズと拡張性
- 設定可能なオプション: 設定ファイルを簡単に調整して、ニーズに合わせてサーバーの動作を変更できます。
- プラグイン対応は近日予定: カスタムプラグインの開発と統合のための基盤を提供します。
🌐 ネットワーク
- パケット圧縮: データパケットを圧縮して、帯域幅の使用量を削減します。
- サーバーのステータスと Ping: サーバーの状態とレイテンシーをリアルタイムで確認できます。
🧩 対応済みおよび開発中の機能
- ログイン
- 認証(オンラインモード)
- 暗号化
- パケット圧縮
- サーバー設定
- サーバーリンク
- レジストリ
- リソースパック(複数)
- サーバーブランド
- Cookie
- サーバー
- Lua プラグイン API
- クエリ
- RCON
- コマンド
- チャット
- 翻訳
- ワールド
- ワールドへの参加
- チャンクの読み込み
- プレイヤーリスト
- エンティティのスポーン
- ワールドの読み込み
- チャンクの生成
- ワールド境界
- ワールド時間
- ボスバー
- 天候
- スコアボード
- ワールドの保存
- プレイヤー
- プレイヤースキン
- クライアントブランド
- 移動
- インベントリ
- 装備
- アイテムの拾得
- 戦闘
- エンティティ
- プレイヤー
- Mob(動物、モンスター)
- エンティティ AI
- ボス
- トロッコ
- 落雷
- 物理演算
- アイテムの物理演算
- 落下ブロック
🌍 事前生成済みワールドの使用
Vanilla Minecraft のワールドフォルダーを、サーバー実行ファイルがあるディレクトリに配置するだけで、サーバーの起動時に読み込まれます。
⚠️ 重要な注意事項
- Linux との互換性: Linux 版は十分にテストされていません。Linux システムで MCpp Server を実行すると問題が発生する場合があります。それでもサーバーに参加できるようにするには、config.json ファイルでオンラインモードをオフにしてください。
- 継続的な開発: MCpp Server は現在も積極的に開発されています。サーバーの改善に役立つコントリビューションやフィードバックを歓迎します。
🛠️ インストールとビルド
📋 前提条件
- C++20 コンパイラー: 最新の C++ コンパイラー(例:GCC、Clang)がインストールされていることを確認してください。Windows では MingW が必要です。
- CMake: バージョン 3.14 以降。
- Git: リポジトリのクローンに使用します。
🔧 ビルド手順
Linux:
-
リポジトリをクローンする
git clone https://github.com/Noeli14/MCppServer.git cd MCppServer -
ビルドディレクトリを作成する
mkdir build cd build -
CMake でビルドファイルを生成する
cmake ..デバッグビルドの場合:
cmake -DCMAKE_BUILD_TYPE=Debug ..リリースビルドの場合:
cmake -DCMAKE_BUILD_TYPE=Release .. -
プロジェクトをコンパイルする
make
Windows(MingW & Make):
-
リポジトリをクローンする
git clone https://github.com/Noeli14/MCppServer.git cd MCppServer -
ビルドディレクトリを作成する
mkdir build cd build -
CMake でビルドファイルを生成する
cmake .. -G "Unix Makefiles"デバッグビルドの場合:
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug ..リリースビルドの場合:
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release .. -
プロジェクトをコンパイルする
make
Windows(MingW & Ninja):
-
リポジトリをクローンする
git clone https://github.com/Noeli14/MCppServer.git cd MCppServer -
ビルドディレクトリを作成する
mkdir build cd build -
CMake でビルドファイルを生成する
cmake .. -G "Ninja"デバッグビルドの場合:
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Debug ..リリースビルドの場合:
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release .. -
プロジェクトをコンパイルする
ninja
🚀 サーバーの実行
ビルドが正常に完了したら、サーバーのバイナリを実行します:
./MCppServer
📦 データソース
MCpp Server は、ゲームの仕組みとデータを正確かつ最新の状態に保つため、PrismarineJS Minecraft Data リポジトリのデータを利用しています。
🤝 コントリビューション
コントリビューションを歓迎します!バグの報告、機能の提案、プルリクエストの送信など、皆さまのご協力に心より感謝します。
📄 ライセンス
MCpp Server は MIT License のもとでライセンスされています。
📫 お問い合わせ
ご質問やサポートが必要な場合は、GitHub repository で Issue または Discussion をお気軽に作成してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。