--- sidebarDepth: 1 --- # 1-大厅与游戏服事件 事件的定义。 ## 服务器 ### MasterConnectStatusEvent - 描述 master成功连接到当前服务器事件 - 参数 | 参数名 | 数据类型 | 说明 | | :--- | :--- | :--- | | isConnect | int | 1代表连接建立,0代表连接中断 | | serverId | int | 当前lobby/game服务器id | - 返回值 无 ### MasterForceShutDownEvent - 描述 不建议开发者使用,强制关闭当前服务器时会触发本事件 - 返回值 无 ### MasterGraceShutDownEvent - 描述 不建议开发者使用,优雅关闭当前服务器时会触发本事件 - 返回值 无 ### ServerWillShutDownEvent - 描述 不建议开发者使用,游戏即将强制关闭触发本事件。事件回调函数需要好清理和存档工作,同时终止或强制join所有异步线程 - 返回值 无 ### ServiceConnectEvent - 描述 service与lobby/game的成功建立连接事件 - 参数 | 参数名 | 数据类型 | 说明 | | :--- | :--- | :--- | | serverId | int | service的服务器id | | serviceType | str | service的服务器类型 | - 返回值 无 ### ServiceDisconnectEvent - 描述 service与lobby/game断开连接事件 - 参数 | 参数名 | 数据类型 | 说明 | | :--- | :--- | :--- | | serverId | int | service的服务器id | - 返回值 无 ### ServiceRegisterModuleEvent - 描述 不建议开发者使用,service向lobby/game注册module - 参数 | 参数名 | 数据类型 | 说明 | | :--- | :--- | :--- | | serverId | int | service服务器id | | moduleName | str | 模块名,是公共配置中module_names中某个module | - 返回值 无 ## 配置 ### ReloadCommonConfigEvent - 描述 不建议开发者使用,公共配置发生变化时触发本事件,注意只有与本服相关配置发生变化时才会触发本事件,比如日志等级 - 返回值 无 ## 玩家 ### MasterResponseTransferFailServerEvent - 描述 转服失败事件,当玩家试图转服时,没有符合条件的目标服务器时抛出此事件 - 参数 | 参数名 | 数据类型 | 说明 | | :--- | :--- | :--- | | uid | int/long | 玩家uid,玩家的唯一标识 | | reason | int | 失败的错误码,serverApi.GetMinecraftEnum().TransferServerFailReason | - 返回值 无 ### MasterResponseTransferSucServerEvent - 描述 转服成功事件,当玩家试图转服时,成功定位到可转服的目标服务器时抛出此事件 - 参数 | 参数名 | 数据类型 | 说明 | | :--- | :--- | :--- | | uid | int/long | 玩家uid,玩家的唯一标识 | - 返回值 无 ### ServerGetPlayerLockEvent - 描述 玩家登录到lobby/game过程中,获取玩家在线锁事件。事件触发时,玩家还处于开始登录阶段, 还没有下载行为包,且没有在地图中出生。在线锁实质是redis中记录的玩家在线信息,redis key格式 是“user:online: + netease uid”,它是个hash表,包含两个hash key:serverid,proxyid - 参数 | 参数名 | 数据类型 | 说明 | | :--- | :--- | :--- | | uid | int/long | 玩家的netease uid,玩家的唯一标识 | | serverId | int | 当前服务器id | | proxyId | int | 当前客户端连接的proxy服务器id | - 返回值 无 ### ServerPlayerBornPosEvent - 描述 创建玩家对象过程中,设置玩家出生位置时触发本事件 - 参数 | 参数名 | 数据类型 | 说明 | | :--- | :--- | :--- | | userId | int | 玩家的netease uid | | dimensionId | int | 玩家出生dimension,支持修改 | | posx | int | 玩家出生位置,支持修改 | | posy | int | 玩家出生位置,支持修改 | | posz | int | 玩家出生位置,支持修改 | | deltax | int | 玩家motion位置,初始值为存档中的数据。若修改了posx/posy/posz,则建议设置为0。 | | deltay | int | 玩家motion位置,初始值为存档中的数据。若修改了posx/posy/posz,则建议设置为0。 | | deltaz | int | 玩家motion位置,初始值为存档中的数据。若修改了posx/posy/posz,则建议设置为0。 | | rotx | int | 玩家的rot,初始值为存档中的数据,支持修改 | | roty | int | 玩家的rot,初始值为存档中的数据,支持修改 | | ret | bool | 是否需要修改玩家初始位置,设置为True后其他数据的修改才会生效 | - 返回值 无 ### ServerReleasePlayerLockEvent - 描述 玩家下线过程中,释放在redis中的玩家在线锁事件。事件触发时,客户端同服务端断开了连接,玩 家数据已经保存到地图,玩家已经不存在于mc的世界中。在线锁实质是redis中记录的玩家在线信息, redis key格式是“user:online: + netease uid”,它是个hash表,包含两个hash key:serverid,proxyid - 参数 | 参数名 | 数据类型 | 说明 | | :--- | :--- | :--- | | uid | int/long | 玩家的netease uid,玩家的唯一标识 | - 返回值 无 ### ServerReleasePlayerLockOnShutDownEvent - 描述 不建议开发者使用,游戏强制关闭过程中,玩家强制下线时触发本事件。事件回调函数需要释放在redis中的 玩家的在线锁 - 参数 | 参数名 | 数据类型 | 说明 | | :--- | :--- | :--- | | idx | int | 事件唯一id,回调时返回 | | uid | int/long | 玩家的netease uid,玩家的唯一标识 | - 返回值 无 ### StoreBuySuccServerEvent - 描述 玩家游戏内购买商品时服务端抛出的事件 - 参数 | 参数名 | 数据类型 | 说明 | | :--- | :--- | :--- | | playerId | str | 玩家id | - 返回值 无 ### queryPlayerDataEvent - 描述 不建议开发者使用,玩家上线时,引擎读取玩家entity存档数据时触发本事件。 只有【SetUseDatabaseSave】设置使用数据库存档后,本事件才有效。 触发本事件,开发者需要从存档中读取玩家entity数据,然后通过【SavePlayerDataResult】 将修改后玩家entity数据设置回引擎 - 参数 | 参数名 | 数据类型 | 说明 | | :--- | :--- | :--- | | idx | int | 事件唯一id,【QueryPlayerDataResult】会使用到这个id | | playerKey | str | 玩家uid字符串,玩家的唯一标识 | | dbName | str | 数据库存档的前缀,可以通过【SetUseDatabaseSave】设置dbname | - 返回值 无 ### savePlayerDataEvent - 描述 保存玩家数据事件,玩家下线时也会触发该事件。只有【SetUseDatabaseSave】 设置 useDatabase为True时,本事件才生效。本事件的回调函数 必须调用【SavePlayerDataResult】函数,把存档状态告知引擎 - 参数 | 参数名 | 数据类型 | 说明 | | :--- | :--- | :--- | | idx | int | 引擎回调函数id,【SavePlayerDataResult】会使用这个id | | playerKey | str | 玩家uid字符串,玩家的唯一标识 | - 返回值 无 ### savePlayerDataOnShutDownEvent - 描述 游戏强制关闭过程中,玩家下线时会触发本事件。另外,只有【SetUseDatabaseSave】 设置 useDatabase为True时,本事件才生效。本事件的回调函数必须调用 【SavePlayerDataResult】函数,把存档状态告知引擎 - 参数 | 参数名 | 数据类型 | 说明 | | :--- | :--- | :--- | | idx | int | 引擎回调函数id,【SavePlayerDataResult】函数会使用这个id | | playerKey | str | 玩家uid字符串,玩家的唯一标识 | - 返回值 无