A premium, prediction-based anti-cheat and server-protection plugin for Minecraft servers.
English · Русский · Українська
Darkness Liquidation is a premium anti-cheat and protection plugin for Minecraft servers. It combines prediction-based movement validation, packet analysis, combat checks, exploit mitigation, and configurable moderation tools to help server staff detect and handle unfair play.
Darkness Liquidation is a fork of GrimAC. It builds on GrimAC's prediction-based foundation and adds its own checks, client-protection modules, administration tools, themes, punishments, and integrations.
- Java 17 or newer to run the plugin.
- A Paper-compatible server. Folia is supported.
- A valid Darkness license. Set it in
plugins/Darkness/config.ymlafter the first start. - JDK 21 or newer if you build the project from source.
- Obtain the Darkness Liquidation plugin and a valid license through the community team.
- Put
Darkness.jarinto your server'spluginsdirectory. - Start the server once to generate the configuration files.
- Open
plugins/Darkness/config.ymland enter your license inyour_license. - Review the checks, punishments, theme, logging, and integration settings.
- Restart the server or use
/darkness reloadafter changing configuration.
- Prediction-based checks for movement, combat, reach, velocity, inventory, scaffold, timer, elytra, vehicles, packets, and more.
- Packet and exploit protection against invalid packets, crash attempts, suspicious client data, blink-like behaviour, and other protocol abuse.
- Information-hiding tools that can spoof selected client-visible data and help reduce cheat-client advantages.
- Client-brand monitoring and configurable rules for suspicious or blocked clients.
- Alerts, verbose output, player profiles, performance metrics, logs, Discord webhooks, and proxy alert forwarding.
- Configurable punishments, punishment waves, staff tools, themes, and English, Russian, and Ukrainian configuration files.
- Optional integrations with ViaVersion, ViaBackwards, Geyser, Floodgate, LuckPerms, and PlaceholderAPI.
- Paper and Folia support.
Darkness Liquidation is built on the prediction-based foundation of GrimAC. Instead of relying only on simple packet limits, the engine recreates the set of movements a vanilla client could legitimately perform and compares incoming actions against that model.
- Vanilla movement simulation. The engine accounts for walking, swimming, knockback, cobwebs, bubble columns, vehicles, elytra, and other vanilla mechanics.
- Version-aware physics and collisions. It handles client/server version differences, collision order, bounding-box changes, ViaVersion replacement blocks, and version-specific block data.
- Per-player world replication. The anti-cheat builds a client-view world cache from chunk, block-place, and block-change packets. This lets checks safely evaluate packet-side and fake blocks without treating them as automatic violations.
- Latency and inventory compensation. World updates, player states, and inventory data are tracked in the order they reach the client to reduce false positives caused by latency, ghost blocks, or desynchronisation.
- Asynchronous architecture. Most movement processing and listeners run around the network pipeline, while per-player state is designed for safe concurrent access and server scalability.
- Security through accurate simulation. By validating against possible vanilla behaviour, checks aim to make invalid movement mathematically distinguishable rather than relying on obscurity alone.
Darkness provides a plugin API for integrations with custom plugins and server systems. It can be used to build extensions around Darkness events and functionality without depending on internal implementation details.
- API repository and documentation: 1hendex/DarknessAPI
The main configuration is generated under plugins/Darkness/. The bundled defaults are located in
this repository:
config/en.yml— general settings, alerts, client protection, Discord, logging, punishments, and integrations.checks/en.yml— individual anti-cheat checks and thresholds.punishments/en.yml— violation punishment rules.themes/— alert and message themes.
English, Russian, and Ukrainian variants are included. Tune settings gradually and test changes on your own server before using strict punishments in production.
The default primary command is /darkness. You can change the command names in config.yml with
command_name, for example command_name: darkness,dl; the first name becomes the primary command
and the remaining names are aliases. Restart the server after changing this setting. Arguments in
<angle brackets> are required; [square brackets] are optional.
| Command | Purpose |
|---|---|
/darkness |
Show plugin and version information. |
/darkness help |
Show the in-game help message. |
/darkness alerts |
Toggle violation alerts. |
/darkness verbose |
Toggle detailed violation output. |
/darkness brands |
Toggle client-brand notifications. |
/darkness profile <player> |
View a player's anti-cheat profile. |
/darkness topvl |
Show players with the highest violation level. |
/darkness cps <player> |
View a player's clicks per second. |
/darkness checks |
List available checks. |
/darkness checks enable <check> |
Enable a check. |
/darkness checks disable <check> |
Disable a check. |
/darkness debug [player] |
Toggle player debug output. |
/darkness consoledebug <player> |
Toggle console debug output for a player. |
/darkness perf or /darkness performance |
Toggle performance metrics. |
/darkness lag |
Show server resource and lag information. |
/darkness menu |
Open the main Darkness GUI. |
/darkness reload |
Reload the Darkness configuration. |
/darkness sendalert <message> |
Send a custom staff alert. |
/darkness bot [player] |
Spawn a test bot around yourself or a selected player. |
/darkness spectate <player> |
Start spectating a player. |
/darkness stopspectating [here] |
Stop spectating; here returns you at the current location when permitted. |
/darkness knockback <player> [back] or /darkness kb <player> [back] |
Run a knockback test. |
/darkness totem <player> |
Run the AutoTotem check. |
/darkness rotate <player> |
Rotate a player as a staff action. |
| `/darkness shuffle <one | many>` |
/darkness addpoint <player> |
Add a punishment point to a player. |
/darkness resetpoints <player> |
Reset a player's punishment points. |
/darkness punish <player> [reason] |
Apply the configured punishment. |
/darkness ban <player> [reason] |
Ban a player using the configured command. |
/darkness kick <player> [reason] |
Kick a player. |
/darkness crash <player> <method> |
Run a configured client stress-test method. Available suggestions: entity, explosion, position, particle, sound, loadworld, demo, fakelag, black, multi, inverse, chunk. |
Information Hider is configured through the InformationHider section in config.yml. It changes selected data sent to the client, reducing information exposed to cheat modules. Test options with your gameplay, resource packs, scoreboards, and other plugins.
| Settings | What they do |
|---|---|
| enabled; onlyForPlayers | Enable the module and limit it to player entities. |
| parts.health.value; random | Send a configured health value from 0 to 20, optionally randomised. Value 0 can disrupt client animations and is not recommended for normal gameplay. |
| parts.xp; air; saturation | Hide experience, air, and food-saturation values. |
| parts.ping; gamemode; seed | Mask tab-list ping, game mode, and world-seed data. |
| parts.scoreboard.enabled; patterns | Mask health values in matching scoreboards and the tab list. Patterns identify health-related objectives; this module is disabled when health value is -1. |
| parts.enchant; item_count; item_name; item_drop; durability | Mask enchantments, quantities, names, dropped-item details, and durability. |
| parts.potion; end_effect | Hide potion effects and send misleading effect packets to reduce the usefulness of cheat effect lists. |
| parts.esp_tracer.enabled; spawn_tab | Create invisible client-side decoy players for ESP tracers and boxes, optionally also in the tab list. |
| parts.inventory | Shuffle items while moving to disrupt AutoTotem and InvWalk-style automation. |
| parts.chest_loot | Briefly hide container contents when opened to disrupt ChestStealer-style automation. |
| parts.totem.enabled; spawn_tab | Enable client-side fake totem-pop decoys and choose whether they appear in tab. |
| parts.totem.mode | Use always for random combat decoys or on_totem to react to a nearby real totem pop. |
| parts.totem.totem_chance; bots; height | Configure chance in always mode, plus decoy count and vertical offset in on_totem mode. High chance values increase network and client load. |
| parts.fake_staff.enabled; only_random_name | Create client-side staff decoys; random-only names can improve compatibility but may be easier for some lists to filter. |
| parts.fake_staff.roles; bots | Configure displayed staff prefixes and the number of staff decoys. |
| parts.spectators.allowed_worlds; hide_spectators | Restrict spectator hiding to listed worlds, and hide players with darkness.spectator permission, including those not currently spectating. |
git clone https://github.com/1hendex/Darkness-Liquidation.git
cd Darkness-Liquidation
./gradlew shadowJarOn Windows, use gradlew.bat shadowJar. The shaded plugin JAR is written to:
build/libs/Darkness.jar
Source code: GitHub — recode branch
- Community and support: Darkness Liquidation Discord
- Bug reports: include the Darkness version, server software and version, Java version, relevant configuration, logs, and clear reproduction steps.
Darkness Liquidation is a fork of the open-source GrimAC project. Credit and thanks go to the GrimAC contributors for the prediction engine and the work that made this project possible. Darkness-specific code, checks, tools, and configuration are maintained by the Darkness Liquidation team.