MudOS v22.2b11 (JackyBoy 增强版) 说明文件
1、本次修改只为了增强MudOS在Linux操作系统下的功能,其他平台我未测试,我只是尽量
的缩小影响范围。
2、象大部分人一样,默认修改了options.h里的如下定义:
#undef NO_WIZARDS
#define PACKAGE_UIDS
#define AUTO_SETEUID
这一项根据我的朋友Darks所说应该是#undef才对,但是因为我一直都这样用,而且几乎我
看到的都这样用,所以我还是将其#define了,但是要注意将一些object在create()里增加
seteuid(0),比如在/inherit/char/char.c的create()函数:
void create()
{
seteuid(0); // so LOGIN_D can export uid to us
}
3、将默认密码加密方式修改为MD5,因为默认的DES加密方式只接受8位的密码长度,也就
是说密码12345678x和123456789这两个密码都是等价的。改为MD5方式后crypt()将默认用
MD5加密,如果还想用旧的加密方式,可以使用oldcrypt()来验证密码。由于此原因,如果
你是要考虑用此MudOS来替代一个已经运行的OS,那么一定要考虑玩家密码的更新问题。
妥善的运行方案是要两种方式并存运行一段时间,当玩家密码几乎都转为MD5加密过的以后
就可以完全抛弃过去的DES加密方式了。
此修改是通过将options.h里的#undef CUSTOM_CRYPT修改为如下所示来实现的:
#define CUSTOM_CRYPT
4、修改MudOS可以使用MySQL数据库。
在options.h里做了如下修改:
将#undef PACKAGE_DB 修改为了 #define PACKAGE_DB
将#define USE_MSQL 1 修改为 #undef USE_MSQL
将#undef MYSQL 2 修改为 #define MYSQL 2
将#define DEFAULT_DB USE_MSQL修改为 #define DEFAULT_DB USE_MYSQL
如果不需要数据库功能,你可以将PACKAGE_DB的修改改回去就可以,但是,这样做还不如
你直接使用原来的v22.2b11版本好了,因为此次功能增强主要就是在数据库功能上增强的。
另外,由于高版本的MySQL数据库使用了zlib库,因此我也修改了edit_source.c,在里面
检查了zlib库是否存在,如果存在则将其加入连接选项,如果不存在,或者没加入zlib库
就会出现连接时找不到compress和uncompress函数的问题。
5、关于一些使用底版本MUDOS的LIB的问题
这次是直接拿v22.2b11的原本版本修改的。中间没有任何一次的build来产生累赘的东西。
大小跟原本一样。只要修改options.h就够了。因此这个版本也象其他的OS一样,似乎默认
开启了SENSIBLE_MODIFIERS选项的,这可以在options.h里看到如下的内容:
#define SENSIBLE_MODIFIERS
如果你过去使用的是v22pre11的MudOS驱动,最好将上面一项修改为#undef而不是#define。
源代码下载地址:
http://ftp1.niub.net/MudOS/v22.2b11.tar.gz
有相关的疑问或者问题,请访问下面的网址:
http://bbs.niub.net
除了此处,请不要写信给我,请不要在QQ上呼我询问相关问题。
JackyBoy
2001/06/20
呵呵 利用lib来保持兼容的一些办法
作者:darks 发表时间:2001年6月21日 09:30
--------------------------------------------------------------------------------
#ifdef __SENSIBLE_MODIFIERS__
#define staticf protected
#define staticv nosave
#else
#define staticf static
#define staticv static
#endif
在全局定义中 使用这个 可以保持和 这个语法的兼容问题
数据库功能 如果不想使用 可以不写那些代码
在master.c里面加一个:
staticf mixed valid_database(object ob, string action, mixed *info){return 0;}
就可以了
尊重作者 转载请注明出处52mud.com