프로젝트 소개
# Moon
Moon은 C++23으로 구현된 Actor 모델 기반의 경량 게임 서버 프레임워크입니다. 하나의 워커 스레드는 메시지 큐를 통해 통신하는 하나 이상의 액터(서비스)를 호스팅할 수 있습니다.
## 특징
- **크로스플랫폼**: 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.