最MC论坛
标题:
[其他]AsyncKeepAlive —— 减少网络和服务器卡顿掉线[1.7.10-1.13.2]
[打印本页]
作者:
ishland
时间:
2019-2-11 17:33
标题:
[其他]AsyncKeepAlive —— 减少网络和服务器卡顿掉线[1.7.10-1.13.2]
本帖最后由 ishland 于 2019-2-24 13:18 编辑
AsyncKeepAlive
减少卡顿掉线
最新版本:v0.2
工作原理:单独开启一个异步的线程定时(每4秒)发送一次KeepAlive(心跳包)给在线玩家的客户端,减少因为低TPS、瞬间卡顿和网络丢包严重情况下玩家集体掉线的概率,本插件只能减少掉线的概率,不能提高网络传输速度。
* 服务端会每20秒发送一次心跳包(KeepAlive)给所有客户端,客户端必须在30秒内回复这个心跳包,否则判断服务器离线,具体就表现成掉线。如果服务器突然卡顿,必然导致部分玩家掉线,如果卡顿超过20秒,必然全部玩家集体掉线,因为发送心跳包是以同步的方法运行在主线程,受到TPS低的影响则会导致发包速度和响应速度放缓。本插件开辟一个新的异步线程(不受TPS影响),每4秒发送一次心跳包,从而减少玩家在网络条件不佳和服务器TPS低与瞬卡的情况掉线的概率。
已知Bug:
1. 新的线程会出现无法关闭的问题,请不要重载服务器,否则将会发送更多KeepAlive
本插件为重制插件,依赖于ProtocolLib。未来的将会跟随ProtocolLib更新。
本插件使用MIT协议开源。Github地址:
https://github.com/ishlandbukkit/AsyncKeepAlive
欢迎大家帮忙测试插件(该插件可能支持其他版本),已测试版本:
1.13.2,ProtocolLib 4.4.0
1.12.2,ProtocolLib 4.4.0
1.11.2,ProtocolLib 4.4.0 Bukkit 1.7.10, ProtocolLib unknown By @夜夜夜、
开发版本:
https://ci.ishland.com/job/AsyncKeepAlive/
(下载第一个jar)
更新日志:
Release v0.2:
+在Minecraft 1.11.2上测试通过
+添加了1.8-1.11的支持
+添加了新的线程处理心跳包,通过压力测试
Release v0.1:
+在Minecraft 1.12.2上测试通过
+添加了bStats
+添加了Minecraft版本检测
本插件计划将向下支持。
强调一遍:其他地址的插件均为本人发布
本帖其他地址:
https://www.spigotmc.org/resources/asynckeepalive.64676/
http://www.mcbbs.net/thread-843701-1-1.html
https://www.zuimc.com/thread-69241-1-1.html
bStats page:
https://bstats.org/plugin/bukkit/AsyncKeepAlive
作者:
ishland
时间:
2019-2-12 14:17
请大家多多支持,谢谢大家
欢迎光临 最MC论坛 (http://www.zuimc.com/)
Powered by Discuz! X3.2