最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