匹配与组队
src/matchsvr/ 提供匹配池、匹配房间与匹配结果通知;
src/teamsvr/ 提供组队房间和组队匹配服务。
大厅服的 logic/matching/、logic/team/ 提供玩家侧接入。
快速上手:匹配
- 启用
matchsvr实例并准备其 Redis 配置。修改resource/ExcelTables/Matching.xlsx中的匹配池、规则组、撮合规则与参数合并规则; 关卡配置参照Level.xlsx。 - 按Excel 上手构建与发布配置;
消费方
USE_SERVICE_SDK加入matchsvr-sdk。 - 使用
src/matchsvr/sdk/rpc/matching/matchsvrservice.atfw.gen.h的生成接口, 玩家侧流程参照大厅服的user_matching_manager.h/.cpp。 结果通知沿用MatchsvrNotifyService的 handler 声明与注册。 - 使用
src/robot/case_config/matching_demo.conf的已有场景,验证发起、确认、取消及结果通知。 组队匹配场景可参照matching_team_3v3.conf。
只调整已有匹配参数时修改 Excel 和 values 即可。新增算法或撮合语义需要实现业务逻辑。 匹配结果后的战斗进程管理见Orbit。
快速上手:组队
- 启用
teamsvr-room;需要组队匹配时配套teamsvr-match和matchsvr。 修改resource/ExcelTables/Team.xlsx的组队类型配置并导出。 - 消费方
USE_SERVICE_SDK加入team-common-sdk、team-sdk-room。 房间接口位于src/teamsvr/sdk/room/rpc/team/team_room_client_api.h。 - 参照
src/lobbysvr/service/logic/team/user_team_manager.h/.cpp接入成员、邀请、队长和状态同步。 - 用测试用户验证创建队伍、邀请/加入、离开,以及所需的匹配流程;检查客户端状态与通知。
定制与详细设计
匹配协议在 src/matchsvr/protocol/,组队协议在 src/teamsvr/protocol/,
客户端消息在 com.protocol.match.proto、com.protocol.team.proto。
算法与 WAL 位于各服务的 logic/;对应单元测试位于服务的 test/。
新增 RPC 和配置字段分别使用RPC、
服务端配置指南。