このプロジェクトについて
# 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)
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.