热点推荐

小喇叭+ 发布

01-16 02:17
01-16 02:04
01-13 17:30
查看: 752|回复: 0

[脚本示例] 服务器卡的重要原因及解决方法

[复制链接]
avatar

签到天数: 350 天

[LV.8]以坛为家I

7651

主题

255

回帖

31万

积分

司徒主管

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

UID
1
司徒币
260203
传世币
3000
元宝
0
在线时间
266 小时

最佳新人灌水之王

QQ
online_admin 发表于 2022-5-3 01:24:21 | 显示全部楼层 |阅读模式
大家都认为服务器卡是因为地图或者人数,怪物数量的原因,其实并不是这样的,服务器启动后最大的负载是market_def下面的商店NPC文件,虽然这都是些*.txt文件,但众所周知,这些文件只算是一个索引文件,在读取这些文件后会在market_saved和market_price下面建立相关的数据内容,也就是商店里面的库存物品.这里的数据量是非常大的,非常消耗系统资源.以致造成卡机,网络延迟,缓慢.因为系统要不断地从这里读取内容然后又写回.在market_def下面的文本中,比如药品店,它的物品对应着2个数字太阳水
1000是代表刷的数量,后面的1是指刷新的时间,也就是说1分钟(小时?)就要刷新1000瓶太阳水,而我们商店里卖的东西又多,这样一来,每时每刻我们的都在大量地刷新物品,你们说这会不卡吗?
当然,在market.txt中,NPC本身也有一个刷新参数,也就是说NPC自身也在不停地刷新,这样一来再好的机子也难以支撑.把market_def文件夹下的NPC文件移植到NPC_def文件夹下面去,这样做了之后,变得非常的流畅,我刷了大量的怪物,速度也不慢(人物不会一卡一卡),要知道测试用的机子可以做到这一步已经很令人吃惊了(赛扬366 96M 4G硬盘) 织梦好,好织梦

在NPC_def文件夹下面的文件是不会产生*.saved的保存文件的,因此可以节省大量的系统资源,但是这有一个致命的缺点就是这个文件夹下面的药店,饰品店,武器店,小贩,武器特修,不可以买卖物品,不可以进行修理或特修,仓库不能保管或取回.因为NPC_def下面的NPC只能属于那种纯脚本型的,不带M2server.exe中部分默认的参数(估计是这样的)
当然,如果有高手可以解决这部分问题那就最好了,比如写出一些脚本,点一下某物品的名字就给你一个这个物品,然后扣除相应的钱数(编起来很累的).现在只能又把NPC移回market_def目录和market.txt中去了,这样一来又会卡的不得了,分析后觉得,估计这和刷新的时间长短有关系,大家看看能不能把刷新的时间改得长一点(不要太频繁地刷新)系统也许就会快很多.
NPC_def还有一个好处就是目录下的NPC更新后不会闪烁,免去很多操作.
大家如果要试一下速度就先把merchant.txt文件删空(记得备份哦)然后启动进去看看就知道了. 织梦内容管理系统

帖子地址: 





上一篇:寄卖行-3.txt脚本blue引擎使用
下一篇:传奇私服的攻与防
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【乱回复灌水将给予禁言处理】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则