|
发表于 2006-11-11 15:45:28
|
显示全部楼层
|阅读模式
来自 中国–陕西–西安
今天凌晨帮一个朋友调试插件,他的服务器是 DOD 3421,操作系统为Linux,说是 adminslots 不生效,预留通道谁都可以进。花了好长时间,结果发现,client_authorized事件根本就不发生。因为我直接在此事件里加上Kick,都不会把人给Kick掉。而且他跟我说,他那个踢出OP密码错误的玩家也是在玩家进入服务器之后才Kick掉。后来我改成在 client_connect 里判断,但所有玩家进入预留通道都被Kick掉(包括设有b权限的OP)。后来看了看 admin.sma 才知道,admin.sma里加载OP列表有两个地方:client_authorized和client_putinserver。由于client_authorized事件没有发生,所以只有当玩家putinserver后才会读取OP列表,才会得到权限,才会出现密码错误被踢出现象,在client_connect时还不会有任何权限,所以会出现在users.ini中设有b权限的玩家进入预留通道也会被Kick。后来在 adminslots 里将其改为在 client_putinserver 里加一个task,在task里判断预留通道,才算勉强可以使用。真想不到会是这样呀!!如果大家以后碰到类似情况,可以看一下是不是这个原因。 |
|