可热更匹配房间类游戏架构基础设施

可热更匹配房间类游戏架构基础设施
后续优化

2024/6/14 22:30

支持同时开websocket 和 socket

load_mods 配置改动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
--共享配置
share_config_m = {
launch_seq = 1,
launch_num = 1,
default_arg = {
--room_game_login用的配置
room_game_login = {
--gate连接配置
gateconf = {
address = '127.0.0.1',
port = 8001,
maxclient = 2048,
},
--wsgate连接配置
wsgateconf = {
address = '127.0.0.1',
port = 8002,
maxclient = 2048,
},
login_plug = "login.login_plug",
},

server_cfg = {
loglevel = "info",
}
}
},

移除了gateservice选项。
增加了wsgateconf websocket配置项。

启动时gateconfwsgateconf至少配置一个。
gateconf对应socket配置。
wsgateconf对应websocket配置。

插件适配改动

login_plug

配置了gateconf需要提供unpack,send,broadcast
配置了wsgateconf需要提供ws_unpack,ws_send,ws_broadcast

hall_plug

配置了gateconf需要提供unpack,send,broadcast
配置了wsgateconf需要提供ws_unpack,ws_send,ws_broadcast

table_plug

配置了gateconf需要提供send,broadcast
配置了wsgateconf需要提供ws_send,ws_broadcast

2024/9/9 22:00

reload.sh room_game_hall 支持跳转到新服务。

插件适配改动

login_plug

增加配置项is_jump_new 是否跳转到新服务默认关闭
增加配置项jump_inval_time 尝试跳转间隔时间 默认60秒
增加配置项jump_once_cnt 单次尝试跳转人数 默认10

2024/10/12 22:00

插件适配改动

login_plug

增加主动接口interface:get_addr(player_id) 获取玩家IP:PORT

hall_plug

增加主动接口interface:get_addr(player_id) 获取玩家IP:PORT
增加被动接口handle_before 客户端消息前置处理,返回true继续下放到end_point处理,否则丢弃。

table_plug

增加主动接口interface:get_addr(player_id) 获取玩家IP:PORT
增加被动接口handle_before 客户端消息前置处理,返回true继续下放到end_point处理,否则丢弃。

2024/12/29

新增客户端 rpc 协议方式支持

login_plug

  • 主动接口
    增加interface:rpc_rsp_msg(player_id, header, msgbody, rsp_session)rpc回复消息
    增加interface:rpc_rsp_msg_byfd(fd, header, msgbody, rsp_session)rpc回复消息通过fd
    增加interface:rpc_error_msg(player_id, header, msgbody, rsp_session)rpc回复error消息
    增加interface:rpc_error_msg_byfd(fd, header, msgbody, rsp_session)rpc回复error消息通过fd
    增加interface:rpc_push_msg(player_id, header, msgbody)rpc推送消息
    增加interface:rpc_push_msg_byfd(fd, header, msgbody)rpc推送消息通过fd
    增加interface:rpc_push_by_player_list(player_list, header, msgbody)rpc推送消息给部分玩家
    增加interface:rpc_push_broad_cast(header, msgbody, filter_map)rpc推送消息给全部玩家

  • 被动接口
    增加login_plug.rpc_pack
    新增rsp_session参数login_plug.repeat_login(player_id, header, rsp_session)
    新增rsp_session参数login_plug.login_failed(player_id, errcode, errmsg, header, rsp_session)
    新增rsp_session参数login_plug.login_succ(player_id, ret, header, rsp_session)
    新增rsp_session参数login_plug.login_succ(player_id, ret, header, rsp_session)
    新增rsp_session,fd参数login_plug.check(header, body, rsp_session)

hall_plug

增加interface:rpc_rsp_msg(player_id, header, msgbody, rsp_session)rpc回复消息
增加interface:rpc_error_msg(player_id, header, msgbody, rsp_session)rpc回复error消息
增加interface:rpc_push_msg(player_id, header, msgbody)rpc推送消息
增加interface:rpc_push_by_player_list(player_list, header, msgbody)rpc推送消息给部分玩家
增加interface:rpc_push_broad_cast(header, msgbody, filter_map)rpc推送消息给全部玩家
增加login_plug.rpc_pack

  • 被动接口
    新增hall_plug.handle_end_rpc(agent.player_id, header, body, rsp_session, handle_res)

table_plug

增加interface:rpc_rsp_msg(player_id, header, msgbody, rsp_session)rpc回复消息
增加interface:rpc_error_msg(player_id, header, msgbody, rsp_session)rpc回复error消息
增加interface:rpc_push_msg(player_id, header, msgbody)rpc推送消息
增加interface:rpc_push_by_player_list(player_list, header, msgbody)rpc推送消息给部分玩家
增加interface:rpc_push_broad_cast(header, msgbody, filter_map)rpc推送消息给全部玩家
增加login_plug.rpc_pack

  • 被动接口
    新增hall_plug.handle_end_rpc(agent.player_id, header, body, rsp_session, handle_res)

可热更匹配房间类游戏架构基础设施
https://huahua132.github.io/2023/02/25/skynet_fly_word/word_3/B_game/
作者
huahua132
发布于
2023年2月25日
许可协议