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

# Moon MoonはC++23でActor Modelを用いて実装された軽量なゲームサーバーフレームワークです。1つのワーカースレッドが1つ以上のアクター(サービス)をホストし、それらはメッセージキューを通じて通信します。 ## 特徴 - **クロスプラットフォーム**: Windows(VS2022 17.5以降)、Linux(GCC 13以降)、macOS(Clang 16以降) - **ネットワーキング**: TCP、UDP/KCP、WebSockets、HTTPを最適化されたパフォーマンスで提供 - **Luaスクリプティング**: Luaによるロジック駆動、ソケット、タイマー、サービス間/プロセス間通信の非同期コルーチンサポート - **データベースクライアント**: Redis、PostgreSQL、MongoDB、MySQL用の非同期ドライバ - **ライブラリ**: 最適化されたLua JSONライブラリ、Lua Protobuf、Luaファイルシステム、ランキングリスト用のLua zset - **ナビゲーション**: Recast Navigation統合 - **シンプルなアーキテクチャ**: 簡潔で理解しやすいソースコード - **ASIOベースのスケジューリング** ## クイックスタート ```shell # テストを実行 ./moon example/test/main_test.lua # サンプルスクリプトを実行 ./moon example/example_timer.lua ./moon example/main_game.lua ``` ## ビルド 1. C++23コンパイラをインストール(VS2022 17.5以降、GCC 13以降、またはClang 16以降) 2. [premake5](https://premake.github.io/download)をインストール 3. リポジトリをクローン 4. ビルド: `premake5 build --release` 5. 実行: `premake5 run --release example/send_benchmark.lua` ## コミュニティ - [Gitter](https://gitter.im/undefined/community) - [Wiki/ドキュメント](https://github.com/sniper00/moon/wiki) - QQグループ: 543833695 ## 拡張 追加のライブラリは https://github.com/sniper00/lrust で入手可能 ## デモ [MoonDemo](https://github.com/sniper00/MoonDemo.git) ## 使用事例 Moonで構築されたゲームには *Age of Kita* と *战神遗迹*(War God Ruins)があります。 ## 関連プロジェクト - [NoahGameFrame](https://github.com/ketoo/NoahGameFrame)