如果你有任何疑问,或提交bug: 请发送Issues,或到Q群580659670寻求帮助,使用前请务必阅读首次安装教程必看

AntiAttackRL是一款免费、可靠、更新频繁、多平台的压测防御插件,可以有效地防御绝大多数的压测攻击,同时也是唯一一款能够同时支持几乎所有服务端的反压测插件
查看支持的核心
BukkitAPI 系列
- Spigot 及其分支(如 Paper、Purpur 等)
- Hybrid 混合服务端
- 新式多线程服务端(如 Folia 、 ShreddedPaper)
Proxy 系列
- BungeeCord 、Velocity、Waterfall
Sponge 系列
- Sponge7 、Sponge8
特性
- 防御 MOTD (集群) 压测
- 防御 Ping (集群) 压测
- 防御 假人 (集群) 压测
- 防御 Tab 包高频攻击
- 防御 Move 包高频攻击
- 防御连点器发包崩溃漏洞
- 防御踢人漏洞压测攻击
- 防御频繁握手多连接攻击
- 防御洪水 Book 包攻击
- 防御死亡 Motd / Ping 发包攻击
- 不会阻隔正常玩家进入服务器
- 插件可自动更新 *
- 可高度自定义的配置文件
- 可以自定义发包规则限制
| AntiAttack3 | AntiAttackRL | 其他同类防御插件 |
|---|---|---|
| 老牌,早在集群压测发迹之前便已发布更新,经验丰富。但正因如此,代码累赘 | AAT 重制版,过往的经验使得 AATRL 在抵抗压测的熟练度上更上一层楼 | 很多时候都是第一次写反压测插件,对压测不熟悉,效果不好 |
| 戒备模式有很大问题,刚开服的几秒内压测会大量进入,被 EMP (新型压测软件)针对,难以抵抗袭击 | 全新的戒备模式算法,全新的代码,全新的机制,针对集群压测和各种新型攻击手段,具有卓越的防御效果 | 部分插件是上古时期发布的,它们对集群压测没有太大的抵抗力。其余插件对压测攻击具有防御效果,但对很多新型压测攻击几乎没有免疫力。 |
| 成群的 Bug ,不人性化的配置文件,公告信息,误报率在配置不正确下惊人,默认配置经常导致各种问题 | 默认配置便可以使用,误报率极低,近无 Bug ,作者即刻在线反馈修复 | 可能有几个月甚至几年没有进行过大更新 |
- 完全重写,没有半点代码来自于 AntiAttack3 ,也就没有修改一说了,不过为了使得大家容易理解,仍然对此进行解释。
- 戒备模式的全新算法!杜绝了刚开服成群玩家进不去或者成群压测进得去,解决了压测持续时间长便可以逐步透过戒备模式的墙的能力,支持开服便初始化戒备模式列表,不再需要提前记录和结算。
- 去掉了大部分逗比的耍小聪明的检测,那些检测对上古有效,但对于新的压测几乎没有什么抵抗力,还会导致误报率奇高。
- 比原来的算法更加高效,相较于 AAT3 来回补丁来回更新导致的代码一坨,全新写的代码易读,简洁,效果更好,优化更棒。
- 修复了大部分的 Bug ,包括尽管假人进不来仍然在刷屏的问题,同时修复了几个上古时代就存在的 Bug 。
- 更强的自定义,几乎所有玩家提示信息都可以自定义了,插件前缀也可以自定义了,所有数值都可以手动调整
- 针对和高效的更新,几乎可以抵抗最新的压测,并配有一劳永逸的自动更新系统*。
Important
请务必安装本教程安装,否则可能导致插件不起作用!
- 确保装有前置:
ProtocoLib - 下载好插件:
AntiAttackRL-[版本号].jar - 将插件置入
plugins文件夹中 - 重启时,服务器可能会进行初始化,玩家数据越多,时间越长
- 若效果不好,请查阅下方的配置文件讲解对配置文件进行修改
- 下载插件:
AntiAttackRL-[版本号].jar - 将其置入Proxy端中的
plugins文件夹中 - 重启服务端即可生效
- 若效果不好,请查阅下方的配置文件讲解对配置文件进行修改
- 下载插件:
AntiAttackRL-[版本号].jar - 先将其置入你的任一非登录服中的
plugins文件夹中 - 重启这个子服,等待初始化结束
- 将位于该子服
plugins中的AntiAttackRL.jar和AntiAttackRL文件夹一起挪到Proxy端的plugins里
4.1 若Proxy端为Velocity,则移动过去之后需将文件夹名改为anti_attack_reload - 重启服务端即可生效
- 若效果不好,请查阅下方的配置文件讲解对配置文件进行修改
- 下载插件:
AntiAttackRL-[版本号].jar - 将其置入服务端的
mods文件夹中 - 重启服务端,重启时插件可能会进行初始化,玩家数据越多,时间越长
- 若效果不好,请查阅下方的配置文件讲解对配置文件进行修改
本插件在任何上方明文支持的服务端运行时
其配置文件格式相同,均为Yaml。在同版本插件下各个选项也完全相同,但文件位置不同。
配置文件位置:
- BukkitAPI (CatServer、Folia、Mohist、Spigot、Paper等
[按字母顺序排序]):plugins/AntiAttackRL/config.yml - BungeeCord:
plugins/AntiAttackRL/config.yml - Sponge7:
config/anti_attack_reload/config.yml - Sponge8:
config/AntiAttackRL/config.yml - Velocity:
plugins/anti_attack_reload/config.yml
点击查看配置文件
AntiAttack:
AutoUpdate: false #自动更新
Broadcast:
enable: true #聊天栏提示
period: 10 #间隔
CheckUpdate: true #检查更新
PluginPrefix: "§b§l[AntiAttackRL] " #插件提示前缀
AntiCreativeSlotAttack: #防止非法发包
KickMessage: §c非法发包!怀疑你在攻击服务器,请重新登录§b[ACSA]
enable: true
AntiFastJoin: #防止单IP快速加入
DenyMessage: §c你加入过于频繁了!请稍等几秒!§b[AFJ]
Interval: 4000 #同一IP间隔多长时间允许进一个人,单位毫秒
enable: true
AntiKickAttack: #防御影分身Bug
DenyMessage: §c有一个同名玩家已经在线了!§b[AKA]
enable: true
AntiMOTDAttack: #防MOTD压测
PerIP5sLimit: 10 #同一IP,5秒内最多请求次数
Total5sLimit: 100 #全服5秒内最多请求次数
enable: true
AntiPacketFloodAttack: #自定义包规则防御
KickMessage: §c%key_packet%发包量过多,已超出上限踢出值!§b[APFA]
enable: true #是否开启
PacketLimit:
\S*: #包名,是正则表达式,如果多重匹配,则取最下面的那个
period: 500 #间隔时间,单位辜秒
cancel: 25 #在间隔时间内,允许发送此包多少个,超出限制会被拒绝
share: false #是否与其它数据包共享计数
PluginMessage:MC[]BSign:1: #包名,由于是正则表达式,所以|这种特殊字符要用门括起来
period: 1000
cancel: 1
PluginMessage:MC[]BEdit:1:
period: 1000
cancel: 1
PluginMessage:dragoncore:S*:CANCEL #如果直接写不写下面几行就写个英文单词就意味着是粗暴模式,CANCEL代表此包会永远拦截,ACCEPT代表此包永远不拦截,KICK代表只要接受到此包就直接踢出去
AntiPingAttack: #ping攻击防御
PerIPInterval: 500 #同一IP间隔多少毫秒允许ping一次
TotalInterval: 50 #全服间隔多少亳秒允许ping一次
enable: true
AntiTabCompleteAttack: #防止tab攻击,只需要低版本(1.12及以下)启用,高版本(1.13+)不需要启用,因为Tab机制改变了
PerIPInterval: 1000 #同一IP间隔多少毫秒允许发送-次TAB请求
TotalInterval: 100 #全服间隔多少毫秒允许发送-次TAB请求
enable: true
Debug: false #Debug模式
HandShakeLimiter: #握手次数限制
PerIPSecondLimit: 3
enable: true
LoggerFilter: #防止日志刷屏-将会删除
enable: true
exceptions:
- io.netty.handler.codec.DecoderException
- io.netty.handler.codec.CorruptedFrameException
RestrictMode: #反压测模式(戒备模式)
Timer: #阈值,在CountPeriod秒内允许CountLimit个新玩家进入服务器,超出限制则会拦截
CountLimit: 1 #计数限制
CountPeriod: 5 #计数周期
DenyMessage: §c服务器遭到集群压测,请稍等再登录!§b[RMTR]
enable: true
ServerInLimitTime: #玩家需要在进服后指定时间内从登录服跳转走,仅在Proxy服务端有效
KickMessage: §c你在大厅服务器里面待太久了,请重新进入服务器§b[SILT]
LobbyServers: #大厅服务器名称
- lobby1
- lobby2
StaySeconds: 30 #踢出时间(单位:秒)
enable: true
Versioning: 425 #插件版本号(请勿修改)/aat 主命令
- help 查询插件帮助
- reload 重载插件
- rm 戒备模式手动操作
- add <玩家名字> 填入记录单
- remove <玩家名字> 移出记录单
- start 立即开启戒备模式
- stop 立即关闭戒备模式
- packetTrack (*/玩家) 包追踪所有/限定 (仅Bukkit/Proxy支持 关闭直接输入/aat packetTrack)
权限只有一个:AntiAttack.admin
[ACSA] 发包异常,如正常情况下被踢出请检查发包限制的设置
[AFJ] 登陆频繁,如果误报请尝试调低防止快速加入的阈值
[AKA] 有同名玩家在线,通常是网络不佳或TPS过低导致的误报
[APFA] 发包速度太快,通常是R键整理等mod导致
[RMTR] 服务器正在受到集群压测,误报请检查反压测模式下阈值
[SILT] 在大厅服务器滞留太长时间,留意配置文件中ServerInLimitTime的设置
Tip
这部分内容并不是你一定需要理解的,而且也有一定难度。
-
输入/aat packetTrack (*/玩家) 启动包监听模式
-
此时你就可以开着 作弊端 | 修改器 | 攻击软件 进入服务器 此时后台会不断输出包类型,共有以下几种:
-
其中有
PacketClassName:、PacketID:等。它们代表了不同的平台
请到 Releases 处下载最新版本
Warning
如果在更新检测时遇到了类似javax.net.ssl.SSLHandshakeException的错误,是你网络不好连不上GitHub
不要给我开issue或反馈,一概关闭/拒收!

