Apollo大厅与游戏服接口
本页汇总Apollo大厅服与游戏服脚本接口,覆盖地图、玩家、切服、运维与调试能力。
Apollo专用能力
本页接口来自中国版Apollo网络服脚本环境。接口命名与调用方式与国际版脚本API不同,不能直接互换。
配置
| 接口 | 说明 |
GetCommonConfig | 获取服务器公共配置,包括本服、所有db和所有功能服的配置,具体参见备注,注意可能不包含其他大厅服和游戏服配置,不能获取所有服的配置 |
GetMongoConfig | 获取mongo数据库的连接参数,对应公共配置中mongo配置,公共配置参见GetCommonConfig备注 |
GetMysqlConfig | 获取mysql数据库的连接参数,对应公共配置中mysql配置,公共配置参见GetCommonConfig备注 |
GetRedisConfig | 获取redis数据库的连接参数,对应公共配置中redis配置,公共配置参见GetCommonConfig备注 |
GetServerId | 获取本服的服务器id,服务器id对应公共配置中serverid,公共配置参见GetCommonConfig备注 |
地图
| 接口 | 说明 |
DelForbidDragonEggTeleportField | 删除禁止龙蛋传送的地图区域 |
DelForbidFlowField | 删除地图区域,不同的ID的区域边界会阻挡流体的流动 |
SetEnableLimitArea | 设置地图最大区域,超过区域的地形不再生成 |
SetForbidDragonEggTeleportField | 设置禁止龙蛋传送的地图区域 |
SetForbidFlowField | 设置地图区域,不同的ID的区域边界会阻挡流体的流动 |
SetLevelGameType | 强制设置游戏的玩法模式 |
SetShowFakeSeed | 在客户端【设置】中,显示虚假的游戏地图种子 |
StopShowFakeSeed | 在客户端【设置】中,显示真实的游戏地图种子 |
玩家
| 接口 | 说明 |
GetConnectingProxyIdOfPlayer | 获取玩家客户端连接的proxy服务器id |
GetPlatformUid | 获取玩家登录端的uid,假如玩家从手机端登录,返回手机端的uid,否则返回PC端的uid |
GetPlayerIdByUid | 根据玩家uid获取玩家ID(也即playerId)。若玩家不在这个lobby/game,则返回为空字符 |
GetPlayerIpHash | 获取玩家客户端ip的特征哈希值 |
GetPlayerLockResult | 不建议开发者使用,把获取玩家在线锁结果告知给引擎层 |
GetPlayerNickname | 获取玩家的昵称。 |
GetPlayerUid | 获取玩家的uid |
GetUidIsSilent | 根据玩家uid获取是否被禁言 |
HidePlayerFootprint | 隐藏某个玩家的会员脚印外观 |
HidePlayerMagicCircle | 隐藏某个玩家的会员法阵外观 |
IsPlayerPeUser | 获取玩家是否从手机端登录 |
ReleasePlayerLockResult | 不建议开发者使用,把释放玩家在线锁结果告知给引擎层 |
SetAutoRespawn | 设置是否启用自动重生逻辑 |
ShieldPlayerJoinText | 是否屏蔽客户端左上角 “xxx 加入了游戏”的提示 |
TryToKickoutPlayer | 把玩家踢下线,message中的文字会显示在客户端的断线提示中 |
商城
| 接口 | 说明 |
NotifyClientToOpenShopUi | 通知客户端打开商城界面 |
关服
| 接口 | 说明 |
SetGracefulShutdownOk | 不建议开发者使用,设置脚本层的优雅关机逻辑已经执行完毕,引擎可以开始优雅关机了 |
SetShutdownOk | 不建议开发者使用,设置脚本层的强制关机逻辑已经执行完毕,引擎可以开始强制关机了 |
ShutdownServer | 强制关机 |
服务器
| 接口 | 说明 |
AddGetPlayerLockTask | 添加获取玩家在线锁时的处理任务,会在玩家刚连接到服务端时执行,在所有任务都完成后,才会继续玩家的登录流程 |
CheckMasterExist | 检查服务器是否与master建立连接 |
GetLastFrameTime | 获取服务端脚本上一帧运行时间 |
GetOnlinePlayerNum | 获取当前服务器的在线人数 |
GetServerProtocolVersion | 获取服务器的协议版本号 |
IsServiceConnected | 检查服务器是否与某个service建立连接 |
IsShowDebugLog | 当前服务器是否打印debug等级的日志 |
ResetServer | 重置服务器 |
切服
| 接口 | 说明 |
TransferToOtherServer | 玩家转移到指定类型的服务器,假如同类服务器有多个,就根据负载均衡选择一个 |
TransferToOtherServerById | 玩家迁移到指定服务器id的服务器 |
主城模式
| 接口 | 说明 |
SetCityMode | 设置游戏为主城模式:包括有无法改变地形,不切换日夜,不改变天气,不刷新生物等限制 |
HTTP服务器
| 接口 | 说明 |
RegisterOpCommand | 注册一个新的HTTP接口 |
ResponseOpCommandFail | 发送HTTP的失败Response,支持异步返回,返回时候指定请求传入的clientId |
ResponseOpCommandSuccess | 发送HTTP的成功Response,支持异步返回,返回时候指定请求传入的clientId |
UnRegisterOpCommand | 注销一个已注册的HTTP接口 |
调试
| 接口 | 说明 |
EnableNetgamePacketIdStatistics | 开启(或关闭)玩家向服务器发包的数量统计。长时间不使用数据时请关掉统计,避免内存泄露。 |
GetAndClearNetgamePacketIdStatistics | 获取玩家向服务器发包的数量统计,然后重置统计数据。即每次返回从上一次获取到现在的数量。需要用EnableNetgamePacketIdStatistics开启后才有数据 |
StartChunkProfile | 开始启动服务端区块读写性能统计,启动后调用StopChunkProfile即可获得近期的服务端区块读写信息 |
StopChunkProfile | 结束服务端区块读写性能统计,并返回近期区块读写信息,与StartChunkProfile配合使用 |
性能开关
| 接口 | 说明 |
ChangeAllPerformanceSwitch | 整体关闭/打开预定义的游戏原生逻辑,所有的逻辑默认状态均为【开】(也就是is_disable=False),只有当调用此接口关闭之后,才会进入到【关】的状态,关闭这类原生逻辑能够提高服务器的性能,承载更高的同时在线人数,同时也会使一些生存服的玩法失效。另外,强烈建议在服务器初始化时调用此接口,同时不要在服务器运行中途修改 |
ChangePerformanceSwitch | 关闭/打开某个游戏原生逻辑,所有的逻辑默认状态均为【开】(也就是is_disable=False),只有当调用此接口关闭之后,才会进入到【关】的状态,关闭这类原生逻辑能够提高服务器的性能,承载更高的同时在线人数,同时也会使一些生存服的玩法失效。另外,强烈建议在服务器初始化时调用此接口,同时不要在服务器运行中途修改 |