关于skynet_fly热更模块启动配置的调整
前言
经过几个月的打磨使用,发现之前想的生成mod_config.lua
热更模块配置文件用于启动的方式并不是很好。
缺点
1. 很少需要修改里面的值,当修改掉load_mods.lua
,需要重新生成mod_config.lua
。
2. 数组的配置重新生成也不好覆盖。
3. 有些配置想一直用load_mods.lua
中的,却要手动同步改一遍mod_config.lua
。
一开始生成mod_config.lua
的目的是想着配置是跟着运行环境走的,想着load_mods.lua
只是生成一个模板,mod_config.lua
作为实际运行的配置,现在发现有个更好的方案。
调整后的方案
在skynet 启动的config中增加配置项loadmodsfile
,默认生成配置load_mods
,就直接用代码中写好的配置,这样就没有上述1,2,3的缺点了。至于区分环境,不同的环境编写好不同的配置文件就行,只需要修改启动配置中的loadmodsfile
文件名指向就行。
script shell脚本优化
一开始 script脚本中会去读skynet的启动配置文件,拿到debug_port用与法debug命令,实际使用中可能还没停服就去修改了config配置中的debug_port,导致debug命令调用不通。
现在 每次启动的时候会拷贝一份启动的config作为运行时配置,script console读取该配置就行。这样什么时候去更改启动的config都没有问题。
总结
实践出真理。
skynetfly源码地址
关于skynet_fly热更模块启动配置的调整
https://huahua132.github.io/2023/12/10/skynet_fly_ss/script/