关于优化黑色沙漠2260怪物回退的一些经验
本帖最后由 xyq565862 于 2024-9-30 00:26 编辑看到黑色沙漠有单机版想尝试下,本来想玩3506,奈何配置太渣了,根本跑不起来,退而求其次换了2260,但是我下的那个2260 最终版版本有严重的怪物回退问题,打起来很不爽
折腾了几天,这个帖子主要记录下对我来说哪些尝试是有效的,为之后论坛跟我一样的兄弟们减少一些错误尝试,其次是想抛砖引玉,引来真正的dalao,所以有任何人有其他办法,欢迎分享
下面是我的一些经验
1、首先,也是最重要的,编辑服务端/gameserver/bin/configs/ai.properties文件, 修改其中的ai.chase.check_min_distance 和ai.chase.check_max_distance ,这两个值代表AI移动判断的最小和最大距离,这个值直接关系到回退现象的产生,小了大了怪物ai都会出问题,需要根据自己的配置自行调整,我这里是设的 min25 max65,只作为参考,可以自己自行调整
2、 修改java内存分配,修改服务端/gameserver/bin/gameserver.bat文件,将其中的set DEFAULT_JVM_OPTS=后面改为"-Xms12g" "-Xmx12g" "-Xmn2g" "-Xss256k" -"XX:ParallelGCThreads=20" "-XX:+UseParallelGC" "-server",这里"-Xms12g" "-Xmx12g" 中的12g是内存分配,根据自己的内存来给,我这里服务器是16g内存,但是还跑了一些其他东西,所以我这里给到12,-"XX:ParallelGCThreads=20" 则是跟cpu有关,越大对cpu要求越高
3、也是我认为比较有用的,用graalvm jvm替代原来自带的java运行环境,graalvm 是一个高性能的jvm,通过即时编译器(JIT)和提前编译器(AOT)优化代码执行,具体的差异以及为什么高性能可以自行百度,要是听不懂你就可以理解成把原版java换成这个可以降低内存占用以及提升性能就行了,我实测,不在乎怪物回退的话,将原版java换成这个,在16g的笔记本上同时跑服务端和客户端,连招基本没有延迟,运行流畅,然后对个人这个是免费的,商用要收费但是咋们玩个游戏又不是做商业项目,直接官网下载用就行了,下载地址的话自行百度,去官网下载,我这个2260自带是java 15,graalvm没有15的支持,实测graalvm jdk 17可以完美替代没有问题,jdk21或者23没有时间测试了,哪位dalao有空可以试试,要是能用23的话理论上还会有不小的优化,下载下来是一个压缩包,解压到改服务端目录,并将解压出来的文件夹改名为java即可,原来的那个java文件夹改一个名字作为备份就行
我目前是用的一台4核16g的服务器跑服务端,自己的垃圾笔记本跑的客户端,怪物回退现象还有,但是基本不明显了,从人物技能范围内引到怪,怪物接近玩家角色,到与其战斗,杀死怪物这个过程基本看不到回退现象,但是若是拉着怪到处跑,还是会有偶尔的回退现象
因为服务端只有12g的java占用,所以不用服务器的话,家用pc 24g左右内存同时跑服务端和客户端,基本也能有这个效果,我实测的话笔记本16g,降了服务端的jvm内存分配到6g,有一些怪物回退,但已经比原来的版本减少50%以上了
谢谢大佬分享 支持分享精神 3506要500G固态有点过分,全用虚拟内存问题是不是更多 谢谢分享 本帖最后由 oz30001 于 2024-9-29 15:18 编辑
多谢教学,我也是那种一点闪回就不满的人
我去打怪一刀,然后怪(近程)要2-3秒才反应过来知道有人打它,但远程的会秒反击
我跑开几步到A点,怪跟着去A的途中
我跑去B点.怪还是会跑到A
才会折过来跑去B
我一直ABCD地跑,怪就ABCD地跟着我,永远也打不到我
我这3506256Gddr42696v4 M.2 1T架设的 想玩的可以来试试! 感谢经验分享 感谢大佬无私的经验分享 本帖最后由 来逛逛 于 2024-10-18 16:31 编辑
支持支持
页:
[1]