fluffos是对mudos的升级,除了修复了巨量的BUG外,主要区别如下:
- mudos 是32位,fluffos 是64位,fluffos 支持大数据
- mudos 使用 static 声明不需要存档的变量,fluffos 使用 nosave,mudos 使用 static 声明被保护的方法,fluffos 使用 protected;如果旧版 mud 要使用 fluffos 驱动需要修改代码的static关键字
- fluffos 取消了部分 #pragma,如 #pragma save_binary ,如果旧版mud要改为使用fluffos驱动需要注释掉部分#pragma
- fluffos 新增了大量的efun,并优化了部分efun的默认参数(如果参数为this_object()可以省略)
- fluffos 新增了部分 #define
- fluffos 支持 string + object,而mudos 必须使用 string + file_name(object)
- fluffos 优化了运行时配置文件(config.ini),大量驱动参数可以用配置文件设置
- fluffos 中加密算法改为sha512,原mudos中的crypt函数改名为oldcrypt
- localtime() 的不同
- mudos下localtime时间上限是
2038年1月19日11时14分7秒,时间戳最大值是2147483647,超上限后重新从1970年1月1月8时0分0秒开始 - fluffos下 localtime时间上限是
3001年1月1日15时59分59秒,时间戳最大值是32535244799,超上限后返回0
- mudos下localtime时间上限是
如果需要直接用fluffos驱动旧版mud,可以在编译时 #undef SENSIBLE_MODIFIERS,但仅限 fluffos v2017,fluffos v2019 下旧版MUD必须改为utf-8编码才能兼容。
fluffos v2017和v2019版的主要区别如下:
- v2019 要求 mud 使用 utf-8 编码
- v2019 新增了编码相关 efun:set_encoding、query_encoding、string_decode、string_encode、buffer_transcode
- strlen 和 strwidth 二个 efun 的作用在 v2019 和 v2017 不同
- v2019支持websocket协议
- v2019下0.0逻辑运算为false,v2017和mudos下为true
为方便学习LPC,这里提供一个mudos和fluffos v2017/2019 可以驱动的最小LIB,包括了必要的文件和功能,可以方便测试基本的efun,你可以用mudos和fluffos驱动调试对比差异。因为这个LIB很小,而且是学习用的,我取名为xMud:
- Github(国外):https://github.com/MudRen/xMud
- Gitee(国内):https://gitee.com/mudren/xMud
相对fluffos的testsuite和我提供的另一个lpc-test,这个LIB最大的特点就是极致精减,可以用新旧驱动运行测试。