Services Overview
Quick Start
Generate local configuration, then enable the services you need in
proc_desc. Consumers access other services through SDKs; see components.
| Service/deployment chart | Purpose | Minimal validation entry |
|---|---|---|
echosvr | Raw message echo example | Send data through atgateway and check the echo |
authsvr | Login authentication and internal account pre-generation, AuthsvrClientService | Authentication and account management |
cachesvr | Distributed object cache with SDK | Follow existing calls in the lobby's cache/ |
lobbysvr | Player login/data, chat, mail, items, friends, teams, matching, notifications | Robot business commands; chat, mail, items |
friendsvr-management / friendsvr-recommend | Friend management; recommendation strategies remain unimplemented | Friend quick start |
matchsvr | Matchmaking pools and rooms | Matchmaking quick start |
teamsvr-room / teamsvr-match | Team rooms; teammate search remains unimplemented | Team quick start |
dtmq-proxysvr | Message channels, subscriptions, synchronization | DTMQ quick start |
dtcoordsvr | Distributed transaction coordinator | Transaction quick start |
compliance-svr | Batch text filtering and dictionary management | Compliance service |
rank-board-svr / rank-settlement-svr | Leaderboards and periodic settlement | Rank quick start |
orbit-controller / orbit-agent / orbit-server | UE DS management; orbitsvr implements the server example | Orbit quick start |
atgateway / atproxy | Client access and cross-server traffic | Access configuration |
Chart names containing hyphens can differ from source directory names containing underscores. Use the actual chart name when declaring instances.
Authentication and Lobby
Enable authsvr, lobbysvr, and the required gateway, proxy, Redis/component instances through the existing
configuration workflow. Log in with robot, then run an existing user-info or business command and inspect responses
and client notifications. Start new login policies or lobby methods with the RPC quick start.
Object Cache
Enable cachesvr and configure Redis. Add cachesvr-sdk to the consumer's existing USE_SERVICE_SDK
and follow src/lobbysvr/service/logic/cache/user_cache_manager.h/.cpp for cache APIs.
Verify reads/updates for the same object, then integrate update notifications if subscriptions are needed.
Echo Example
Point the test gateway at echosvr, send test data, and verify the unchanged echo.
Use it to test the access path; use a standard service template for user/session validation and business RPCs.
Add a Service
See adding a service. Keep standard shared setup and handler registration, and implement business actions. To extend an existing service, follow the RPC quick start.
Customization and Directory Conventions
<name>svr/
├── protocol/ # Optional: service protocols and config
├── service/ # app/ entry points, logic/ business code and task actions
├── sdk/ # Optional: public APIs
└── CMakeLists.txt # Declarations using existing helpers
A service can contain several process roles; use the source layout as authority.
For setup changes, consult src/server_frame/logic/logic_server_setup.h.
See robot for stress testing and simulated clients.