在负载方面北侠和其他mud的区别
最重要的区别是北侠不支持离线练功,所以所有的在线ID都是真实的。很多MUD300在线,实际有200都是离线ID。从这一点来说,北侠是目前大陆在线最多的MUD。而一个在线ID意味着心跳,命令,各种聊天信息,房间内信息。其次,北侠不能飞,目前马车也没有广泛使用。而北侠地图很大,很多alias都包含40个的命令。前一个帖子说到MUD里的对象数量很重要,而这些对象消耗系统资源的一个方式之一就是移动时候的交互。一个ID从一个房间走到另一个房间需要做以下事情:
1. 在老房间里
a) 遍历房间里的所有对象,删除附加在该玩家身上的一切命令。
b) 再次遍历所有对象,删除玩家附加在这些对象身上的一切命令
2. 在新房间里
a) 遍历房间里的所有对象,给玩家附加必要的命令
b) 再次遍历所有对象,让玩家给这些对象附加命令
c) 执行该房间,和循环执行房间内所有对象的“碰面”函数。
而能瞬移的mud,就跳过了这路上的所有计算,前段时间大家看到的车马行,是冲着这个来的。
最后,北侠的保卫任务是一个特别强烈的资源大户,这导致北侠的负载有一个明显的波峰。这迫使我们必须在平时把cpu保持在50%之下,才能应付保卫。其他的mud往往平时就把cpu吃到90%,但是他们没有明显的波峰。这也是保卫必须要调整的地方。
最最后,有一些收费mud,如泥潭,他们的mudos和mudlib也是经过考验,做过大量优化的。比如我前面提到的写时复制技术。不是说人家什么也没干,就开出一个几百人在线的mud的
北大侠客行MUD,中国最好的MUD 占楼学习 好吧,我比较关心如果硬件升级,这些问题能不能得到缓解,比如换个更好的主板和CPU,扩大内存等等 好吧,我比较关心如果硬件升级,这些问题能不能得到缓解,比如换个更好的主板和CPU,扩大内存等等
shuigui 发表于 2012-8-25 07:12 PM http://pkuxkx.com/forum/images/common/back.gif
见另一个帖子里的回答,ruoyu问过了。 “遍历”二字真是扎眼。感觉在交互这个环节上优化的余地还很大
比如能不能在玩家发出指令后再遍历?如果能的话,那当一个玩家只是路过房间时,这个房间里的item就不会被遍历了
只是随便说说,如果不符合实际的话楼主无视就好yct16 回复 1# jason
书剑里的刷新方式能在北侠实现吗,刚来北侠那会我还奇怪为什么还要搞个毫毛捡东西 “遍历”二字真是扎眼。感觉在交互这个环节上优化的余地还很大
比如能不能在玩家发出指令后再遍历?如果能 ...
flauto 发表于 2012-8-25 07:17 PM http://pkuxkx.com/forum/images/common/back.gif
有考虑过这个思路,跟zine讨论的结果是带来的bug会很多。 回复jason
书剑里的刷新方式能在北侠实现吗,刚来北侠那会我还奇怪为什么还要搞个毫毛捡东西
labaz 发表于 2012-8-25 07:18 PM http://pkuxkx.com/forum/images/common/back.gif
书剑的刷新方式是什么样的? 本帖最后由 labaz 于 2012-8-25 07:25 PM 编辑
书剑的刷新方式是什么样的?
jason 发表于 2012-8-25 07:19 PM http://pkuxkx.com/forum/images/common/back.gif
具体代码怎么实现的我不清楚,不过最终结果是比如你在8点01分drop了个东西,8点15分刷新时这个东西还在,到下个8点30分刷新时此物品会被一阵风吹走清除掉。
zine也玩过书剑的,你可以问下他 书剑是每15分钟 清场一次吧
页:
[1]
2