Skip to main content

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​

FeatureServices/locationConsumer SDK declaration
Message queuessrc/component/dtmq/, dtmq-proxysvrUSE_COMPONENTS "dtmq-proxy-sdk"
Distributed transactionssrc/component/distributed_transaction/, dtcoordsvrUSE_COMPONENTS "distributed-transaction-sdk"
Compliance text filteringsrc/component/compliance/, compliance-svrUSE_COMPONENTS "compliance-sdk"
Chatsrc/lobbysvr/service/logic/chat/, DTMQBuilt into Lobby; USE_COMPONENTS "dtmq-proxy-sdk"
Mailsrc/lobbysvr/service/logic/mail/, src/lobbysvr/sdk/rpc/mail/USE_SERVICE_SDK "lobbysvr-sdk"
Item operations and sourcessrc/component/GameSharedComponent/ItemAlgorithm/, Lobby item moduleUSE_COMPONENTS "ItemAlgorithmSDK"
Leaderboardssrc/component/rank/, rank_board_svrUSE_COMPONENTS "rank-board-svr-sdk" "rank-logic-sdk"
Friendssrc/friendsvr/, management and recommendation servicesUSE_SERVICE_SDK "friend-sdk-management"
Matchmaking and teamssrc/matchsvr/, src/teamsvr/USE_SERVICE_SDK "matchsvr-sdk" "team-common-sdk" "team-sdk-room"
UE DS management (Orbit)src/component/orbit/, controller / agent / server / clientSelect SDKs by process role; see the Orbit quick start
User and Router integrationsrc/component/user/sdk/USE_COMPONENTS "user-sdk"
Shared algorithmssrc/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​

  1. For service components, follow run and deploy and prepare Redis, Excel, and instances as needed. For algorithm SDKs, start with the dependency declaration.
  2. Follow src/lobbysvr/service/CMakeLists.txt to add SDK parameters and reconfigure/build.
  3. Call the SDK from business actions; register notification handlers for components that require them.
  4. Verify requests/responses and required notifications for services, or call results for algorithms. lobbysvr demonstrates DTMQ, rank, friends, matchmaking, and teams. orbitsvr demonstrates 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.