本帖最后由 ishland 于 2019-2-24 13:18 编辑
AsyncKeepAlive
减少卡顿掉线
最新版本:v0.2
工作原理:单独开启一个异步的线程定时(每4秒)发送一次KeepAlive(心跳包)给在线玩家的客户端,减少因为低TPS、瞬间卡顿和网络丢包严重情况下玩家集体掉线的概率,本插件只能减少掉线的概率,不能提高网络传输速度。
* 服务端会每20秒发送一次心跳包(KeepAlive)给所有客户端,客户端必须在30秒内回复这个心跳包,否则判断服务器离线,具体就表现成掉线。如果服务器突然卡顿,必然导致部分玩家掉线,如果卡顿超过20秒,必然全部玩家集体掉线,因为发送心跳包是以同步的方法运行在主线程,受到TPS低的影响则会导致发包速度和响应速度放缓。本插件开辟一个新的异步线程(不受TPS影响),每4秒发送一次心跳包,从而减少玩家在网络条件不佳和服务器TPS低与瞬卡的情况掉线的概率。
已知Bug:
本插件为重制插件,依赖于ProtocolLib。未来的将会跟随ProtocolLib更新。
本插件使用MIT协议开源。Github地址:https://github.com/ishlandbukkit/AsyncKeepAlive
欢迎大家帮忙测试插件(该插件可能支持其他版本),已测试版本:
开发版本:https://ci.ishland.com/job/AsyncKeepAlive/
(下载第一个jar)
更新日志:
本插件计划将向下支持。
强调一遍:其他地址的插件均为本人发布
bStats page: https://bstats.org/plugin/bukkit/AsyncKeepAlive
|