# 6-大厅与游戏服API
这里是lobbygame的一些通用的接口
# 存档
# QueryPlayerDataResult
描述
不建议开发者使用,把mc地图中玩家存档字符串告知引擎。需要在queryPlayerDataEvent事件的监听函数中调用本api
参数
参数名 数据类型 说明 dbCallIndex int 对应【queryPlayerDataEvent】事件的传入唯一ID success bool 是否成功 dataStr str mc地图中玩家存档字符串。 返回值
无
示例
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.QueryPlayerDataResult(dbCallIndex, success, dataStr)
# SavePlayerDataResult
描述
不建议开发者使用,把玩家数据存档状态告知引擎。mod中需要把玩家数据保存到mysql/mongo中。在savePlayerDataOnShutDownEvent/savePlayerDataEvent事件的监听函数中调用本api
参数
参数名 数据类型 说明 dbCallIndex int 【savePlayerDataEvent/savePlayerDataOnShutDownEvent】事件中传入唯一ID success bool 存档是否成功 返回值
无
示例
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.SavePlayerDataResult(dbCallIndex, success)
# SetUseDatabaseSave
描述
设置是否使用数据库定时存档。定时存档会定时触发savePlayerDataEvent事件
参数
参数名 数据类型 说明 bUseDatabase bool 是否使用数据库 dbName str 30个字符内的英文字符串,建议使用项目英文名 internalSaveSecond int 触发定时存档的时间间隔,单位秒 返回值
无
示例
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.SetUseDatabaseSave(True, 'test', 30)
# 配置
# GetCommonConfig
描述
获取服务器公共配置,包括本服、所有db和所有功能服的配置,具体参见备注,注意可能不包含其他大厅服和游戏服配置,不能获取所有服的配置
返回值
数据类型 说明 dict 配置内容 备注
服务器公共配置的示例如下,只展示了核心配置信息,注意可能不包含其他游戏服和大厅服配置
{ "apolloid":111, "extra_redis":{ }, "game_id":0, "game_key":"game_key", "gas_server_url":"http://127.0.0.1:111", "log_debug_level":true, "master":{ "app_type":"master", "app_version":"1.21.0.release20210401", "gb":8, "ip":"127.0.0.1", "keep_alive_period":30, "master_port":0, "mods":"", "port":8000, "serverid":0, "type":"master" }, "mongo":null, "mysql":{ "database":"test_db", "host":"127.0.0.1", "password":"test_password", "port":3306, "user":"test_user" }, "redis":{ "host":"127.0.0.1", "password":"", "port":6379 }, "review_stage":0, "serverlist":[ { "app_type":"lobby", "app_version":"1.21.0.release20210401", "gb":8, "ip":"127.0.0.1", "log_debug_level":false, "master_port":13003, "max_players":200, "mods":"neteaseRound", "optimum_players":0, "port":13002, "save":false, "serverid":4000, "type":"lobby" } ], "servicelist":[ ], }
示例
import lobbyGame.netgameApi as lobbyGameApi
conf = lobbyGameApi.GetCommonConfig()
bDebugLevel = conf['log_debug_level'] #获取日志等级配置
# GetMongoConfig
描述
获取mongo数据库的连接参数,对应公共配置中mongo配置,公共配置参见GetCommonConfig备注
返回值
数据类型 说明 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数据库的数据库名 示例
import lobbyGame.netgameApi as lobbyGameApi
exist, host, user, password, database, port = lobbyGameApi.GetMongoConfig()
# GetMysqlConfig
描述
获取mysql数据库的连接参数,对应公共配置中mysql配置,公共配置参见GetCommonConfig备注
返回值
数据类型 说明 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数据库的数据库名 示例
import lobbyGame.netgameApi as lobbyGameApi
exist, host, user, password, database, port = lobbyGameApi.GetMysqlConfig()
# GetRedisConfig
描述
获取redis数据库的连接参数,对应公共配置中redis配置,公共配置参见GetCommonConfig备注
返回值
数据类型 说明 tuple (exist, host, port, password).exist:bool,是否存在redis配置; host:str, redis数据库的地址;port:int, redis数据库的端口; password:str,redis数据库的访问密码 示例
import lobbyGame.netgameApi as lobbyGameApi
exist, host, port, password = lobbyGameApi.GetRedisConfig()
# GetServerId
描述
获取本服的服务器id,服务器id对应公共配置中serverid,公共配置参见GetCommonConfig备注
返回值
数据类型 说明 int 服务器id 示例
import lobbyGame.netgameApi as lobbyGameApi
serverId = lobbyGameApi.GetServerId()
# 地图
# DelForbidDragonEggTeleportField
描述
删除禁止龙蛋传送的地图区域
参数
参数名 数据类型 说明 fid int 区域的唯一ID,必须大于等于0 返回值
数据类型 说明 bool 是否成功删除(对应fid无法找到返回删除失败) 备注
具体使用方式可以参考领地插件
示例
import lobbyGame.netgameApi as lobbyGameApi
suc = lobbyGameApi.DelForbidDragonEggTeleportField(1)
# DelForbidFlowField
描述
删除地图区域,不同的ID的区域边界会阻挡流体的流动
参数
参数名 数据类型 说明 fid int 区域的唯一ID,必须大于等于0 返回值
数据类型 说明 bool 是否成功删除(对应fid无法找到返回删除失败) 备注
具体使用方式可以参考领地插件
示例
import lobbyGame.netgameApi as lobbyGameApi
suc = lobbyGameApi.DelForbidFlowField(1)
# SetEnableLimitArea
描述
设置地图最大区域,超过区域的地形不再生成
参数
参数名 数据类型 说明 limit bool 是否启用地区区域限制 x int 地图区域的中心点 y int 地图区域的中心点 z int 地图区域的中心点 offsetX int 地图区域在x方向和z方向的最大偏移 offsetZ int 地图区域在x方向和z方向的最大偏移 返回值
无
备注
真实应用中,请用墙壁把区域围起来。
示例
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.SetEnableLimitArea(limit, x, y, z, offsetX, offsetZ)
# SetForbidDragonEggTeleportField
描述
设置禁止龙蛋传送的地图区域
参数
参数名 数据类型 说明 fid int 区域的唯一ID,必须大于等于0 dimensionId int 区域所在的维度 minPos tuple(int) 长方体区域的x,y,z值最小的点,x,y,z为方块的坐标,而不是像素坐标 maxPos tuple(int) 长方体区域的x,y,z值最大的点,x,y,z为方块的坐标,而不是像素坐标 priority int 区域的优先级,缺损时默认值为0,当一个点位于多个区域包围时,最终会以优先级最高的区域为准 isForbid bool 是否禁止龙蛋传送,为了处理嵌套区域之间的权限冲突,只要是独立的区域都需要设置是否禁止龙蛋传送 返回值
数据类型 说明 bool 是否成功设置 备注
具体使用方式可以参考领地插件
示例
import lobbyGame.netgameApi as lobbyGameApi
suc = lobbyGameApi.SetForbidDragonEggTeleportField(1, 0, (-5, -5, -5), (5, 5, 5), 0, True)
# SetForbidFlowField
描述
设置地图区域,不同的ID的区域边界会阻挡流体的流动
参数
参数名 数据类型 说明 fid int 区域的唯一ID,必须大于等于0 dimensionId int 区域所在的维度 minPos tuple(int) 长方体区域的x,y,z值最小的点,x,y,z为方块的坐标,而不是像素坐标 maxPos tuple(int) 长方体区域的x,y,z值最大的点,x,y,z为方块的坐标,而不是像素坐标 priority int 区域的优先级,缺损时默认值为0,当一个点位于多个区域包围时,最终会以优先级最高的区域为准 isForbid bool 是否禁止流体流动,为了处理嵌套区域之间的权限冲突,只要是独立的区域都需要设置是否禁止流体流动 返回值
数据类型 说明 bool 是否设置成功 备注
具体使用方式可以参考领地插件
示例
import lobbyGame.netgameApi as lobbyGameApi
suc = lobbyGameApi.SetForbidFlowField(1, 0, (-5, -5, -5), (5, 5, 5), 0, True)
# SetLevelGameType
描述
强制设置游戏的玩法模式
参数
参数名 数据类型 说明 mode int 0生存模式,1创造模式,2冒险模式 返回值
无
备注
真实应用中,请在服务器Mod初始化时调用此函数
示例
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.SetLevelGameType(2)
# 玩家
# GetConnectingProxyIdOfPlayer
描述
获取玩家客户端连接的proxy服务器id
参数
参数名 数据类型 说明 playerId str 玩家id 返回值
数据类型 说明 int proxy服务器id 示例
import lobbyGame.netgameApi as lobbyGameApi
nickname = lobbyGameApi.GetConnectingProxyIdOfPlayer(playerId)
# GetPlayerIdByUid
描述
根据玩家uid获取玩家ID(也即playerId)。若玩家不在这个lobby/game,则返回为空字符
返回值
数据类型 说明 str 玩家id,也即玩家的playerId 示例
import lobbyGame.netgameApi as lobbyGameApi
playerId = lobbyGameApi.GetPlayerIdByUid(123)
# GetPlayerLockResult
描述
不建议开发者使用,把获取玩家在线锁结果告知给引擎层
参数
参数名 数据类型 说明 id int 对应【ServerGetPlayerLockEvent】事件的传入唯一ID success bool 是否成功 返回值
无
示例
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.GetPlayerLockResult(id, suc)
# GetPlayerNickname
描述
获取玩家的昵称。
参数
参数名 数据类型 说明 playerId str 玩家id 返回值
数据类型 说明 str 昵称 示例
import lobbyGame.netgameApi as lobbyGameApi
nickname = lobbyGameApi.GetPlayerNickname(playerId)
# GetPlayerUid
描述
获取玩家的uid
参数
参数名 数据类型 说明 playerId str 玩家id 返回值
数据类型 说明 int 玩家的uid;玩家的唯一标识 示例
import lobbyGame.netgameApi as lobbyGameApi
uid = lobbyGameApi.GetPlayerUid(playerId)
# GetUidIsSilent
描述
根据玩家uid获取是否被禁言
返回值
数据类型 说明 int 0:全局禁言,1:普通禁言,2:没有被禁言 示例
import lobbyGame.netgameApi as lobbyGameApi
isSilent = lobbyGameApi.GetUidIsSilent(123)
# HidePlayerFootprint
描述
隐藏某个玩家的会员脚印外观
参数
参数名 数据类型 说明 str playerId 玩家id hide bool 是否隐藏,True为隐藏脚印,False为恢复脚印显示 返回值
数据类型 说明 bool True:设置成功
False:设置失败示例
import lobbyGame.netgameApi as lobbyGameApi
# 隐藏玩家的会员脚印外观
result = lobbyGameApi.HidePlayerFootprint(playerId, True)
# HidePlayerMagicCircle
描述
隐藏某个玩家的会员法阵外观
参数
参数名 数据类型 说明 str playerId 玩家id hide bool 是否隐藏,True为隐藏法阵,False为恢复法阵显示 返回值
数据类型 说明 bool True:设置成功
False:设置失败示例
import lobbyGame.netgameApi as lobbyGameApi
# 隐藏玩家的会员法阵外观
result = lobbyGameApi.HidePlayerMagicCircle(playerId, True)
# ReleasePlayerLockResult
描述
不建议开发者使用,把释放玩家在线锁结果告知给引擎层
参数
参数名 数据类型 说明 id int 对应【ServerReleasePlayerLockEvent/ServerReleasePlayerLockOnShutDownEvent】事件传入的唯一ID success bool 是否成功 返回值
无
示例
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.ReleasePlayerLockResult(id, suc)
# SetAutoRespawn
描述
设置是否启用自动重生逻辑
参数
参数名 数据类型 说明 autoRespawn bool 是否启用自动重生逻辑 internalSeconds int 每隔多少秒,检查是否满足自动重生条件 minY int 高度低于多少,就会触发自动重生逻辑 x int 自动重生逻辑触发后,重生点的坐标 y int 自动重生逻辑触发后,重生点的坐标 z int 自动重生逻辑触发后,重生点的坐标 返回值
无
示例
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.SetAutoRespawn(autoRespawn, internalSeconds, minY, x, y, z)
# ShieldPlayerJoinText
描述
是否屏蔽客户端左上角 “xxx 加入了游戏”的提示
参数
参数名 数据类型 说明 bShield bool True,不显示提示;False,显示提示 返回值
无
示例
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.ShieldPlayerJoinText(True)
# TryToKickoutPlayer
描述
把玩家踢下线,message中的文字会显示在客户端的断线提示中
参数
参数名 数据类型 说明 playerId str 玩家对象的entityId message str 踢掉玩家的理由,默认为空 返回值
无
示例
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.TryToKickoutPlayer(playerId, "GM把你踢下线")
# 关服
# SetGracefulShutdownOk
描述
不建议开发者使用,设置脚本层的优雅关机逻辑已经执行完毕,引擎可以开始优雅关机了
返回值
无
示例
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.SetGracefulShutdownOk()
# SetShutdownOk
描述
不建议开发者使用,设置脚本层的强制关机逻辑已经执行完毕,引擎可以开始强制关机了
返回值
无
示例
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.SetShutdownOk()
# ShutdownServer
描述
强制关机
返回值
无
示例
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.ShutdownServer()
# 服务器
# CheckMasterExist
描述
检查服务器是否与master建立连接
返回值
数据类型 说明 bool 是否与master建立连接 示例
import lobbyGame.netgameApi as lobbyGameApi
exist = lobbyGameApi.CheckMasterExist()
# GetLastFrameTime
描述
获取服务端脚本上一帧运行时间
返回值
数据类型 说明 int 服务端脚本上一帧运行时间,单位纳秒 示例
import lobbyGame.netgameApi as lobbyGameApi
lastFrameTime = lobbyGameApi.GetLastFrameTime()
# GetOnlinePlayerNum
描述
获取当前服务器的在线人数
返回值
数据类型 说明 int 当前服务器在线人数 示例
import lobbyGame.netgameApi as lobbyGameApi
num = lobbyGameApi.GetOnlinePlayerNum()
# IsServiceConnected
描述
检查服务器是否与某个service建立连接
返回值
数据类型 说明 bool 是否与service建立连接 示例
import lobbyGame.netgameApi as lobbyGameApi
bConnected = lobbyGameApi.IsServiceConnected(8000)
# IsShowDebugLog
描述
当前服务器是否打印debug等级的日志
返回值
数据类型 说明 bool True,打印debug log,否则不打印debug log 备注
基本无需关注
示例
import lobbyGame.netgameApi as lobbyGameApi
bDebug = lobbyGameApi.IsShowDebugLog()
# 切服
# TransferToOtherServer
描述
玩家转移到指定类型的服务器,假如同类服务器有多个,就根据负载均衡选择一个
参数
参数名 数据类型 说明 playerId str 玩家id typeName str 目标服务器的类型,对应MCStudio中配置:服务器配置->游戏配置->类型 transferParam str 切服传入参数,默认空字符串。当玩家跳转到目标服务器触发AddServerPlayerEvent事件时,AddServerPlayerEvent事件会携带这个参数 返回值
无
示例
import json
import lobbyGame.netgameApi as lobbyGameApi
transData = {'position' : [1,2,3]}
lobbyGameApi.TransferToOtherServer('123', 'game', json.dumps(transData))
# TransferToOtherServerById
描述
玩家迁移到指定服务器id的服务器
参数
参数名 数据类型 说明 playerId str 玩家id serverId str 目标服务器id,服务器id对应公共配置中serverid,公共配置参见GetCommonConfig备注 transferParam str 切服传入参数,默认空字符串。当玩家跳转到目标服务器触发AddServerPlayerEvent事件时,AddServerPlayerEvent事件会携带这个参数 返回值
无
备注
用法详情见示例Mod sample
示例
import json
import lobbyGame.netgameApi as lobbyGameApi
transData = {'position' : [1,2,3]}
lobbyGameApi.TransferToOtherServerById('123', 2000000, json.dumps(transData))
# 主城模式
# SetCityMode
描述
设置游戏为主城模式:包括有无法改变地形,不切换日夜,不改变天气,不刷新生物等限制
参数
参数名 数据类型 说明 isCityMode bool 是否为主城模式 返回值
无
示例
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.SetCityMode(isCityMode)
# 商城
# NotifyClientToOpenShopUi
描述
通知客户端打开商城界面
参数
参数名 数据类型 说明 playerId str 玩家id 返回值
无
示例
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.NotifyClientToOpenShopUi('123456')
# 性能开关
# ChangeAllPerformanceSwitch
描述
整体关闭/打开预定义的游戏原生逻辑,所有的逻辑默认状态均为【开】(也就是is_disable=False), 只有当调用此接口关闭之后,才会进入到【关】的状态,关闭这类原生逻辑能够提 高服务器的性能,承载更高的同时在线人数,同时也会使一些生存服的玩法失效。另外,强烈建议在服务 器初始化时调用此接口,同时不要在服务器运行中途修改
参数
参数名 数据类型 说明 is_disable bool True代表【关】,False代表【开】 extra list 剔除掉不需要改变开关状态的具体功能的枚举值列表。默认为空 返回值
无
备注
当extra的值为None的时候,默认影响到的开关不包括【LoadSavedEntityFromChunk】。
示例
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.ChangeAllPerformanceSwitch(True)
# ChangePerformanceSwitch
描述
关闭/打开某个游戏原生逻辑,所有的逻辑默认状态均为【开】(也就是is_disable=False), 只有当调用此接口关闭之后,才会进入到【关】的状态,关闭这类原生逻辑能够提高服务器的性能, 承载更高的同时在线人数,同时也会使一些生存服的玩法失效。另外,强烈建议在服务器初始化时调用此接口,同时不要在服务器运行中途修改
参数
参数名 数据类型 说明 key int 具体功能的枚举值,详情见备注 isDisable bool True代表【关】,False代表【开】 返回值
无
备注
所有开关的枚举值以及涵义
class DisableSwitch(object): ''' -------------------ChunkLoadUsePriority------------------- 开关介绍:加载chunk时,是否根据chunk的坐标与当前在线玩家的坐标计算加权优先级(性能较低),disable后所有chunk的加载优先级相同 适用情况:提供了特定地图,不需要服务器生成地图 影响mod sdk的范围:不影响mod sdk ''' ChunkLoadUsePriority = 1 ''' -------------------RedstoneOnTick------------------- 开关介绍:屏蔽红石电路逻辑,disable后红石相关逻辑不生效 适用情况:未使用红石以及电路相关功能 影响mod sdk的范围: 1、能自定义红石 2、服务端事件:不触发BlockStrengthChangedServerEvent 3、服务端组件:redStone不生效 ''' RedstoneOnTick = 2 ''' -------------------ChunkSaveOnTick------------------- 开关介绍:否存档chunk,disable后对地图chunk的修改不会再存档到地图文件 适用情况:地图不会改变 影响mod sdk的范围: 1、服务端事件都不受影响 2、受影响API: (1)SetBlockTileEntityCustomData 设置的内容不会保存到地图 (2)SetBlockStates 方块状态不会保存到地图 (3)SetBlockNew 可以设置方块,但是设置内容不保存到地图 ''' ChunkSaveOnTick = 3 ''' -------------------WalkAnimPostEvent------------------- 开关介绍:是否关闭服务器的移动开始/移动结束事件(性能较低),disable后服务器引擎层不再dispatch上述两个事件 适用情况:没有监听WalkAnimBeginServerEvent事件和WalkAnimEndServerEvent事件(一般可以用客户端的WalkAnimBeginClientEvent与WalkAnimEndClientEvent代替) 影响mod sdk的范围:不触发WalkAnimBeginServerEvent事件和WalkAnimEndServerEvent事件 ''' WalkAnimPostEvent = 4 ''' -------------------RecipesSyncOnLogin------------------- 开关介绍:是否在登录完成后发送服务器配方表,disable后客户端无法收到登录后的配方表,客户端无法进行合成,烧炼以及炼药 适用情况:玩家不进行合成,烧炼以及炼药 影响mod sdk的范围:不影响sdk ''' RecipesSyncOnLogin = 5 ''' -------------------UpdateGlidingOnTick------------------- 开关介绍:是否屏蔽玩家的滑翔功能,disable后一旦进入滑翔状态,将会出现状态更新异常 适用情况:玩家不进行滑翔操作 影响mod sdk的范围:不影响sdk ''' UpdateGlidingOnTick = 6 ''' -------------------UpdateContainerOnTick------------------- 开关介绍:是否执行容器的每帧刷新逻辑,disable后熔炉、炼药锅、高炉、烟熏炉、酿造台无法使用 适用情况:没有使用熔炉、炼药锅、高炉、烟熏炉、酿造台 影响mod sdk的范围:不影响sdk ''' UpdateContainerOnTick = 7 ''' -------------------PushEntitiesOnTick------------------- 开关介绍:是否执行玩家推挤物品/entity的逻辑,disable后玩家无法推动地图上的物品/entity 适用情况:不考虑玩家推挤功能 影响mod sdk的范围: 服务端事件:不触发OnPlayerHitMobServerEvent 服务端组件:组件actorPushable不生效 ''' PushEntitiesOnTick = 8 ''' -------------------UpdateInsideBlockOnTick------------------- 开关介绍:是否执行entity在block中的每帧特殊判定逻辑,disable后传送门无法启动传送,另外在仙人掌侧面、在甜浆果丛上都不会掉血 适用情况:不用考虑上面特殊逻辑 影响mod sdk的范围: 服务端事件:不触发 WillTeleportToServerEvent、DimensionChangeFinishServerEvent、DimensionChangeServerEvent 服务端组件:没有受到影响 ''' UpdateInsideBlockOnTick = 9 ''' -------------------BlockDamageOnTick------------------- 开关介绍:是否执行entity在特殊地形上的每帧特殊判定逻辑,disable后站在岩浆块、点燃的营火上面不会受伤 适用情况:不用考虑上面特殊逻辑 影响mod sdk的范围:不影响sdk ''' BlockDamageOnTick = 10 ''' -------------------SendDirtyActorPerTick------------------- 开关介绍:是否每帧检查entity属性变化并同步,disable之后从每帧检测降频到每秒检测。会导致玩家掉血后延迟一秒才会同步到本地 适用情况:允许延迟同步生物属性 影响mod sdk的范围:SyncModDataServerEvent事件会延迟触发 ''' SendDirtyActorPerTick = 13 ''' -------------------ApplyExhaustionOnTick------------------- 开关介绍:是否执行玩家移动时的饥饿逻辑,disable后玩家走路,跑步,游泳不会消耗饥饿度,跳跃,饥饿效果等也不会减饥饿值 适用情况:饥饿值不变,或使用了SetDisableHunger接口屏蔽了玩家饥饿度 影响mod sdk的范围:不影响sdk ''' ApplyExhaustionOnTick = 14 ''' -------------------UpdateInteractionOnTick------------------- 开关介绍:是否每帧检查人物交互,disable之后,准心指向可交互实体时不会显示交互按钮,但是长按依然可以触发交互 适用情况:不考虑交互的文字提示 影响mod sdk的范围:不触发OnCarriedNewItemChangedServerEvent事件 ''' UpdateInteractionOnTick = 15 ''' -------------------UpdateOffhandItemOnTick------------------- 开关介绍:是否每帧检查人物副手装备属性变化并同步,disable之后副手持有地图位置不会更新 适用情况:副手没有使用地图 影响mod sdk的范围:不影响sdk ''' UpdateOffhandItemOnTick = 16 ''' -------------------PickEntityOnTick------------------- 开关介绍:是否每帧检查附近可捡取的物品道具,disable之后会捡不到物品 适用情况:玩家不捡取附近道具 影响mod sdk的范围: 1、服务端事件:不触发ServerPlayerTryTouchEvent 2、服务端组件:player组件中SetPickUpArea 无用 ''' PickEntityOnTick = 17 ''' -------------------SyncComplexItemOnTick------------------- 开关介绍:是否每帧同步玩家地图( Map)或空地图( Empty Map)内容,disable之后不同步地图或空白地图 适用情况:不使用地图( Map)或空地图( Empty Map) 影响mod sdk的范围:不影响sdk ''' SyncComplexItemOnTick = 18 ''' -------------------UpdateChunkPerTick------------------- 开关介绍:是否每帧执行chunk的tick逻辑,disable之后从每帧执行降频到4帧一次 适用情况:地图上的实体逻辑、方块实体逻辑、方块的随机刻的更新存在延迟 影响mod sdk的范围:不影响sdk ''' UpdateChunkPerTick = 19 ''' -------------------SpawnMobsOnTick------------------- 开关介绍:是否自动生成怪物,disable之后游戏中不会自动生成怪物 适用情况:游戏中不自动生成怪物,并且生物不会伴随结构生成(例如村庄不会生成村民) 影响mod sdk的范围:不触发ServerSpawnMobEvent服务端事件 ''' SpawnMobsOnTick = 20 ''' -------------------UpdateBlocksOnTick------------------- 开关介绍:是否每帧刷新block逻辑,disable之后闪电、骷髅陷阱不再刷新,block不受天气影响,不执行随机刻 (Random tick) 适用情况:适用于地图不变、天气不变场景 影响mod sdk的范围:不触发BlockRandomTickServerEvent服务端事件 ''' UpdateBlocksOnTick = 22 ''' -------------------UpdateWeatherOnTick------------------- 开关介绍:是否每帧执行天气刷新逻辑,disable之后,天气不再刷新(打雷下雨),季节也不变 适用情况:天气和季节不变 影响mod sdk的范围:不影响sdk ''' UpdateWeatherOnTick = 23 ''' -------------------LoadSavedEntityFromChunk------------------- 开关介绍:是否不加载chunk存档中的entity,disable之后,entity的存档将失效 适用情况:不从地图中加载entity,不存档entity 影响mod sdk的范围:不影响sdk ''' LoadSavedEntityFromChunk = 27
示例
import lobbyGame.netgameApi as lobbyGameApi
import lobbyGame.netgameConsts as netgameConsts
lobbyGameApi.ChangePerformanceSwitch(netgameConsts.DisableSwitch.ChunkLoadUsePriority, True)
这里是lobby的一些接口
# 主城模式
# SetCityMode
描述
【废弃】设置游戏为主城模式:包括有无法改变地形,不切换日夜,不改变天气,不刷新生物等限制
参数
参数名 数据类型 说明 isCityMode bool 是否为主城模式 返回值
无
示例
import lobby.netgameApi as lobbyApi
lobbyApi.SetCityMode(isCityMode)