背景:
阅读文章

LPMUD的部分配置详解

[日期:2007-05-12] 来源:  作者: [字体: ]


                        LPMUD配置详解
                游岳(kicker_youy@sohu.com),20020710


    趁今天有点晕不想工作,我来谈一谈LPMUD的一些参数的配置。
首先声明,我的文笔并不是非常好,而且有点晕,写的时候可能很
混乱,也可能有错误,如果这篇文章能给你带来帮助,这当然很好;
但如果害了你,请不要找我,我绝不负责。在讲叙一些参数的配置
的同时,我也许还会谈一下MUDOS实现它的一些机理,当然只限于
一些值得借鉴的编程思想。
    1.time to swap
      此参数是让MUDOS明白当一件object没有使用超过指定时间的
      时候,即将此object所依赖的program置换到指定的swapfile,
      注意,swap不同于clean up,它不会清除物件,而只是把物件
      所依赖的源文件编译时在内存产生的中间代码保存到磁盘上面
      (swap file),有点类似于unix的交换分区的实现。依此来节省
      内存开销。以后再使用此object的时候(比如find_object又找
      到了此物件),又将有一个swapin的过程,即将swap file中保
      存的中间代码重新弄到内存中来。
      ·一个复制而产生的物件是不会被swap out的


      ·一个有心跳的物件是不会被swap out的
      ·一段正被其他program继承的program是不会被swap out的

    2.time to reset
      物件被reset的时间。事实上,MUDOS不会对需要reset物件去做
      任何事情,全部交给了MUDLIB。MUDOS只是判断一下如果物件有
      reset函数就给物件设定下一次reset的时间,如果物件的reset
      函数有错或者没有,那么MUDOS下一次将再也不会调用他。

    3.time to clean up
      物件被clean up的时间,事实上,MUDOS不会对需要clean up物
      件去做任何事情,全部交给了MUDLIB,一般MUDLIB会在此函数里
      将自生销毁(destruct)。

    4.object table size
      在MUDOS中,所有的物件都被储存在一个哈希表里,使用哈希表增
      快了MUDOS查找object的速度。这个设置将决定物件哈希表的维数,
      MUDOS会将物件哈希表的维数设置为此大于等于此参数的2的次方。
      至于为什么要设置为2的次方,因为从物件路径生成一个哈希基数的
      时候,为了保证此基数在哈希表的维数之内,会将此基数与维数做
      一个位与操作。哈希表的维数是2的次方的话保证了最后生成的基数
      具有一定的随机性。因此,理论上这个参数的数目越大就会对物件路


      速度就越快。谈到这个问题上,有一个细节要注意一下,MUDOS(v22)
      在默认情况下编译,其根据路径生成哈希基数的时候只会考虑到前40个
      字节(出于对效率的考虑),因此如果MUDLIB放置的路径过深,以至
      使每一个物件的源文件路径都超过了40个字节,那么计算出的基数永
      远是一样的,这样查找物件的速度会很慢。

    手累了,以后有时间再写写。
    其他的配置?什么port number,name什么的我想很简单不用说了的。
    有些则看看字面意思已经很明了的说。反正如果你机器内存巨大的话,
    这写乱七八糟的东西往大里配就对了。

 

尊重作者 转载请注明出处52mud.com

收藏 推荐 打印 | 录入:sbso | 阅读:
相关内容      
内容推送
52mud提供
一起回忆泥巴游戏QQ群68186072
52mud官方微信公众平台
热门评论