このプロジェクトについて

Hyperionは、Bevy ECSとflecsを使用してRustで構築されたMinecraftゲームエンジンで、PvPのギネス世界記録を破ることを目標に、大規模なカスタムイベントを対象としています。垂直マルチスレッディングと水平プロキシスケーリングにより、単一ワールドで1万人以上のプレイヤーをサポートします。 **主な機能:** - BevyとflecsによるマルチスレッドECSアーキテクチャ - リージョナルマルチキャストを備えた水平スケーリング用プロキシレイヤー - Tracyプロファイラを使用したパフォーマンストレーシング - 基本的なアンチチートおよびモデレーターツール(WIP) - 拡張性のためのプラグインAPI(例: bedwarsイベント) - コアメカニクス: 物理を伴うブロックの破壊・設置、エンティティの衝突、動的ライティング、ワールドボーダー、ブロック編集API、PvP戦闘、インベントリシステム、レイキャスティング - プレイヤー体験: パーティクルエフェクト、チャットシステム(グローバルおよび近接)、カスタムコマンド、Simple Voice Chatによる近接ボイス - VelocityプロキシによるMinecraft 1.20.1のサポート **ベンチマーク:** - 1プレイヤー: 0.24msのティック時間、4.3%のコア使用率 - 1000プレイヤー: 0.40msのティック時間、15.3%のコア使用率 - 5000プレイヤー: 1.42msのティック時間、35.6%のコア使用率 **アーキテクチャ:** - ゲームサーバーはTokio非同期I/Oですべてのゲームロジックを実行 - プロキシレイヤーはプレイヤー接続とリージョナルマルチキャストを処理 - Velocity + ViaVersionによる認証 - ゲームサーバーとプロキシ間のmTLS暗号化接続 **実行:** - Nixが必要。ゲームサーバーには`nix run github:hyperion-mc/hyperion#bedwars`、プロキシには`nix run github:hyperion-mc/hyperion#hyperion-proxy`を実行 - 開発コマンドには証明書生成、ボット、CI、lint、test、e2eテストが含まれる **開発:** - すべてのコマンドはflakeアプリで、Nixのみが必要 - CIゲート、リンティング、テスト、ドキュメント、エンドツーエンドテストを含む - モジュラー設計により、カスタムメカニクスとイベントの実装が可能 **推定最大プレイヤー数:** 約176,056