• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

AntiAttackRL

来自Minecraft插件百科
跳转到导航 跳转到搜索
反攻击重制版
中文名反攻击重制版
外文名AntiAttackRL
作者原作者:乐乐(已退圈) 维护作者:林品如、 酷车手BB弹
插件类型Spigot / CraftBukkit
最新版本428
兼容服务端Bungee,WaterFall,Velocity,Spigot,PaperSpigot,Folia,Purpur,SpongeVanilla
前置插件Protocollib(仅Bukkit侧需要) VPacketEvents(仅Velocity需要)
源地址https://github.com/AntiAttackMC/AATRL_Public

AntiAttackRL插 件 介 绍

AntiAttackRL是一款免费、可靠、更新频繁、多平台的压测防御插件,可以有效地防御绝大多数的压测攻击,同时也是唯一一款能够同时支持几乎所有服务端的反压测插件


查看支持的核心

BukkitAPI 系列
* Spigot 及其分支(如 PaperPurpur 等)
* Hybrid 混合服务端
* 新式多线程服务端(如 FoliaShreddedPaper

Proxy 系列
* BungeeCordVelocityWaterfall

Sponge 系列
* Sponge7Sponge8


优势

特性

  • 防御 MOTD (集群) 压测
    • 防御 Ping (集群) 压测
    • 防御 假人 (集群) 压测
    • 防御 Tab 包高频攻击
    • 防御 Move 包高频攻击
    • 防御连点器发包崩溃漏洞
    • 防御踢人漏洞压测攻击
    • 防御频繁握手多连接攻击
    • 防御洪水 Book 包攻击
    • 防御死亡 Motd / Ping 发包攻击
    • 不会阻隔正常玩家进入服务器
    • 插件可自动更新 *
    • 可高度自定义的配置文件
    • 可以自定义发包规则限制


AntiAttack3 AntiAttackRL 其他同类防御插件
老牌,早在集群压测发迹之前便已发布更新,经验丰富。但正因如此,代码累赘 AAT 重制版,过往的经验使得 AATRL 在抵抗压测的熟练度上更上一层楼 很多时候都是第一次写反压测插件,对压测不熟悉,效果不好
戒备模式有很大问题,刚开服的几秒内压测会大量进入,被 EMP (新型压测软件)针对,难以抵抗袭击 全新的戒备模式算法,全新的代码,全新的机制,针对集群压测和各种新型攻击手段,具有卓越的防御效果 部分插件是上古时期发布的,它们对集群压测没有太大的抵抗力。其余插件对压测攻击具有防御效果,但对很多新型压测攻击几乎没有免疫力。
成群的 Bug ,不人性化的配置文件,公告信息,误报率在配置不正确下惊人,默认配置经常导致各种问题 默认配置便可以使用,误报率极低,近无 Bug ,作者即刻在线反馈修复 可能有几个月甚至几年没有进行过大更新

相对于老版 AntiAttack3 的改动

  1. 完全重写,没有半点代码来自于 AntiAttack3 ,也就没有修改一说了,不过为了使得大家容易理解,仍然对此进行解释。
  2. 戒备模式的全新算法!杜绝了刚开服成群玩家进不去或者成群压测进得去,解决了压测持续时间长便可以逐步透过戒备模式的墙的能力,支持开服便初始化戒备模式列表,不再需要提前记录和结算。
  3. 去掉了大部分逗比的耍小聪明的检测,那些检测对上古有效,但对于新的压测几乎没有什么抵抗力,还会导致误报率奇高。
  4. 比原来的算法更加高效,相较于 AAT3 来回补丁来回更新导致的代码一坨,全新写的代码易读,简洁,效果更好,优化更棒。
  5. 修复了大部分的 Bug ,包括尽管假人进不来仍然在刷屏的问题,同时修复了几个上古时代就存在的 Bug 。
  6. 更强的自定义,几乎所有玩家提示信息都可以自定义了,插件前缀也可以自定义了,所有数值都可以手动调整
  7. 针对和高效的更新,几乎可以抵抗最新的压测,并配有一劳永逸的自动更新系统*。

首次安装教程(必看)

请 务 必 安 装 本 教 程 安 装 , 否 则 可 能 导 致 插 件 不 起 作 用 !

实现BukkitAPI的服务端 (包括Spigot及其分支、各类Hybrid混合服务端、Folia、ShreddedPaper等) 安装方法

  1. 确保装有前置: ProtocoLib
  2. 下载好插件: AntiAttackRL-[版本号].jar
  3. 将插件置入plugins文件夹中
  4. 重启时,服务器可能会进行初始化,玩家数据越多,时间越长
  5. 若效果不好,请查阅下方的配置文件讲解对配置文件进行修改 ### Proxy代理端 (如BungeeCord、Velocity) 及其分支 (如WaterFall等) 安装方法 #### 若你的服务器未处于被攻击时:
  6. 下载插件: AntiAttackRL-[版本号].jar
  7. 将其置入Proxy端中的plugins文件夹中
  8. 重启服务端即可生效
  9. 若效果不好,请查阅下方的配置文件讲解对配置文件进行修改

若你的Proxy服务端正处于被攻击时:

  1. 下载插件: AntiAttackRL-[版本号].jar
  2. 先将其置入你的任一非登录服中的plugins文件夹中
  3. 重启这个子服,等待初始化结束
  4. 将位于该子服plugins中的AntiAttackRL.jarAntiAttackRL文件夹一起挪到Proxy端plugins
    4.1 若Proxy端Velocity,则移动过去之后需将文件夹名改为anti_attack_reload
  5. 重启服务端即可生效
  6. 若效果不好,请查阅下方的配置文件讲解对配置文件进行修改 ### Sponge安装方法
  7. 下载插件: AntiAttackRL-[版本号].jar
  8. 将其置入服务端的mods文件夹中
  9. 重启服务端,重启时插件可能会进行初始化,玩家数据越多,时间越长
  10. 若效果不好,请查阅下方的配置文件讲解对配置文件进行修改 ## 配置文件 本插件在任何上方明文支持的服务端运行时
    其配置文件格式相同,均为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的设置


Download & Issues

请到 Releases 处下载最新版本
> [!WARNING] > 如果在更新检测时遇到了类似javax.net.ssl.SSLHandshakeException的错误,是你网络不好连不上GitHub
> 不要给我开issue或反馈,一概关闭/拒收!