1.1.0
Compatibility
Changes
đ Update v1.1.0 - The Anti-Spam Revolution!
The largest and most technical update to QL-AntiDisconnectSpam to date.
In this version, we completely rebuilt how the plugin interacts with Minecraft's networking. We now guarantee not only that players are protected from false-positive kicks, but also that your server console remains 100% free of hardcoded spam messages.
⨠Major New Features
- đĄ Native PacketEvents Integration (Optional): We no longer just "hide" the kick! If you have PacketEvents installed, the plugin will now inject fake KeepAlive packets directly into the server's network pipeline (Netty) during lag spikes. This genuinely resets the player's disconnection timers, legitimately saving their connection.
- đĢ Absolute Console Filter (Log4j): We developed a shield that hooks directly into the Java console engine. This completely eradicates annoying hardcoded Spigot/Paper native messages (like the infamous
was kicked due to keepalive timeout!). Your console will be cleaner than ever.
đ ī¸ Fixes & Optimizations
- đ End of "Out-of-Order" Loops: Fixed a critical issue where players with high latency would enter a loop of false kicks when sending their actual KeepAlive packets late. The plugin now intelligently detects and silently cancels these events without flooding the network.
- ⥠Smart Injection (Cooldown): Implemented an Anti-Flood system. The plugin will now never inject more than one lifeline packet every 3 seconds per player, protecting your Netty channels from overload.
- đ¨ Improved Console Logging: Debug messages in the console now support native color codes to improve readability for administrators.
- â Expanded Support: Verified and fully optimized to run flawlessly on the latest Paper environments (1.20.6, 1.21.1, Build 26.2+).
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:oOcPysUP:yjHnbU07"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:oOcPysUP:yjHnbU07"
}

