季度更新日志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

游戏我们经常需要写一些用户行为的日志,用于分析数据,直接写数据库的方式,虽然简单,效率稍低,高峰期很容易出现写入操作消息积压,一般先本地写文件,然后用日志采集工具采集日志再写入数据库。

优化日志轮换模块,避免因比logrotate_m先启动而报错


季度更新日志2025-1 2025-3
https://huahua132.github.io/2025/01/09/quarter/2025-1-2025-3/
作者
huahua132
发布于
2025年1月9日
许可协议