Components and Reusable Services
The project provides standalone components and reusable business services. Prepare the services/configuration, declare SDK dependencies in the consumer, then use public APIs. See component integration.
Choose by Feature
| Feature | Services/location | Consumer SDK declaration |
|---|---|---|
| Message queues | src/component/dtmq/, dtmq-proxysvr | USE_COMPONENTS "dtmq-proxy-sdk" |
| Distributed transactions | src/component/distributed_transaction/, dtcoordsvr | USE_COMPONENTS "distributed-transaction-sdk" |
| Compliance text filtering | src/component/compliance/, compliance-svr | USE_COMPONENTS "compliance-sdk" |
| Chat | src/lobbysvr/service/logic/chat/, DTMQ | Built into Lobby; USE_COMPONENTS "dtmq-proxy-sdk" |
src/lobbysvr/service/logic/mail/, src/lobbysvr/sdk/rpc/mail/ | USE_SERVICE_SDK "lobbysvr-sdk" | |
| Item operations and sources | src/component/GameSharedComponent/ItemAlgorithm/, Lobby item module | USE_COMPONENTS "ItemAlgorithmSDK" |
| Leaderboards | src/component/rank/, rank_board_svr | USE_COMPONENTS "rank-board-svr-sdk" "rank-logic-sdk" |
| Friends | src/friendsvr/, management and recommendation services | USE_SERVICE_SDK "friend-sdk-management" |
| Matchmaking and teams | src/matchsvr/, src/teamsvr/ | USE_SERVICE_SDK "matchsvr-sdk" "team-common-sdk" "team-sdk-room" |
| UE DS management (Orbit) | src/component/orbit/, controller / agent / server / client | Select SDKs by process role; see the Orbit quick start |
| User and Router integration | src/component/user/sdk/ | USE_COMPONENTS "user-sdk" |
| Shared algorithms | src/component/GameSharedComponent/ | USE_COMPONENTS "ItemAlgorithmSDK" "BattleUtilitySDK" |
Append these parameters to existing service declarations and select dependencies for the APIs you use;
do not redefine service targets. Algorithm SDKs need no separate process.
Orbit's client runtime also lives under GameSharedComponent/Orbit/.
Quick Start
- For service components, follow run and deploy and prepare Redis, Excel, and instances as needed. For algorithm SDKs, start with the dependency declaration.
- Follow
src/lobbysvr/service/CMakeLists.txtto add SDK parameters and reconfigure/build. - Call the SDK from business actions; register notification handlers for components that require them.
- Verify requests/responses and required notifications for services, or call results for algorithms.
lobbysvrdemonstrates DTMQ, rank, friends, matchmaking, and teams.orbitsvrdemonstrates Orbit server integration.
Customization and Design
Service components commonly contain protocol/, service implementations, and sdk/;
pure algorithm components provide libraries only.
See adding components for protocol, generation, and linking declarations.
Each component's design sections cover persistence, replication, recovery, and lifecycle rules.