本帖最后由 583736449 于 2018-6-11 23:21 编辑
ServerCracherFixer
修复部分作弊客户端的崩服功能(仅限1.8)
前言
前段时间给别人做小游戏服,遇见个开 JIGSAW 的杂`种。
进服就是一顿卡服导致玩家掉线,然后自己也掉线...
然后经过短暂的测试发现是通过发送 PacketPlayInCustomPayload 导致服务器崩溃。
并且可以绕过 AAC 以及 ViaVersion 的检测。。。
我在站内没有搜到关于这个漏洞的解决插件,然后就自己写了个。
这个问题在 1.9+ 的版本已经修复了刚刚测试 1.9.4 单端也会崩 hhhh。
截图

下载
本插件需要 PacketListenerAPI 作为前置
ServerCrasherFixer.jar
(4.28 KB, 下载次数: 237)
配置
复制代码
开源
复制代码来自群组: HAYO Studio
ServerCracherFixer
修复部分作弊客户端的崩服功能(仅限1.8)
前言
前段时间给别人做小游戏服,遇见个开 JIGSAW 的杂`种。
进服就是一顿卡服导致玩家掉线,然后自己也掉线...
然后经过短暂的测试发现是通过发送 PacketPlayInCustomPayload 导致服务器崩溃。
并且可以绕过 AAC 以及 ViaVersion 的检测。。。
我在站内没有搜到关于这个漏洞的解决插件,然后就自己写了个。
截图

下载
本插件需要 PacketListenerAPI 作为前置

配置
- # 数据包长度阈值
- threshold-per-packet: 30000
- # 踢出信息
- kick-message: '&4非法操作 &c(InvalidPacket)'
开源
- package me.skymc.servercrasherfixer;
- import org.bukkit.Bukkit;
- import org.bukkit.entity.Player;
- import org.bukkit.scheduler.BukkitRunnable;
- import org.inventivetalent.packetlistener.handler.PacketHandler;
- import org.inventivetalent.packetlistener.handler.ReceivedPacket;
- import org.inventivetalent.packetlistener.handler.SentPacket;
- /**
- * @author sky
- * @Since 2018-06-11 22:00
- */
- public class Packet extends PacketHandler {
- @Override
- public void onSend(SentPacket packet) {
- }
- @Override
- public void onReceive(ReceivedPacket packet) {
- if (packet.getPacketName().equals("PacketPlayInCustomPayload")) {
- Object packetDataSerializer = packet.getPacketValue("b");
- try {
- int size = (int) packetDataSerializer.getClass().getMethod("readableBytes").invoke(packetDataSerializer);
- if (size > Main.getInst().getConfig().getInt("threshold-per-packet")) {
- packet.setCancelled(true);
- // 在我服会被 AAC 提前踢走,保险起见写上这个。
- Player player = Bukkit.getPlayerExact(packet.getPlayername());
- if (player != null) {
- new BukkitRunnable() {
- @Override
- public void run() {
- player.getWorld().strikeLightningEffect(player.getLocation());
- player.kickPlayer(Main.getInst().getConfig().getString("kick-message").replace("&", "§"));
- }
- }.runTask(Main.getInst());
- }
- }
- } catch (Exception ignored) {
- }
- }
- }
- }
排版优良!开源点赞!沙发坐定!
MCBBS有你更精彩!板凳坐定!
前排,支持原创
支持1.7.10就好了
cp666 发表于 2018-6-28 19:00
支持1.7.10就好了
有点尴尬
站内没有前置吗?点进去一直Loading Download...
太棒了,服务器刚被弱 智用j端崩,终于找到插件了!!!
2544673738 发表于 2018-8-20 00:28
太棒了,服务器刚被弱 智用j端崩,终于找到插件了!!!
找到你了awa
972063175 发表于 2018-7-5 16:42
站内没有前置吗?点进去一直Loading Download...
https://github.com/Inventivetale ... /tag/3.7.0-SNAPSHOT
使用这个网址下载
这个插件很好~服务器刚好用得上
所以说对MOD有用吗