boxmoe_header_banner_img

欢迎来到YaeMiko小站

加载中

文章导读

瞎捣鼓——更新冒险岛私服的网络通讯框架(序)


avatar
Samele 2025-05-28 9

在此之前我要修正一些之前的错误认知,我一开始以为冒险岛私服的网络部分是基于Netty的。

后来找到源码的依赖和关键位置一看,他是Apache基金会负责维护的MINA 1.x 版本。

后来查了一下,这套系统已经非常老旧且过时。

经过后来验证,确实证实我之前的猜想有一个失误的地方。

之前我认为是数据库的瓶颈导致游戏卡顿和掉线。于是我将项目向SpringBoot+Mybatis的框架进行转化。但是后来经过验证,MINA才是整个游戏运行的瓶颈。

因为在吸怪测试中,涉及到了服务端的大量广播,包括怪物位置移动,群体技能发动击中怪物,伤害等广播内容,让游戏的数据吞吐量一下子提升几个档次。导致MINA无法应付,同时产生较多内存垃圾,触发GC回收机制,另外JAVA触发STW导致所有线程又被暂停。故而客户端世界崩溃掉线。

所以项目的优化我从优先SpringBoot+Mybatis替换,调整到了将MINA替换成现在较为主流的Netty。并且记录替换过程中遇到的相关问题。

目前已经完成相关替换工作并上线吸怪测试,经过实际验证,Netty的吞吐量和内存管理机制配合G1GC可以完全应付整张地图的吸怪测试。先上效果视频。

👉测试效果视频



评论(已关闭)

评论已关闭