Skip to main content

Services Overview

Business Services (src/*svr/)

ServiceDescription
echosvrMinimal example service: echoes client data as-is (only app/echosvr_main.cpp), suitable as a template for new services
authsvrAuthentication/login service: CS RPC AuthsvrClientService (task_action_login_auth), handles client login authentication
cachesvrDistributed object cache service: cache_group / cache_group_manager manage cache groups, exposes the SS RPC of cache_service.proto, ships with sdk/
lobbysvrLobby service (core logic service): login, kick-offline, player info, player async jobs (async_jobs/), global/user cache (cache/), rank board queries (rank/), dtmq channel event receiving (logic/dtmq/), ships with sdk/
rank_settlement_svrRank board settlement service: rank_settlement_manager + task_action_rank_send_settlement / task_action_rank_update_settlement
orbitsvrOrbit example service: demonstrates the orbit component's server/client RPC

Component Services (src/component/)

ServiceComponent
dtmq-proxysvrDistributed message queue entry service
dtcoordsvrDistributed transaction coordinator
rank_board_svrRank board service
orbit controller / agentOrbit scheduling framework

Built-in Access Services (atframework/service/)

ServiceDescription
atgatewayClient gateway (ECDH handshake, encryption, rate limiting, routing handoff)
atproxyCross-service proxy (etcd service discovery, online detection)

Service Directory Conventions

<name>svr/
├── service/ or app/ # main entry (*_main.cpp) + generated RPC handler registration
├── logic/ # Business logic and task actions
│ └── action/ # task_action_* (skeletons generated from templates, filled with business logic)
├── sdk/ # Optional: outbound client SDK
└── CMakeLists.txt # Protocol generation rules (service name + templates + output paths)

Stress-Test Robot

See Stress-Test Robot (robot).