本帖最后由 ishland 于 2020-2-28 23:24 编辑

AsyncKeepAlive

减少卡顿掉线

最新版本:v0.3
1.12及以上会出现不稳定现象,谨慎使用
提示:本插件支持mod服务器!


工作原理:单独开启一个异步的线程定时(每4秒,可配置)发送一次KeepAlive(心跳包)给在线玩家的客户端,减少因为低TPS、瞬间卡顿和网络丢包严重情况下玩家集体掉线的概率,本插件只能减少掉线的概率,不能提高网络传输速度。


* 服务端会每20秒发送一次心跳包(KeepAlive)给所有客户端,客户端必须在30秒内回复这个心跳包,否则判断服务器离线,具体就表现成掉线。如果服务器突然卡顿,必然导致部分玩家掉线,如果卡顿超过20秒,必然全部玩家集体掉线,因为发送心跳包是以同步的方法运行在主线程,受到TPS低的影响则会导致发包速度和响应速度放缓。本插件开辟一个新的异步线程(不受TPS影响),每4秒发送一次心跳包,从而减少玩家在网络条件不佳和服务器TPS低与瞬卡的情况掉线的概率。

已知Bug:


本插件为重制插件,依赖于ProtocolLib。未来的将会跟随ProtocolLib更新。

本插件使用MIT协议开源。Github地址:https://github.com/ishlandbukkit/AsyncKeepAlive

欢迎大家帮忙测试插件(该插件可能支持其他版本),已测试版本:

请上传后台截图,服务端版本和ProtocolLib的版本以报告兼容性

更新日志:


本插件计划将向下支持。
bStats page: https://bstats.org/plugin/bukkit/AsyncKeepAlive
强调一遍:其他地址的插件均为本人发布

附件下载方式:
AsyncKeepAlive-0.3.jar (47 KB, 下载次数: 1808)