北侠跑起来fluffos 2.22了
北侠的lib一直是基于mudos v22pre11跑的,十多年了。但是mudos已经停止维护很久了,连官方主页都打不开了。一些人很早就开始接手,并起了一个新的名字,叫fluffos。总的来说,这个分支的特点是功能特别多,稳定性差一点。我最喜欢的功能有两个,一个是64位整数,有了这个,北侠的就不用担心溢出了。另一个是内建的压缩协议,这对北侠的网络状况会有帮助。还有一个异步的io,看起来很牛,可以异步读写文件和mysql,但还没试验过。如果好用,对北侠的性能也会很有帮助。记录一下调试的过程:
options.h (编译前要复制为local_options)
#undef WARN_TAB,免得乱warning
#undef CALL_OTHER_TYPE_CHECK
#undef CALL_OTHER_WARN
#undef HAVE_ZLIB
#undef PACKAGE_COMPRESS 这个不取消,restore_object会导致crash
#undef PACKAGE_DWLIB 这个不取消,编译错误
#undef ARRAY_RESERVED_WORD,没必要用这个关键字
#define CONFIG_FILE_DIR “/home/atuin/bin”,这个不能undef
#undef ARGUMENTS_IN_TRACEBACK
#undef LOCALS_IN_TRACEBACK
这两个导致太多错误信息了
#undef SENSIBLE_MODIFIERS
#define OLD_TYPE_BEHAVIOR,这个一定要,否则太多警告
#undef USE_ICONV, 打开这个定义,输出不完整,估计跟iconv的配置有关系
mudlib的改动
random不再接受浮点数
input_to不接受字符串做函数,要写(: :) ,而且要预先申明到前面
add_action的函数不能是private的
protected关键字改成static
北大侠客行MUD,中国最好的MUD 最新的fluffos没跑起来。有时间再看。现在基于2.22也还有点问题,还在测试 还能支持UTF-8,也是个好feature吧 还能支持UTF-8,也是个好feature吧
labaz 发表于 2013-6-10 22:58 http://pkuxkx.com/forum/images/common/back.gif
vs保存的文件默认ansi格式,把我恶心坏了,代码复制到别的地方后,中文注释各种乱码,纯英文代码都经常跑不起 本帖最后由 labaz 于 2013-6-10 11:09 PM 编辑
回复 4# zgbl
估计你用的编辑器不好,用个好点的就没这个问题了。
我之前测试服改代码也发现了现有的有些文件编码和其他文件貌似还不一致,compare时会有不一致情况。都是中文惹的祸。 回复zgbl
估计你用的编辑器不好,用个好点的就没这个问题了。
我之前测试服改代码也发现了现有的有 ...
labaz 发表于 2013-6-10 23:07 http://pkuxkx.com/forum/images/common/back.gif
vs2012的,复制到qt和cfree都出现过编码问题,恶心死了。。 pkuxkx.com 7000,跑的是基于fluffos 2.22的北侠,有空可以测试一下。计划今年7月北侠换fluffos。 本帖最后由 zhangchenyun 于 2013-6-10 11:48 PM 编辑
看样子不错,不过为啥全是英文的武功,以后不会是这样吧。。。
发太岳三清风出错。。。
突然间你聚集全身功力, 痴心情长剑挟着风雷之声,嗤嗤嗤向蒙面杀手连攻三剑!
执行时段错误:*Bad argument 1 to random()
Expected: int Got: 16606098.000000.
程式:/adm/daemons/combatd.c 第 151 行
物件: /adm/daemons/combatd
呼叫来自:/feature/command.c 的 command_hook() 第 226 行,物件: /clone/user/user#9273 ("V云风长")
呼叫来自:/cmds/skill/perform.c 的 main() 第 200 行,物件: /cmds/skill/perform
呼叫来自:/kungfu/skill/huashan-jianfa/sanqingfeng.c 的 perform() 第 46 行,物件: /kungfu/skill/huashan-jianfa/sanqingfeng
呼叫来自:/adm/daemons/combatd.c 的 do_attack() 第 151 行,物件: /adm/daemons/combatd /* HEARTBEAT_INTERVAL: define heartbeat interval in seconds.
*/
#define HEARTBEAT_INTERVAL 1
注释里明明很清楚啊 北侠这么多年,可以考虑自己维护一个mudos了,不能总把基础建立在别人身上。