本帖最后由 ishland 于 2020-2-28 23:24 编辑
AsyncKeepAlive
减少卡顿掉线
最新版本:v0.3
1.12及以上会出现不稳定现象,谨慎使用
提示:本插件支持mod服务器!
工作原理:单独开启一个异步的线程定时(每4秒,可配置)发送一次KeepAlive(心跳包)给在线玩家的客户端,减少因为低TPS、瞬间卡顿和网络丢包严重情况下玩家集体掉线的概率,本插件只能减少掉线的概率,不能提高网络传输速度。
* 服务端会每20秒发送一次心跳包(KeepAlive)给所有客户端,客户端必须在30秒内回复这个心跳包,否则判断服务器离线,具体就表现成掉线。如果服务器突然卡顿,必然导致部分玩家掉线,如果卡顿超过20秒,必然全部玩家集体掉线,因为发送心跳包是以同步的方法运行在主线程,受到TPS低的影响则会导致发包速度和响应速度放缓。本插件开辟一个新的异步线程(不受TPS影响),每4秒发送一次心跳包,从而减少玩家在网络条件不佳和服务器TPS低与瞬卡的情况掉线的概率。
已知Bug:
1. 新的线程会出现无法关闭的问题,请不要重载服务器,否则将会发送更多KeepAlive 于0.3修复 |
本插件为重制插件,依赖于ProtocolLib。未来的将会跟随ProtocolLib更新。
本插件使用MIT协议开源。Github地址:
https://github.com/ishlandbukkit/AsyncKeepAlive
欢迎大家帮忙测试插件(该插件可能支持其他版本),已测试版本:
Paper 1.13.2,ProtocolLib 4.4.0
Paper 1.12.2,ProtocolLib 4.4.0
Paper 1.11.2,ProtocolLib 4.4.0
Bukkit 1.7.10, ProtocolLib 3.7.0 By @夜夜夜、
KCauldron 1.7.10 forge 1558, ProtocolLib 3.7.0
|
请上传后台截图,服务端版本和ProtocolLib的版本以报告兼容性
更新日志:
Release v0.3:
+新增配置文件
*重写插件
+新增PlaceHolder: %asynckeepalive_ping%
+数据包垃圾回收机制
+在Minecraft 1.14 & ProtocolLib 4.5.0-SNAPSHOT测试通过
Release v0.2:
+在Minecraft 1.11.2上测试通过
+添加了1.8-1.11的支持
+添加了新的线程处理心跳包,通过压力测试
Release v0.1:
+在Minecraft 1.12.2上测试通过
+添加了bStats
+添加了Minecraft版本检测
|
本插件计划将向下支持。
bStats page:
https://bstats.org/plugin/bukkit/AsyncKeepAlive
强调一遍:其他地址的插件均为本人发布
附件下载方式:
AsyncKeepAlive-0.3.jar
(47 KB, 下载次数: 1808)