剑侠世界的服务器内容很完整,但是对内存的要求很高,大多数人内存达不到要求从而导致因地图加载不全而出现错误,需要手工去添加地图,严重影响游戏体验。而服务器中最占内存为GameServer进程,如果加载250张地图,开启需要1.6G的内存,即时一张图不加也需要1G内存。我分享可以减小GameServer的占用的方法。
方法一:减少加载地图数量,治标不治本
地图加载的原理: 地图加载由\gamecenter\setting\worldset.txt决定具体加载哪些地图: ********************************************************* MAP_ID GAMESVR_SET_1 GAMESVR_SET_2 ~ ~ ~ 备注 1 1 1 云中镇 5 1 2 江津村 6 2 2 石鼓镇 ********************************************************* 其中(1,1)代表只有server1 加载地图1,也就是云中镇的地图。 其中(1,2)代表server1 、server2都加载地图5,也就是说你需要开启两个server进程,如果少开了一个貌似要报错,进不去。 其中(2,2)代表只有server2 加载地图6 。 所以我们可以通过这个办法将常用的地图城市和副本加载server1,而将剧情任务地图加载到server2,需要才开启。开启两个server的方法网上很多,但从没有人具体讲解怎么分配地图。
方法二:通过减少加载的目标减小server占用,但费时费力
/home/jxsj/gameserver/setting/gamesetting.ini文件里面是server的配置文件
*********************************************************
[ServerConfig]
MaxSubWorldCount=250 开地图数目
MaxPlayerCount=12 最大角色
MaxNpcCount=10000 加载的怪物、NPC等
MaxItemCount=20000 包裹、仓库的物品
MaxObjCount=500 地上的物品?
MaxMissileCount=2000
**********************************************************
在上面的配置中,关键是MaxNpcCount,默认为50000,默认情况下加载250张地图会出错,就是因为npc溢出了,所以你需要加大,100000不会出错,但极大地占用。如果更改为10000,你就会发现开启一个server在加载几张地图的情形下只占用600M,相比之前少了一半。我估计加载250张地图server只占用1G内存,那么2G的虚拟机就可以开启两个server,也就是500张地图,原版需要近4G。
关键是怎样使10000的npc不报错?方法就是减少刷怪数目和npc数目。单机也不用满屏怪物。
/home/jxsj/gameserver/setting/map/map_info/taoxizhen/npc 这里面是刷怪的配置文件
打开一个“暴走的鹿”baozaodelu.txt
TRAPX TRAPY
55360 107232
就代表在这个坐标加载一个怪。
|