季度更新日志2025-1 2025-3
最终还原perl环境 pb 打包sharedata数据应注意先copy
- 编译好skynet_sly之后,perl没有还原,会影响到系统其他软件正常工作。
- pb打包用sharedata共享的table时,数据打包不进去。怀疑是因为sharedata是skynet封装的c object,pb底层无法识别访问,通过先深拷贝sharedata表,再传入pb打包可以规避此问题。
优化sharedata_service 热更支持加载新的文件
开发中,我们新增系统时,一般都会新增一些配置文件,这时候希望reload可以加载它们。
优化sharedata使用错误时,输出更友好的错误提示
优化前是直接查询skynet的sharedata或者sharatable 当配置不存在,出现的代码断言错误没有给出明确的错误信息,需要查看源码对应行,才能发现错误原因。
优化后当配置不存在时会输出错误信息not exists file_path[./common/cfgs/test_cfg3.lua]
,当模式不匹配时会输出错误信息mode not match load mode[sharedata] use mode[sharetable]
room_game_login 发送到玩家所在服方法调整,玩家不在线就发到最新hall服务上
录像文件名拼接上服务地址
方便定位需要播放哪个录像。
优化frpc 错误处理
之前对于frpc的错误只是简单的返回nil,调用的地方并不清楚是什么原因导致,这次优化完全兼容的情况下,新增了错误码和错误信息,方便调用处得知错误原因做进一步处理。
支持配置svr_name
有可能架构用svr_name来划区。
简化sharedata使用,无需调用load加载
使用load操作有点多余。
fix record线程创建时越界
播放录像时启动的线程启动越界。
fix 守护模式下 LAUNCH snlua cdummy 以上日志丢失
日志丢失!
更新lua-openssl 到0.9.1-0
同步最新skynet
allow t[nil] => nil in table returned by sharedata
增加mysql使用execute方法解析date格式数据
orm新增批量删除方法
例子:当主键为 key1-key2联合主键时,可以是这2种调用方式。ormclient:batch_delete_entry({{key1, key2},{key1, key2}})
ormclient:batch_delete_entry({{key1},{key1}})
参数中的key长度需要一致。ormclient:batch_delete_entry({{key1, key2},{key1}})
这种调用方式是会报错的。
orm 新增 batch_delete_entry_by_range 批量范围删除,orm限制部分类型不能为key
例子:当主键为 key1-key2联合主键时,可以是这3种调用方式。ormclient:batch_delete_entry_by_range({{key_values = {key1}, left = key2, right = key2}, {key_values = {key1}, left = key2, right = key2}})
ormclient:batch_delete_entry_by_range({{key_values = {key1}, left = key2}, {key_values = {key1}, left = key2}})
ormclient:batch_delete_entry_by_range({{key_values = {key1}, right = key2}, {key_values = {key1}, right = key2}})
debug日志等级调整到最低,优化系统日志用仅追加模式打开
debug优化snowflake全局唯一ID的分配
避免同一秒自增位到最大值262143
断言,使其等待到下一秒。
新增用于写固定每天轮换的用户日志模块,并对接orm
游戏我们经常需要写一些用户行为的日志,用于分析数据,直接写数据库的方式,虽然简单,效率稍低,高峰期很容易出现写入操作消息积压,一般先本地写文件,然后用日志采集工具采集日志再写入数据库。