术语说明

  • game

游戏服

  • lobby

大厅服

  • 官方mod

存在于Apollo引擎中的mod,放在developer_mods目录下,比如处理登录相关的官方mod neteaseOnline,它在lobby/game引擎的developer_mods目录下。


game和lobby服务器事件

配置

ReloadCommonConfigEvent

  • 描述

    引擎重新加载配置后触发此事件。

  • 返回值

  • 备注

    • 目前只用于引擎,用法详情见示例Mod shutdown

服务器

MasterConnectStatusEvent

  • 描述

    master成功连接到当前服务器事件.

  • 参数

    参数名数据类型说明
    is_connectint1代表连接建立,0代表连接中断
    serveridint当前lobby/game服务器id
  • 返回值

  • 备注

    • 用法详情见示例Mod sample

MasterForceShutDownEvent

  • 描述

    强制关闭当前服务器时会触发本事件。只应用于引擎,不建议开发者使用。

  • 返回值

  • 备注

    • 用法详情见示例Mod shutdown

MasterGraceShutDownEvent

  • 描述

    优雅关闭当前服务器时会触发本事件。只应用于引擎,不建议开发者使用。

  • 返回值

  • 备注

    • 用法详情见示例Mod shutdown

ServerWillShutDownEvent

  • 描述

    游戏即将强制关闭触发本事件。事件回调函数需要好清理和存档工作,同时终止或强制join所有异步线程.

  • 返回值

  • 备注

    • 用法详情见示例Mod neteaseDatabase

ServiceConnectEvent

  • 描述

    service与lobby/game的成功建立连接事件。

  • 参数

    参数名数据类型说明
    serveridintservice的服务器id
  • 返回值

ServiceDisconnectEvent

  • 描述

    service与lobby/game断开连接事件。

  • 参数

    参数名数据类型说明
    serveridintservice的服务器id
  • 返回值

ServiceRegisterModuleEvent

  • 描述

    service向lobby/game注册module。只应用于引擎,不建议开发者使用。

  • 参数

    参数名数据类型说明
    serveridintservice服务器id
    modulenamestr模块名,是公共配置netgame_common.json中module_names中某个module
  • 返回值

玩家

ServerGetPlayerLockEvent

  • 描述

    玩家登录到lobby/game过程中,获取玩家在线锁事件。事件触发时,玩家还处于开始登录阶段,还没有下载行为包,且没有在地图中出生。在线锁实质是redis中记录的玩家在线信息,redis key格式是“online_user_ + netease uid”,它是个hash表,包含两个hash key:serverid,proxyid。

  • 参数

    参数名数据类型说明
    uidint玩家的netease uid,玩家的唯一标识
    serveridstr当前服务器id
    proxyidint当前客户端连接的proxy服务器id
  • 返回值

  • 备注

    • 目前只用于引擎,具体可以参见官方mod neteaseOnline

ServerPlayerBornPosEvent

  • 描述

    创建玩家对象过程中,设置玩家出生位置时触发本事件。

  • 参数

    参数名数据类型说明
    userIdint玩家的netease uid
    dimensionIdint玩家出生dimension,支持修改
    posxint玩家出生位置,支持修改
    posyint玩家出生位置,支持修改
    poszint玩家出生位置,支持修改
    deltaxint玩家motion位置,初始值为存档中的数据。若修改了posx/posy/posz,则建议设置为0。
    deltayint玩家motion位置,初始值为存档中的数据。若修改了posx/posy/posz,则建议设置为0。
    deltazint玩家motion位置,初始值为存档中的数据。若修改了posx/posy/posz,则建议设置为0。
    rotxint玩家的rot,初始值为存档中的数据,支持修改
    rotyint玩家的rot,初始值为存档中的数据,支持修改
    retbool是否需要修改玩家初始位置,设置为True后其他数据的修改才会生效
  • 返回值

  • 备注

    • 可以设置出生点位置。用法详情见示例Mod sample

ServerReleasePlayerLockEvent

  • 描述

    玩家下线过程中,释放在redis中的玩家在线锁事件。事件触发时,客户端同服务端断开了连接,玩家数据已经保存到地图,玩家已经不存在于mc的世界中。在线锁实质是redis中记录的玩家在线信息,redis key格式是“online_user_ + netease uid”,它是个hash表,包含两个hash key:serverid,proxyid。

  • 参数

    参数名数据类型说明
    uidstr玩家的netease uid,玩家的唯一标识
  • 返回值

  • 备注

    • 目前只用于引擎,具体可以参见官方mod neteaseOnline

ServerReleasePlayerLockOnShutDownEvent

  • 描述

    游戏强制关闭过程中,玩家强制下线时触发本事件。事件回调函数需要释放在redis中的玩家的在线锁。主要应用于lobby/game官方mod neteaseOnline。

  • 参数

    参数名数据类型说明
    idxstr事件唯一id,回调时返回
    uidstr玩家的netease uid,玩家的唯一标识
  • 返回值

  • 备注

    • 目前只用于引擎,具体可以参见官方mod neteaseOnline

queryPlayerDataEvent

  • 描述

    玩家上线时,引擎读取玩家entity存档数据时触发本事件。不建议开发者使用本事件!只有【set_use_database_save】设置使用数据库存档后,本事件才有效。触发本事件,开发者需要从存档中读取玩家entity数据,然后通过【query_player_data_result】将修改后玩家entity数据设置回引擎。

  • 参数

    参数名数据类型说明
    idxstr事件唯一id,【query_player_data_result】会使用到这个id
    playerKeystr玩家的netease uid,玩家的唯一标识
    dbnamestr数据库存档的前缀,可以通过【set_use_database_save】设置dbname
  • 返回值

  • 备注

    • 不建议开发者使用本事件!用法详情见示例Mod neteaseDatabase

savePlayerDataEvent

  • 描述

    保存玩家数据事件,玩家下线时也会触发该事件。只有【set_use_database_save】 设置useDatabase为True时,本事件才生效。本事件的回调函数必须调用【save_player_data_result】函数,把存档状态告知引擎。

  • 参数

    参数名数据类型说明
    idxstr引擎回调函数id,【save_player_data_result】会使用这个id
    playerKeystr玩家的netease uid,玩家的唯一标识
  • 返回值

  • 备注

    • 可以用于定时将玩家数据存档,用法详情见示例Mod neteaseDatabase

savePlayerDataOnShutDownEvent

  • 描述

    游戏强制关闭过程中,玩家下线时会触发本事件。另外,只有【set_use_database_save】 设置useDatabase为True时,本事件才生效。本事件的回调函数必须调用【save_player_data_result】函数,把存档状态告知引擎。

  • 参数

    参数名数据类型说明
    idxstr引擎回调函数id,【save_player_data_result】函数会使用这个id
    playerKeystr玩家的netease uid,玩家的唯一标识
  • 返回值

  • 备注

    • 用于游戏关闭前把玩家数据存档,具体参见示例Mod neteaseDatabase。

master服务器事件

配置

NetGameCommonConfChangeEvent

  • 描述

    master公共配置netgame_common.json发生变化时触发。比如新增或删服服务器。

  • 返回值

服务器

ServerConnectedEvent

  • 描述

    lobby/game/proxy成功建立连接时触发。

  • 参数

    参数名数据类型说明
    serverIdint服务器id
    protocolVersionint协议版本号
  • 返回值

ServerDisconnectEvent

  • 描述

    lobby/game/proxy断开连接时触发。

  • 参数

    参数名数据类型说明
    serverIdint服务器id
  • 返回值

玩家

PlayerLoginServerEvent

  • 描述

    玩家开始登陆事件,此时master开始给玩家分配lobby/game。可以区分玩家是登录还是切服。

  • 参数

    参数名数据类型说明
    serverIdint客户端连接的proxy服务器id
    neteaseIdint玩家的netease uid
    protocolVersionint协议版本号
    isTransferboolTrue: 切服,False:登录
  • 返回值

PlayerLogoutServerEvent

  • 描述

    玩家登出时触发,玩家在lobby/game下载行为包的过程中退出也会触发该事件。可以以区分玩家是登出还是切服。

  • 参数

    参数名数据类型说明
    serverIdint客户端连接的proxy服务器id
    neteaseIdint玩家的netease uid
    isTransferboolTrue: 切服,False:登出
  • 返回值

PlayerTransferServerEvent

  • 描述

    玩家开始切服事件,此时master开始为玩家准备服务器,玩家还没切服完毕,后续可能切服失败。

  • 参数

    参数名数据类型说明
    serverIdint客户端连接的proxy服务器id
    neteaseIdint玩家的netease uid
    targetServerIdint目标lobby/game服务器id
    targetServerTypestr目标服务器类型,比如"game"或"lobby"。若targetServerId为0,则会从目标类型的多个服务器中随机选一个,作为目标服务器
    protocolVersionint协议版本号
    transferParamstr切服参数。调用【TransferToOtherServer】或【TransferToOtherServerById】传入的切服参数。
  • 返回值

service服务器事件

配置

NetGameCommonConfChangeEvent

  • 描述

    service公共配置netgame_common.json发生变化时触发。比如新增或删服服务器。

  • 返回值

服务器

ServerConnectedEvent

  • 描述

    lobby/game/proxy成功建立连接时触发。

  • 参数

    参数名数据类型说明
    serverIdint服务器id
    protocolVersionint协议版本号
  • 返回值

ServerDisconnectEvent

  • 描述

    lobby/game/proxy断开连接时触发。

  • 参数

    参数名数据类型说明
    serverIdint服务器id
  • 返回值

UpdateServerStatusEvent

  • 描述

    lobby/game/proxy状态发生变化时触发。

  • 参数

    参数名数据类型说明
    服务器id的字符串str服务器状态。服务器状态如下:‘1’ 就绪状态,‘2’ 停止状态,‘3’ 准备状态。服务器状态为'1'时,服务器才可用,其他状态下,服务器不可用。
  • 返回值

  • 示例

master API

配置

GetCommonConfig

  • 描述

    获取公共配置netgame_common.json中内容,将该文件内容映射为一个dict。

  • 返回值

    数据类型说明
    dict配置内容
  • 示例

  • 备注

    • 取代【masterConf.netgameConf】,【masterConf.netgameConf】废弃。

 

IsService

  • 描述

    服务器是否是service服。

  • 参数

    参数名数据类型说明
    serverIdint服务器id
  • 返回值

    数据类型说明
    boolTrue表示是service,False不是service
  • 示例

  • 备注

    • 本api取代【masterConf.isService】,【masterConf.isService】废弃。

HTTP服务器

RegisterMasterHttp

  • 描述

    注册一个新的TTTP接口。

  • 参数

    参数名数据类型说明
    urlstr接口url
    binderinstance响应HTTP请求的实例
    funcfunction响应HTTP请求的实例函数
  • 返回值

  • 示例

SendHttpRequestToService

  • 描述

    给service发送http请求。

  • 参数

    参数名数据类型说明
    serverIdintservice的服务器id
    requestUrlstr请求url,例如“/test-reqeust”
    bodystrHTTP post body,是个json字符串
  • 返回值

  • 示例

SendHttpResponse

  • 描述

    发送HTTP的Response。支持异步返回,返回时候指定请求传入的clientId。

  • 参数

    参数名数据类型说明
    clientIdint请求唯一id,识别HTTP请求。
    messagestrHTTP Response的内容
  • 返回值

  • 示例

服务器管理

GetAllServerStatus

  • 描述

    获取所有服务器的状态。只有状态2表示服务器正常服务,其他状态表示服务器不能服务。

  • 返回值

    数据类型说明
    dictkey:int类型,服务器id,value:int类型,服务器状态。服务器状态如下:
    1:断开连接状态
    2:已连接状态
    3:关服状态
    4:优雅关服状态
    6, 滚动更新中间状态,即将转换到状态7
    7 也是滚动更新中间状态,即将转换到状态1或2
  • 示例

GetAllServersOnlineNum

  • 描述

    获取所有服务器的在线人数。

  • 返回值

    数据类型说明
    dictkey,int类型,表示服务器id,value,int类型,表示服务器在线人数
  • 示例

GetConnectedLobbyAndGameIds

  • 描述

    获取所有已经连接的lobby/game的服务器id列表。

  • 返回值

    数据类型说明
    list服务器id列表,服务器id是int类型。
  • 示例

GetOneServerStatus

  • 描述

    获取服务器状态。只有状态2表示服务器正常服务,其他状态表示服务器不能服务。

  • 参数

    参数名数据类型说明
    serverIdint服务器id
  • 返回值

    数据类型说明
    int服务器状态。服务器状态如下:
    1:断开连接状态
    2:已连接状态
    3:关服状态
    4:优雅关服状态
    6, 滚动更新中间状态,即将转换到状态7
    7 也是滚动更新中间状态,即将转换到状态1或2
  • 示例

GetOnlineNumByServerId

  • 描述

    获取服务器(lobby/game/proxy)的在线人数。

  • 参数

    参数名数据类型说明
    serverIdint服务器id
  • 返回值

    数据类型说明
    int在线人数
  • 示例

GetServerProtocolVersion

  • 描述

    获取服务器的协议版本号。多协议版本引擎中(比如同时支持1.14客户端和1.15客户端),需要把客户端分配到相同协议版本的lobby/game中。

  • 参数

    参数名数据类型说明
    serverIdintlobby/game服务器id
  • 返回值

    数据类型说明
    int协议版本
  • 示例

GetTotalOnlineNum

  • 描述

    获取总得在线人数。

  • 返回值

    数据类型说明
    int在线人数
  • 示例

IsConnectedServer

  • 描述

    master是否与lobby/game/proxy建立连接。

  • 参数

    参数名数据类型说明
    serverIdint服务器id
  • 返回值

    数据类型说明
    boolTrue,已经建立连接;False未建立连接
  • 示例

IsValidServer

  • 描述

    服务器是否有效。一种用途:master将玩家分配到服务器之前,会检查服务器是否有效,避免把玩家分配到一个即将关闭的服务器中。

  • 参数

    参数名数据类型说明
    serverIdint服务器id
  • 返回值

    数据类型说明
    boolTrue,master已经同服务器建立链接,且服务器正在提供服务,不是即将关闭的服务。
  • 示例

StopServerByServerid

  • 描述

    关闭某个服务器。

  • 参数

    参数名数据类型说明
    serverIdintproxy/lobby/game服务器id
    actTypeint1:强制踢出所有玩家后关服;2:等待所有玩家退出后关服
  • 返回值

  • 示例

service API

配置

GetCommonConfig

  • 描述

    获取公共配置netgame_common.json中内容,将该文件内容映射为一个dict。

  • 返回值

    数据类型说明
    dict配置内容
  • 示例

  • 备注

    • 取代【serviceConf.netgameConf】,【serviceConf.netgameConf】废弃。

 

GetServerId

  • 描述

    获取服务器id。

  • 返回值

    数据类型说明
    int服务器id,对应netgame_common.json中配置的serverid
  • 示例

GetServiceConfig

  • 描述

    获取service配置,该配置对应公共配置netgame_common.json中servicelist下对应service的配置。

  • 返回值

    数据类型说明
    dict配置内容
  • 示例

HTTP服务器

RegisterServiceHttp

  • 描述

    注册一个新的TTTP接口。

  • 参数

    参数名数据类型说明
    urlstring接口url
    binderinstance响应HTTP请求的实例
    funcfunction响应HTTP请求的实例函数
  • 返回值

  • 示例

SendHttpRequestToMaster

  • 描述

    给master发送http请求。

  • 参数

    参数名数据类型说明
    requestUrlstring请求url,例如“/test-reqeust”
    messagestringHTTP post body,是个json字符串
  • 返回值

  • 示例

SendHttpResponse

  • 描述

    发送HTTP的Response。支持异步返回,返回时指定输入clientId。

  • 参数

    参数名数据类型说明
    clientIdint请求唯一id,识别HTTP请求
    messagestringHTTP Response的内容
  • 返回值

  • 示例

服务器管理

GetServerProtocolVersion

  • 描述

    获取服务器的协议版本号。多协议版本引擎中(比如同时支持1.14客户端和1.15客户端),需要把客户端分配到相同协议版本的lobby/game中。

  • 参数

    参数名数据类型说明
    serverIdintlobby/game服务器id
  • 返回值

    数据类型说明
    int协议版本
  • 示例

GetServersStatus

  • 描述

    获取所有lobby/game服务器的状态。只有状态1表示服务器正常服务,其他状态表示服务器不能服务。

  • 返回值

    数据类型说明
    dictkey:int, 服务器id,value:int 服务器状态。服务器状态如下:
    1:准备状态
    2:停止状态
    3:准备状态
  • 示例

IsConnectedServer

  • 描述

    service是否与lobby/game/proxy建立连接。

  • 参数

    参数名数据类型说明
    serverIdint服务器id
  • 返回值

    数据类型说明
    boolTrue,已经建立连接;False未建立连接
  • 示例

lobby和game服务器API

服务器

CheckMasterExist

  • 描述

    检查服务器是否与master建立连接。

  • 返回值

    数据类型说明
    bool是否与master建立连接
  • 示例

GetOnlinePlayerNum

  • 描述

    获取当前服务器的在线人数。

  • 返回值

    数据类型说明
    int当前服务器在线人数
  • 示例

IsShowDebugLog

  • 描述

    当前服务器是否打印debug等级的日志

  • 返回值

    数据类型说明
    boolTrue,打印debug log,否则不打印debug log
  • 示例

  • 备注

    • 基本无需关注

玩家

GetConnectingProxyIdOfPlayer

  • 描述

    获取玩家客户端连接的proxy服务器id。

  • 参数

    参数名数据类型说明
    playerIdstr玩家对象的entityId
  • 返回值

    数据类型说明
    intproxy服务器id
  • 示例

GetPlayerLockResult

  • 描述

    把获取玩家在线锁结果告知给引擎层。本api应用于官方mod neteaseOnline,不建议开发者使用。

  • 参数

    参数名数据类型说明
    idint对应【ServerGetPlayerLockEvent】事件的传入唯一ID
    successbool是否成功
  • 返回值

  • 示例

  • 备注

    • 用法详情见示例Mod online

 

GetPlayerNickname

  • 描述

    获取玩家的昵称。

  • 参数

    参数名数据类型说明
    playerIdstr玩家对象的entityId
  • 返回值

    数据类型说明
    str昵称
  • 示例

  • 备注

    • 用法详情见示例Mod sample

 

GetPlayerUid

  • 描述

    获取玩家的uid。

  • 参数

    参数名数据类型说明
    playerIdstr玩家对象的entityId
  • 返回值

    数据类型说明
    int玩家的uid;玩家的唯一标识。
  • 示例

  • 备注

    • 用法详情见示例Mod sample

 

ReleasePlayerLockResult

  • 描述

    把释放玩家在线锁结果告知给引擎层。本api应用于官方mod neteaseOnline,不建议开发者使用。

  • 参数

    参数名数据类型说明
    idint对应【ServerReleasePlayerLockEvent/ServerReleasePlayerLockOnShutDownEvent】事件传入的唯一ID
    successbool是否成功
  • 返回值

  • 示例

  • 备注

    • 用法详情见示例Mod online

 

SetAutoRespawn

  • 描述

    设置是否启用自动重生逻辑。

  • 参数

    参数名数据类型说明
    autoRespawnbool是否启用自动重生逻辑
    internalSecondsint每隔多少秒,检查是否满足自动重生条件
    minYint高度低于多少,就会触发自动重生逻辑
    xint自动重生逻辑触发后,重生点的坐标
    yint自动重生逻辑触发后,重生点的坐标
    zint自动重生逻辑触发后,重生点的坐标
  • 返回值

  • 示例

ShieldPlayerJoinText

  • 描述

    是否屏蔽客户端左上角 “xxx 加入了游戏”的提示。

  • 参数

    参数名数据类型说明
    bShieldboolTrue,不显示提示;False,显示提示
  • 返回值

  • 示例

TryToKickoutPlayer

  • 描述

    把玩家踢下线,message中的文字会显示在客户端的断线提示中

  • 参数

    参数名数据类型说明
    playerIdstr玩家对象的entityId
    messagestr踢掉玩家的理由,默认为空
  • 返回值

  • 示例

切服

TransferToOtherServer

  • 描述

    玩家转移到指定类型的服务器,假如同类服务器有多个,就根据负载均衡选择一个。

  • 参数

    参数名数据类型说明
    playerIdstr玩家对象的entityId
    typeNamestr目标服务器的类型,netgame_commom.json中配置的type,比如lobby,game
    transferParamstr切服传入参数,默认空字符串。当玩家跳转到目标服务器触发AddServerPlayerEvent事件时,AddServerPlayerEvent事件会携带这个参数
  • 返回值

  • 示例

TransferToOtherServerById

  • 描述

    玩家迁移到指定服务器id的服务器。

  • 参数

    参数名数据类型说明
    playerIdstr玩家对象的entityId
    serverIdstr目标服务器id,对应netgame_common.json中配置的serverid
    transferParamstr切服传入参数,默认空字符串。当玩家跳转到目标服务器触发AddServerPlayerEvent事件时,AddServerPlayerEvent事件会携带这个参数
  • 返回值

  • 示例

  • 备注

    • 用法详情见示例Mod sample

商城

NotifyClientToOpenShopUi

  • 描述

    通知客户端打开商城界面。

  • 参数

    参数名数据类型说明
    playerIdstr玩家对象的entityId
  • 返回值

  • 示例

性能开关

ChangeAllPerformanceSwitch

  • 描述

    整体关闭/打开预定义的游戏原生逻辑,所有的逻辑默认状态均为【开】(也就是is_disable=False),只有当调用此接口关闭之后,才会进入到【关】的状态,关闭这类原生逻辑能够提高服务器的性能,承载更高的同时在线人数,同时也会使一些生存服的玩法失效。另外,强烈建议在服务器初始化时调用此接口,同时不要在服务器运行中途修改。

  • 参数

    参数名数据类型说明
    is_disableboolTrue代表【关】,False代表【开】
    extralist剔除掉不需要改变开关状态的具体功能的枚举值列表。默认为空
  • 返回值

  • 示例

  • 备注

    • 当extra的值为None的时候,默认影响到的开关不包括【LoadSavedEntityFromChunk】和【ScanNearbyEntityOnTick】。

 

ChangePerformanceSwitch

  • 描述

    关闭/打开某个游戏原生逻辑,所有的逻辑默认状态均为【开】(也就是is_disable=False),只有当调用此接口关闭之后,才会进入到【关】的状态,关闭这类原生逻辑能够提高服务器的性能,承载更高的同时在线人数,同时也会使一些生存服的玩法失效。另外,强烈建议在服务器初始化时调用此接口,同时不要在服务器运行中途修改。

  • 参数

    参数名数据类型说明
    keyint具体功能的枚举值,详情见备注
    isDisableboolTrue代表【关】,False代表【开】
  • 返回值

  • 示例

  • 备注

    • 所有开关的枚举值以及涵义

关服

SetGracefulShutdownOk

  • 描述

    设置脚本层的优雅关机逻辑已经执行完毕,引擎可以开始优雅关机了。

  • 返回值

  • 示例

  • 备注

    • 用法详情见示例Mod shutdown

 

SetShutdownOk

  • 描述

    设置脚本层的强制关机逻辑已经执行完毕,引擎可以开始强制关机了。

  • 返回值

  • 示例

  • 备注

    • 用法详情见示例Mod shutdown

配置

GetCommonConfig

  • 描述

    获取公共配置netgame_common.json中内容,将该文件内容映射为一个dict。

  • 返回值

    数据类型说明
    dict配置内容
  • 示例

  • 备注

    • 注意:lobby/game 公共配置中"serverlist"和"servicelist"配置不是最新的。

 

GetMongoConfig

  • 描述

    获取mongo数据库的连接参数,对应netgame_common.json中mongo配置

  • 返回值

    数据类型说明
    tuple(exist, host, user, password, database, port).exist:bool,是否存在mongo数据库配置; host:str, mongo数据库的地址;user:str,mongo数据库的访问用户; port:int, mongo数据库的端口; password:str,mongo数据库的访问密码;database:str,mongo数据库的数据库名
  • 示例

GetMysqlConfig

  • 描述

    获取mysql数据库的连接参数,对应netgame_common.json中mysql配置

  • 返回值

    数据类型说明
    tuple(exist, host, user, password, database, port).exist:bool,是否存在mysql数据库配置; host:string, mysql数据库的地址;user:string,mysql数据库的访问用户; port:int, mysql数据库的端口; password:string,mysql数据库的访问密码;database:string,mysql数据库的数据库名
  • 示例

GetRedisConfig

  • 描述

    获取redis数据库的连接参数,对应netgame_common.json中redis配置

  • 返回值

    数据类型说明
    tuple(exist, host, port, password).exist:bool,是否存在redis配置; host:str, redis数据库的地址;port:int, redis数据库的端口; password:str,redis数据库的访问密码
  • 示例

GetServerId

  • 描述

    获取服务器id。

  • 返回值

    数据类型说明
    int服务器id,对应netgame_common.json中配置的serverid
  • 示例

存档

QueryPlayerDataResult

  • 描述

    把mc地图中玩家存档字符串告知引擎。仅用于引擎,不建议使用本api。需要在queryPlayerDataEvent事件的监听函数中调用本api。

  • 参数

    参数名数据类型说明
    dbCallIndexint对应【queryPlayerDataEvent】事件的传入唯一ID
    successbool是否成功
    dataStrstrmc地图中玩家存档字符串。
  • 返回值

  • 示例

  • 备注

    • 用法详情见示例Mod neteaseDatabase

 

SavePlayerDataResult

  • 描述

    把玩家数据存档状态告知引擎。mod中需要把玩家数据保存到mysql/mongo中。在savePlayerDataOnShutDownEvent/savePlayerDataEvent事件的监听函数中调用本api。

  • 参数

    参数名数据类型说明
    dbCallIndexint【savePlayerDataEvent/savePlayerDataOnShutDownEvent】事件中传入唯一ID
    successbool存档是否成功
  • 返回值

  • 示例

  • 备注

    • 用法详情见示例Mod neteaseDatabase

 

SetUseDatabaseSave

  • 描述

    设置是否使用数据库定时存档。定时存档会定时触发savePlayerDataEvent事件。

  • 参数

    参数名数据类型说明
    bUseDatabasebool是否使用数据库
    dbNamestr30个字符内的英文字符串,建议使用项目英文名
    internalSaveSecondint触发定时存档的时间间隔,单位秒
  • 返回值

  • 示例

  • 备注

    • 用法详情见示例Mod neteaseDatabase

地图

SetEnableLimitArea

  • 描述

    设置地图最大区域,超过区域的地形不再生成。

  • 参数

    参数名数据类型说明
    limitbool是否启用地区区域限制
    xint地图区域的中心点
    yint地图区域的中心点
    zint地图区域的中心点
    offsetXint地图区域在x方向和z方向的最大偏移
    offsetZint地图区域在x方向和z方向的最大偏移
  • 返回值

  • 示例

  • 备注

    • 真实应用中,请用墙壁把区域围起来。

 

SetLevelGameType

  • 描述

    强制设置游戏的玩法模式。

  • 参数

    参数名数据类型说明
    modeint0生存模式,1创造模式,2冒险模式
  • 返回值

  • 示例

  • 备注

    • 真实应用中,请在服务器Mod初始化时调用此函数

lobby服务器API

主城模式

SetCityMode

  • 描述

    设置游戏为主城模式:包括有无法改变地形,不切换日夜,不改变天气,不刷新生物等限制。

  • 参数

    参数名数据类型说明
    isCityModebool是否为主城模式
  • 返回值

  • 示例

  • 备注

    • 用法详情见示例Mod sample

master/service/game/lobby 公共API

myqsl、redis、mong连接池用于处理单个db实例,myqsl、redis、mong连接池扩展用于处理多个db实例。

异步线程池

EmitOrder

  • 描述

    添加一个异步任务。

  • 参数

    参数名数据类型说明
    keystring/int相同key的任务,线程池顺序执行;不同key的任务,线程池会并行执行。可以确认某些任务按照顺序执行。
    funcfunction任务对应的函数,该函数会在线程池中运行。该任务和主线程会并行执行,需要确认任务是线程安全的。函数必须返回一个元组,若返回为空则要求返回空元组("()")。函数输入参数是*args
    callbackfunction回调函数,它在主线程执行。func的返回值会是callback的实参
    *args*argsfunc函数的非关键字参数
  • 返回值

  • 示例

Finish

  • 描述

    等待线程池退出,线程池会执行完所有异步任务后退出,会阻塞主线程。建议Mod退出时执行。

  • 参数

    参数名数据类型说明
    timeoutint等待线程池退出时间,单位秒。若为None,则会一直等待。建议用None。
  • 返回值

  • 示例

ForkNewPool

  • 描述

    创建线程池,设置线程池大小。

  • 参数

    参数名数据类型说明
    orderSizeint线程池的大小
  • 返回值

    数据类型说明
    MainPool线程池实例
  • 示例

mysql连接池

AsyncExecuteWithOrderKey

  • 描述

    添加一个异步mysql任务,执行所有mysql操作。

  • 参数

    参数名数据类型说明
    orderKeystr/int相同的orderKey会顺序执行,不同的orderKey会并行执行
    sqlstrmysql查询语句,格式化字符串
    paramstuple填充sql
    callbackfunction回调函数,只有一个输入参数,它在主线程执行。func的返回值会是callback的实参。若func抛出异常,则callback输入参数是None
  • 返回值

  • 示例

AsyncExecutemanyWithOrderKey

  • 描述

    添加一个异步mysql任务,针对同一条sql语句,使用paramsList中的每个参数各执行一次,并且返回成功修改/新建的记录数,其中任何一条语句执行失败,最终所有语句都会被执行失败,返回None

  • 参数

    参数名数据类型说明
    orderKeystring/int相同的orderKey会顺序执行,不同的orderKey会并行执行
    sqlstringmysql插入语句,格式化字符串
    listlist填充sql的参数列表,每个元素都会被执行一次
    callbackfunction回调函数,在主线程执行,只有唯一一个参数,成功修改/新建的记录数,假如sql执行失败,返回参数将会是None
  • 返回值

  • 示例

AsyncInsertOneWithOrderKey

  • 描述

    添加一个异步mysql任务,向主键为AUTO INCREASEl类型的表格中插入一条记录,并且返回新建记录的主键。

  • 参数

    参数名数据类型说明
    orderKeystring/int相同的orderKey会顺序执行,不同的orderKey会并行执行
    sqlstringmysql插入语句,格式化字符串
    paramstuple填充sql
    callbackfunction回调函数,在主线程执行,只有唯一一个参数,是新建记录的主键,假如sql执行失败,返回参数将会是None
  • 返回值

  • 示例

AsyncQueryWithOrderKey

  • 描述

    添加一个异步mysql任务,执行mysql查询。

  • 参数

    参数名数据类型说明
    orderKeystr/int相同的orderKey会顺序执行,不同的orderKey会并行执行
    sqlstrmysql查询语句,格式化字符串
    paramstuple填充sql
    callbackfunction回调函数,只有一个输入参数,它在主线程执行。func的返回值会是callback的实参。若func抛出异常,则callback输入参数是None
  • 返回值

  • 示例

Finish

  • 描述

    等待mysql线程池退出,会等待线程池中所有异步任务执行完毕后退出。

  • 返回值

  • 示例

InitDB

  • 描述

    初始化myqsl连接池。要求公共配置 netgame_common.json中配置“mysql”。

  • 参数

    参数名数据类型说明
    poolSizeint连接池大小
  • 返回值

  • 示例

  • 备注

    • netgame_common.json中部分配置的示例如下:

redis连接池

AsyncDelete

  • 描述

    执行redis操作,删除某个redis key,相当于redis中执行命令:del key。

  • 参数

    参数名数据类型说明
    keystringredis中的key
    callbackfunction回调函数,输入参数是redis操作返回值,是个int,表示删除redis key的个数 ,它在主线程执行。可以不传入回调函数。若redis操作抛出异常,则callback输入参数是None
  • 返回值

  • 示例

AsyncFuncWithKey

  • 描述

    添加一个异步redis任务。

  • 参数

    参数名数据类型说明
    funcfunctionredis异步任务,可以没有返回值。该任务和主线程会并行执行,要求任务是线程安全的。第一个参数是一个redis长连接,是一个redis.StrictRedis实例,其他参数是*args
    orderKeystr/int相同的orderKey会顺序执行,不同的orderKey会并行执行
    callbackfunction回调函数,只有一个输入参数,它在主线程执行。func的返回值是callback的输入参数。若func抛出异常,则callback输入参数是None
    *args*argsfunc的其它非关键字参数
    **kwargs**kwargs暂无用,预留用。
  • 返回值

  • 示例

AsyncGet

  • 描述

    执行redis操作,获取key的value,相当于redis中执行命令:get key。

  • 参数

    参数名数据类型说明
    keystrredis中的key
    callbackfunction回调函数,默认为空。函数输入参数是redis key对应的value字符串,它在主线程执行。若redis操作抛出异常,则callback输入参数是None
  • 返回值

  • 示例

AsyncHgetall

  • 描述

    执行redis操作,获取key的value,相当于redis中执行命令:hgetall key。

  • 参数

    参数名数据类型说明
    keystringredis中的key
    callbackfunction回调函数,输入参数是redis key对应的值,是个dict,它在主线程执行。可以不传入回调函数。若redis操作抛出异常,则callback输入参数是None
  • 返回值

  • 示例

AsyncMget

  • 描述

    执行redis操作,获取多个key的值,相当于redis中执行命令:mget key1 key2 ...。

  • 参数

    参数名数据类型说明
    keylist/tuple多个redis中的key
    callbackfunction回调函数,默认为空。函数输入参数redis操作返回值, 是个列表,每个元素对应单个redis key的值,它在主线程执行。若redis操作抛出异常,则callback输入参数是None
  • 返回值

  • 示例

AsyncSet

  • 描述

    执行redis操作,设置key的值为value,相当于redis中执行命令:set key value。

  • 参数

    参数名数据类型说明
    keystringredis中的key
    valuestringredis中key的值
    callbackfunction回调函数,默认为空。函数输入参数是redis操作返回值,True表示设置成功,False失败。 若redis操作抛出异常,则callback输入参数是None
  • 返回值

  • 示例

Finish

  • 描述

    等待redis线程池退出,会等待线程池中所有异步任务执行完毕后退出。

  • 返回值

  • 示例

InitDB

  • 描述

    初始化redis连接池。要求公共配置 netgame_common.json中配置“redis”。

  • 参数

    参数名数据类型说明
    poolSizeint连接池大小
  • 返回值

  • 示例

  • 备注

    • netgame_common.json中部分配置的示例如下:

mongo连接池

AsyncExecute

  • 描述

    添加一个异步mongo任务。

  • 参数

    参数名数据类型说明
    collectionstrmongo中的一个集合,相同集合的所有操作串行执行,不同集合操作并行执行
    funcfunctionmongo异步任务,可以没有返回值。该任务和主线程会并行执行,要求任务是线程安全的。第一个参数是一个mongo长连接,是pymongo.MongoClient连接池实例中的一个连接
    callbackfunction回调函数,只有一个输入参数,它在主线程执行。func的返回值会是callback的实参。若func抛出异常,则callback输入参数是None
    *args*argsfunc的其它非关键字参数
    **kwargs**kwargs暂无用,预留用。
  • 返回值

  • 示例

AsyncExecuteWithOrderKey

  • 描述

    添加一个异步mongo任务。同async_execute区别是,可以显示设置orderKey。

  • 参数

    参数名数据类型说明
    collectionstrmongo中的一个集合
    funcfunctionmongo异步任务,可以没有返回值。该任务和主线程会并行执行,要求任务是线程安全的。第一个参数是一个mongo长连接,是pymongo.MongoClient连接池实例中的一个连接
    orderKeystr/int相同的orderKey会顺序执行,不同的orderKey会并行执行
    callbackfunction回调函数,只有一个输入参数,它在主线程执行。func的返回值会是callback的实参。若func抛出异常,则callback输入参数是None
    *args*argsfunc的其它非关键字参数
    **kwargs**kwargs暂无用,预留用。
  • 返回值

  • 示例

Finish

  • 描述

    等待mongo线程池退出,会等待线程池中所有异步任务执行完毕后退出。

  • 返回值

  • 示例

InitDB

  • 描述

    初始化mongo连接池。要求公共配置 netgame_common.json中配置“mongo”。

  • 参数

    参数名数据类型说明
    poolSizeint连接池大小
  • 返回值

  • 示例

  • 备注

    • netgame_common.json部分配置的示例如下:

mysql连接池扩展

AsyncExecuteWithOrderKey

  • 描述

    添加一个异步mysql任务,执行所有mysql操作。同AsyncExecute的区别是可以显示指定orderKey

  • 参数

    参数名数据类型说明
    dbNamestringmysql db名字,名字在netgame_common.json中extra_mysql下配置,比如示例配置中 “mysql_test1”
    orderKeystring/int相同的orderKey会顺序执行,不同的orderKey会并行执行
    sqlstringmysql查询语句,格式化字符串
    paramstuple填充sql
    callbackfunction回调函数,只有一个输入参数,它在主线程执行。func的返回值会是callback的实参。若func抛出异常,则callback输入参数是None
  • 返回值

  • 示例

AsyncQueryWithOrderKey

  • 描述

    添加一个异步mysql任务,执行mysql查询。同AsyncQuery区别是可以显示指定orderKey。

  • 参数

    参数名数据类型说明
    dbNamestringmysql db名字,名字在netgame_common.json中extra_mysql下配置,比如示例配置中 “mysql_test1”
    orderKeystring/int相同的orderKey会顺序执行,不同的orderKey会并行执行
    sqlstringmysql查询语句,格式化字符串
    paramstuple填充sql
    callbackfunction回调函数,只有一个输入参数,它在主线程执行。func的返回值会是callback的实参。若func抛出异常,则callback输入参数是None
  • 返回值

  • 示例

Finish

  • 描述

    等待mysql线程池退出,会等待线程池中所有异步任务执行完毕后退出。

  • 返回值

  • 示例

InitDB

  • 描述

    初始化mysql连接池。可以支持多个mysql实例,它可以同“mysql连接池”一起使用。要求公共配置 netgame_common.json中配置“extra_mysql”。

  • 参数

    参数名数据类型说明
    dbNamestringmysql db名字,名字在netgame_common.json中extra_mysql下配置,比如示例配置中 “mysql_test1”
    poolSizeint连接池大小
  • 返回值

  • 示例

  • 备注

    • netgame_common.json中部分配置的示例如下:

redis连接池扩展

AsyncDelete

  • 描述

    执行redis操作,删除某个redis key,相当于redis中执行命令:del key

  • 参数

    参数名数据类型说明
    dbNamestrredis db名字,名字在netgame_common.json中extra_redis下配置,比如示例配置中 “extra_redis1”
    keystrredis中的key
    callbackfunction回调函数,默认为空。函数输入参数是redis操作返回值,是个int,表示删除redis key的个数 ,它在主线程执行。若redis操作抛出异常,则callback输入参数是None
  • 返回值

  • 示例

AsyncFuncWithKey

  • 描述

    添加一个异步redis任务。

  • 参数

    参数名数据类型说明
    dbNamestrredis db名字,名字在netgame_common.json中extra_redis下配置,比如示例配置中 “extra_redis1”
    funcfunctionredis异步任务,可以没有返回值。该任务和主线程会并行执行,要求任务是线程安全的。第一个参数是一个redis长连接,是一个redis.StrictRedis实例,其他参数是*args
    orderKeystr/int相同的orderKey会顺序执行,不同的orderKey会并行执行
    callbackfunction回调函数,只有一个输入参数,它在主线程执行。func的返回值是callback的输入参数。若func抛出异常,则callback输入参数是None
    *args*argsfunc的其它非关键字参数
    **kwargs**kwargs暂无用,预留用。
  • 返回值

  • 示例

AsyncGet

  • 描述

    执行redis操作,获取key的value,相当于redis中执行命令:get key。

  • 参数

    参数名数据类型说明
    dbNamestrredis db名字,名字在netgame_common.json中extra_redis下配置,比如示例配置中 “extra_redis1”
    keystrredis中的key
    callbackfunction回调函数,默认为空。函数输入参数是redis key对应的value字符串,它在主线程执行。若redis操作抛出异常,则callback输入参数是None
  • 返回值

  • 示例

AsyncHgetall

  • 描述

    执行redis操作,获取key的value,相当于redis中执行命令:hgetall key。

  • 参数

    参数名数据类型说明
    dbNamestrredis db名字,名字在netgame_common.json中extra_redis下配置,比如示例配置中 “extra_redis1”
    keystrredis中的key
    callbackfunction回调函数,默认为空,函数输入参数是redis key对应的值,是个dict,它在主线程执行。若redis操作抛出异常,则callback输入参数是None
  • 返回值

  • 示例

AsyncMget

  • 描述

    执行redis操作,获取多个key的值,相当于redis中执行命令:mget key1 key2 ...。

  • 参数

    参数名数据类型说明
    dbNamestrredis db名字,名字在netgame_common.json中extra_redis下配置,比如示例配置中 “extra_redis1”
    keyslist/tuple多个redis key
    callbackfunction回调函数,默认为空,函数输入参数redis操作返回值, 是个列表,每个元素对应单个redis key的值,它在主线程执行。若redis操作抛出异常,则callback输入参数是None
  • 返回值

  • 示例

AsyncSet

  • 描述

    执行redis操作,设置key的值为value,相当于redis中执行命令:set key value。

  • 参数

    参数名数据类型说明
    dbNamestrredis db名字,名字在netgame_common.json中extra_redis下配置,比如示例配置中 “extra_redis1”
    keystrredis中的key
    valuestrredis中key的值
    callbackfunction回调函数,默认为空。函数输入参数是redis操作返回值,True表示设置成功,False失败。 若redis操作抛出异常,则callback输入参数是None。
  • 返回值

  • 示例

Finish

  • 描述

    等待redis db线程池退出,会等待线程池中所有异步任务执行完毕后退出。

  • 返回值

  • 示例

InitDB

  • 描述

    初始化redis连接池,它可以同“redis连接池”一起使用。要求公共配置 netgame_common.json中配置“extra_redis”。

  • 参数

    参数名数据类型说明
    dbNamestrredis db名字,名字在netgame_common.json中extra_redis下配置,比如示例配置中 “extra_redis1”。
    poolSizeint连接池大小
  • 返回值

  • 示例

  • 备注

    • netgame_common.json中部分配置的示例如下:

mongo连接池扩展

AsyncExecute

  • 描述

    添加一个异步mongo任务。

  • 参数

    参数名数据类型说明
    dbNamestrmongo db名字,名字在netgame_common.json中extra_mongo下配置,比如示例配置中 “mongo_test1”
    collectionstrmongo中的一个集合,相同集合的所有操作串行执行,不同集合操作并行执行
    funcfunctionmongo异步任务,可以没有返回值。该任务和主线程会并行执行,要求任务是线程安全的。第一个参数是一个mongo长连接,是pymongo.MongoClient连接池实例中的一个连接
    callbackfunction回调函数,只有一个输入参数,它在主线程执行。func的返回值会是callback的实参。若func抛出异常,则callback输入参数是None
    *args*argsfunc的非关键字参数
    **kwargs**kwargs暂无用,预留用。
  • 返回值

  • 示例

AsyncExecuteWithOrderKey

  • 描述

    添加一个异步mongo任务。同async_execute区别是,可以显示设置orderKey。

  • 参数

    参数名数据类型说明
    dbNamestrmongo db名字,名字在netgame_common.json中extra_mongo下配置,比如示例配置中 “mongo_test1”
    collectionstrmongo中的一个集合
    funcfunctionmongo异步任务,可以没有返回值。该任务和主线程会并行执行,要求任务是线程安全的。第一个参数是一个mongo长连接,是pymongo.MongoClient连接池实例中的一个连接,其他参数是*args
    orderKeystr/int相同的orderKey会顺序执行,不同的orderKey会并行执行
    callbackfunction回调函数,只有一个输入参数,它在主线程执行。func的返回值会是callback的实参。若func抛出异常,则callback输入参数是None
    *args*argsfunc的非关键字参数
    **kwargs**kwargs暂无用,预留
  • 返回值

  • 示例

Finish

  • 描述

    等待mongo线程池退出,会等待线程池中所有异步任务执行完毕后退出。

  • 返回值

  • 示例

InitDB

  • 描述

    初始化mongo连接池。可以支持多个mongo实例,它可以同“mongo连接池”一起使用。要求公共配置 netgame_common.json中配置“extra_mongo”。

  • 参数

    参数名数据类型说明
    dbNamestrmongo db名字,名字在netgame_common.json中extra_mongo下配置,比如示例配置中 “mongo_test1”
    poolSizeint连接池大小
  • 返回值

  • 示例

  • 备注

    • netgame_common.json部分配置的示例如下:

玩家

GetOnlineServerInfoOfMultiPlayers

  • 描述

    获取多个玩家在线信息

  • 参数

    参数名数据类型说明
    uidlist(int)玩家的netease uid列表,列表不能超过100,若超过100,本api会抛出Exception。
    callbackfunction回调函数,该函数会被异步执行。函数只需要一个参数,是list(dict)类型。每个dict包含的键以及含义说明:"uid":玩家的netease uid; "serverId":玩家所在lobby或game的服务器id, 若玩家不在线则为None;"proxyId":客户端连接的proxy服务器id, 若玩家不在线则为None。
  • 返回值

  • 示例

GetOnlineServerInfoOfPlayer

  • 描述

    获取玩家在线信息

  • 参数

    参数名数据类型说明
    uidint玩家的netease uid,玩家的唯一标识
    callbackfunction回调函数,该函数会被异步执行。函数只需要一个参数,是dict类型。dict包含的键以及含义说明:"uid":玩家的netease uid; "serverId":玩家所在lobby或game的服务器id, 若玩家不在线则为None;"proxyId":客户端连接的proxy服务器id, 若玩家不在线则为None。
  • 返回值

  • 示例

ToPcUid

  • 描述

    将玩家的uid转换为pc平台的uid

  • 参数

    参数名数据类型说明
    uidint玩家的uid
  • 返回值

    数据类型说明
    intpc平台的玩家uid
  • 示例

ToPeUid

  • 描述

    将玩家的uid转换为pe平台的uid

  • 参数

    参数名数据类型说明
    uidint玩家的uid
  • 返回值

    数据类型说明
    intpe平台的玩家uid
  • 示例

通用

CheckNameValid

  • 描述

    判定一个输入的string是否通过了命名库敏感词检查,没有敏感词返回1,存在敏感词返回0。

  • 参数

    参数名数据类型说明
    namestr需要做敏感词检查的string
  • 返回值

    数据类型说明
    int1代表没有敏感词,0代表存在敏感词
  • 示例

CheckWordsValid

  • 描述

    判定一个输入的string是否通过了通用库敏感词检查,没有敏感词返回1,存在敏感词返回0。

  • 参数

    参数名数据类型说明
    wordsstr需要做敏感词检查的string
  • 返回值

    数据类型说明
    int1代表没有敏感词,0代表存在敏感词
  • 示例

GetModJsonConfig

  • 描述

    根据脚本根目录读取mod.json配置文件。

  • 参数

    参数名数据类型说明
    scriptRootNamestrpython脚本的根目录名
  • 返回值

    数据类型说明
    dictmod.json里面的内容信息
  • 示例

GetModScriptRootDir

  • 描述

    获取脚本根目录的绝对路径。

  • 参数

    参数名数据类型说明
    scriptRootNamestrpython脚本的根目录名
  • 返回值

    数据类型说明
    str脚本根目录的绝对路径
  • 示例

GetServerType

  • 描述

    获取服务器类型,对应netgame_common.json中相应服务器下的“type”配置。

  • 返回值

    数据类型说明
    str服务器类型
  • 示例

通信

client和game/lobby通信

NotifyToClient

  • 描述

    game/lobby接口,game/lobby送事件到指定客户端。

  • 参数

    参数名数据类型说明
    targetIdstr玩家对象的entityId
    eventNamestr事件名
    eventDatadict事件参数
  • 返回值

  • 示例

NotifyToServer

  • 描述

    客户端接口,给lobby/game服务器发送事件。注意,玩家只能存在于一个game或lobby,不可能同时存在于两个服务器。

  • 参数

    参数名数据类型说明
    eventNamestr事件名
    eventDatadict事件参数
  • 返回值

  • 示例

master和game/lobby通信

NotifyToMaster

  • 描述

    lobby/game接口,lobby/game给master发事件。

  • 参数

    参数名数据类型说明
    eventNamestr事件名
    eventDatadict事件参数
  • 返回值

  • 示例

NotifyToServerNode

  • 描述

    master接口,master给某个lobby/game发事件

  • 参数

    参数名数据类型说明
    targetIdintlobby/game的服务器id
    eventNamestr事件名
    eventDatadict事件参数
  • 返回值

  • 示例

service和service/master通信

RegisterRpcMethod

  • 描述

    service/master接口,用于注册一个监听函数。用于监听service/master发过来请求。要求公共配置netgame_common.json中配置service/master module_names信息。

  • 参数

    参数名数据类型说明
    modulestrservice/master所属模块, 公共配置netgame_common.json中module_names中某个module
    funcfunction监听函数
    eventstr事件名
  • 返回值

  • 示例

RequestToService

  • 描述

    service/master接口,给service/master发请求。

  • 参数

    参数名数据类型说明
    modulestrservice/master所属模块, 公共配置netgame_common.json中module_names中某个module
    eventstr事件名
    eventDatadict事件参数
    callbackfunction用于处理service/master返回消息, 默认为空,表示没有回调函数。回调函数参数包括:是否成功状态、service/master返回数据。若超时,则参数为False、None。
    timeoutint回调函数超时时间,单位秒。默认是2s
  • 返回值

  • 示例

ResponseToServer

  • 描述

    service/master接口,给service/master返回一个消息。若函数RequestToService的callback参数为空,则不能调用该接口。

  • 参数

    参数名数据类型说明
    serverIdintmaster/service服务器id
    callbackIdint回调函数id
    eventDatadict事件参数
  • 返回值

  • 示例

service和game/lobby通信

NotifyToServerNode

  • 描述

    service接口,service给某个lobby/game发消息。

  • 参数

    参数名数据类型说明
    targetIdintlobby/game的服务器id
    eventNamestr事件名
    eventDatadict事件参数
  • 返回值

  • 示例

RegisterRpcMethod

  • 描述

    service接口,用于注册一个监听函数,用于监听lobby/game发过来请求。

  • 参数

    参数名数据类型说明
    modulestrservice所属模块, 公共配置netgame_common.json中module_names中某个module
    funcfunction监听函数
    eventstr事件名
  • 返回值

  • 示例

RegisterRpcMethodForMod

  • 描述

    用于注册一个监听函数,用于监听lobby/game发过来请求。直接使用service进程的type作为默认模块名

  • 参数

    参数名数据类型说明
    methodstring事件名
    funcfunction监听函数
  • 返回值

  • 示例

RequestToService

  • 描述

    service/lobby/game接口,给service发请求。两个service间可以通过这个接口通信。

  • 参数

    参数名数据类型说明
    modulestrservice所属模块, 公共配置netgame_common.json中module_names中某个module
    eventstr事件名
    eventDatadict事件参数
    callbackfunction用于处理service返回消息,默认为空,表示没有回调函数。回调函数参数包括:是否成功状态、service返回数据。若超时,则参数为False、None。
    timeoutint回调函数超时时间,单位秒。默认是2s
  • 返回值

  • 示例

RequestToServiceMod

  • 描述

    给service发请求。两个service间可以通过这个接口通信。

  • 参数

    参数名数据类型说明
    modnamestringservice进程的type, 公共配置netgame_common.json中定义
    methodstring事件名
    argsdict事件参数
    callbackfunction用于处理service返回消息,默认为空,表示没有回调函数。回调函数参数包括:是否成功状态、service返回数据。若超时,则参数为False、None。
    timeoutint回调函数超时时间,单位秒。默认是2s
  • 返回值

  • 示例

ResponseToServer

  • 描述

    service接口,给lobby/game返回一个消息。若函数RequestToService的callback参数为空,则不能调用该接口。

  • 参数

    参数名数据类型说明
    serverIdintlobby/game服务器id
    callbackIdint回调函数id
    eventDatadict事件参数
  • 返回值

  • 示例

运营指令

  • 使用方法

    开发者可以登录到master所在机器,用curl命令发请求,使用方式如下:

    若通过"/online-num/query"指令获取game在线人数,则可以在master上发送如下curl命令:

    若需要使用商城插件neteaseShop中查询订单运营指令(/check-single-order指令),则可以在master上发送如下curl命令:

在线人数

  • /online-num/query

    • 描述

      获取proxy/lobby/game在线人数或获取总在线人数。

    • post body 参数

      关键字数据类型说明
      server_typestring服务器类型,比如"lobby","game","proxy",若不传入该值,则表示总在线人数
    • response entity参数

      关键字数据类型说明
      online_numint在线人数
    • 示例:

  • /online-num/query-by-server-id

    • 描述

      获取某个proxy/game/lobby在线人数

    • post body参数

      关键字数据类型说明
      server_idint服务器id
    • response entity参数

      关键字数据类型说明
      online_numint在线人数
    • 示例:

日志等级

  • /conf/set-log-debug-level

    • 描述

      开服工具日志等级设置为debug或info level等级

    • post body 参数

      关键字数据类型说明
      debug_levelbooltrue:则日志设置为debug log level;false:日志设置为info log level
    • 无response entity参数

    • 示例:

  • /conf/set-server-log-debug-level

    • 描述

      设置某个服务器的日志等级。

    • post body 参数

      关键字数据类型说明
      server_idint服务器id。可以是proxy、lobby、game、service的serverid。若为0,则表示master。
      debug_levelbooltrue:则日志设置为debug log level;false:日志设置为info log level
    • 无response entity参数

    • 示例:

服务器

  • /query-all-server-status

    • 描述

      查询所有服务器状态

    • 无post body json参数

    • response entity参数 dict。key是服务器id,value是服务器状态。服务器状态有: 1:断开连接状态 2:已连接状态
      3:关服状态 4:优雅关服状态
      6, 滚动更新中间状态,即将转换到状态7
      7 也是滚动更新中间状态,即将转换到状态1或2

  • /query-one-server-status

    • 描述

      查询某个服务器状态

    • post body 参数

      关键字数据类型说明
      serverIdintproxy/lobby/game服务器id
    • response entity参数

      关键字数据类型说明
      statusint服务器状态。服务器状态有:服务器状态如下:
      1:断开连接状态
      2:已连接状态
      3:关服状态
      4:优雅关服状态
      6, 滚动更新中间状态,即将转换到状态7
      7 也是滚动更新中间状态,即将转换到状态1或2
    • 示例:

禁言,解除禁言

  • /silent

    • 描述

      禁言某个玩家

    • post body json参数

      关键字数据类型说明
      neteaseIduint32玩家id
      banTimeint禁言时间,单位为秒,-1表示永封
      reasonstring禁言原因
      typestring禁言类型,可自定义,公屏禁言为Commom
    • 无response entity参数

    • 示例:

  • /unban-silent

    • 描述

      解除某个玩家的禁言

    • post body json参数

      关键字数据类型说明
      neteaseIduint32解除禁言玩家的uid
      typestring禁言类型,可自定义,公屏禁言为Commom
    • 无response entity参数

    • 示例:

  • /global-silent

    • 描述

      全局公屏禁言开关

    • post body json参数

      关键字数据类型说明
      is_silentbool全局禁言开关,true表示开启全局禁言,false表示关闭全局禁言
      reasonstring禁言原因
    • 无response entity参数

    • 示例:

踢出玩家

  • /kickout-user

    • 描述

      把某个玩家从游戏中踢出

    • post body json参数

      关键字数据类型说明
      neteaseIduint32被踢出玩家的uid
      reasonstring踢出原因
    • 无response entity参数

    • 示例:

封禁,解除封禁

  • /ban-user

    • 描述

      封禁某个玩家

    • post body json参数

      关键字数据类型说明
      neteaseIduint32封禁玩家的uid
      banTimeint封禁时间,单位为秒,-1表示永封
      reasonstring封禁原因
    • 无response entity参数

    • 示例:

  • /global-silent

    • 描述

      全服玩家禁言或解禁。它个【/ban-user】禁言是独立运作的,也就是说可以对某玩家禁言,然后全服禁言,但是全服解禁后,还需要用【/unban-user】给玩家解禁。

    • post body json参数

      | 关键字 | 数据类型| 说明 | | ------------ | -----------| ------------ | | is_silent |int | 1 禁言;0 解禁 | reason |string | 封禁原因|

    • 无response entity参数

    • 示例:

  • /unban-user

    • 描述

      解除某个玩家的封禁

    • post body json参数

      关键字数据类型说明
      neteaseIduint32解除封禁玩家的uid
    • 无response entity参数

    • 示例:

停服维护

  • /invalid-all-servers

    • 描述

      开启/关闭停服维护

    • post body json参数

      关键字数据类型说明
      invalidbool停服维护开关,true表示开启停服维护,false表示关闭停服维护
      reasonstring停服维护原因
    • 无response entity参数

    • 示例:

Hunter调试命令

  • /hunter-debug

    • 描述

      使目的服务器执行Python脚本,其结果打印到目的服务器的日志文件中,具体是"hunterDebug exec"日志的下面n行日志。

    • post body json参数

      关键字数据类型说明
      serverIdint服务器对应ID,0表示为master
      scriptstring服务器需要执行的python脚本,用\n换行
      commandstring服务器需要执行的控制台命令
    • 无response entity参数

    • 示例:

性能分析

  • /check-memory-run

    • 描述

      检查服务器脚本层内存泄漏。需要执行两次指令,第一次生成快照,第二次生成同第一次的diff。

    • post body json参数

      关键字数据类型说明
      serveridint 
      use_listlist通常是 ["tracemalloc", "objreport"]
      obj_nameslist通常是空
    • 无response entity参数

    • 示例:

  • /profile

    • 描述

      用于测量python函数占用cpu时间。需要执行两次指令,第一次开始profile,第二次生成性能数据文件。性能数据文件放到执行文件所在目录下的profile子目录中。性能数据文件名的格式:profile+生成文件的时间戳

    • post body json参数

      关键字数据类型说明
      serverIdint 
      bBeginbooltrue:开始profile;false:完成profile
    • 无response entity参数

    • 示例: