Nova AntiCheat logo

Nova AntiCheat

Documentation

Nova guide

Set up Nova from start to finish

This guide walks through installation, compatible versions, configuration, staff tools and the most common problems you may need to solve.

Last reviewed on 28 July 2026.

01

Install and activate Nova

  1. Download the current Nova JAR.

    The same Nova JAR works with every server version listed below.

  2. Install a supported PacketEvents version.

    Nova requires PacketEvents and only starts with one of the versions listed below.

  3. Put both plugin JARs in the server’s plugins folder.

    Start the server once. Nova creates config/auth/auth.yml first and adds the remaining configuration files after the license is accepted.

  4. Add the license details.

    Open plugins/NovaAntiCheat/config/auth/auth.yml and enter the exact username and license-key issued for the license.

  5. Restart and read the startup log.

    Restart the server normally instead of loading either plugin while it is already running. Check the console for the Nova version, PacketEvents version and a successful license message.

Keep the key private.

Do not paste auth.yml into public chats, log files, repositories or shared configuration folders.

Required plugin

Install a tested PacketEvents version

Recommended: 2.13.0

Nova supports these PacketEvents versions: 2.11.2, 2.12.0, 2.12.1, 2.12.2 and 2.13.0. Each one has been tested with Nova. Snapshots and versions not listed here are rejected.

Download PacketEvents from its official release page and install the Spigot plugin JAR. Use 2.13.0 unless your setup requires another supported version.

PacketEvents versions can behave differently. Fully restart the server whenever you change PacketEvents or Nova.

Compatibility

Server support and client support are different

Server software Paper, Purpur and Leaf

Versions 1.21 through the 26.1 family are fully stable. Versions 1.17.1–1.20.x and 26.2 have early-stage support.

Java version Java 17 or newer

Nova requires at least Java 17. Newer server builds require the newer Java versions listed below.

Client editions Java, Bedrock and Eaglercraft

Each edition can be enabled independently. Bedrock and Eaglercraft require the integrations described below.

The server version is the Minecraft version running Nova. The client version is the version a player uses to join, either directly or through a plugin such as ViaVersion. A supported client version does not make an unsupported server version compatible.

Server support

Which server versions are stable?

Fully stable 1.21 through the 26.1 family

Recommended for production servers.

Supported — early stage 1.17.1–1.20.x and 26.2

Supported, but not yet tested as thoroughly as the stable versions.

Tested server versions

Nova was installed on all 69 server builds below: 26 Paper builds, 25 Purpur builds and 18 Leaf builds. On every build, it loaded successfully, stayed online and shut down without errors. This confirms that the plugin runs on those builds, but individual checks have not been manually tested in every possible situation on every older release.

The detailed list below ends at 1.21.11 and does not include 26.1 or 26.2. Their current support stages are shown above.

Software Versions tested
Paper
26 builds
1.17.1; 1.18–1.18.2; 1.19–1.19.4; 1.20, 1.20.1, 1.20.2 and 1.20.4–1.20.6; 1.21, 1.21.1 and 1.21.3–1.21.11
Purpur
25 builds
1.17.1; 1.18–1.18.2; 1.19–1.19.4; 1.20, 1.20.1, 1.20.2, 1.20.4 and 1.20.6; 1.21, 1.21.1 and 1.21.3–1.21.11
Leaf
18 builds
1.19.1–1.19.4; 1.20, 1.20.1, 1.20.2, 1.20.4 and 1.20.6; 1.21, 1.21.1, 1.21.3–1.21.8 and 1.21.11

Java version for each server version

Nova requires at least Java 17. Use the Java version shown for your server instead of automatically choosing the newest one installed. The same Nova JAR is used on every supported server version.

Server version Java version
1.17.1–1.19.4 Java 17
1.20–1.21.11 Java 21
26.1 and newer, including 26.2 Java 25

Other Paper-compatible server software and versions not listed here may work, but test them on a private server before using them with players.

Client support

Java, Bedrock and Eaglercraft players

Java Edition 1.8 to 26.2

Clients on 1.8–1.12.2 still work, with checks that require newer game mechanics disabled automatically.

Bedrock Edition Geyser or Floodgate

Install Floodgate or Geyser-Spigot on the Paper server running Nova so it can recognize Bedrock players and apply the correct checks.

Eaglercraft 1.8.8 u53 and 1.12.2 tested

Nova requires EaglerXServer and EaglerXBackendRPC to recognize Eaglercraft players.

Set client-checking.java, client-checking.bedrock and client-checking.eagler independently in config/main.yml. ViaVersion or another version translator can let different client versions join, but it does not add support for server versions that are not listed above.

Nova does not block client versions by default. Servers that choose to enable versionCheck can set their own allow or block rules.

Eaglercraft

Enable Eaglercraft support

Install EaglerXServer on Velocity and EaglerXBackendRPC on each Paper server running Nova. Together, they allow Nova to recognize Eaglercraft players correctly.

  1. Install EaglerXServer 1.1.0 on Velocity.

    Place the EaglerXServer JAR in the proxy’s plugins folder.

  2. Install EaglerXBackendRPC 1.1.0 on every Paper server running Nova.

    Place it in the same server plugins folder as Nova and PacketEvents.

  3. Enable backend RPC in EaglerXServer.

    In Velocity’s plugins/eaglerxserver/settings.toml, set enable_backend_rpc_api = true and use_modernized_channel_names = true.

  4. Enable Eaglercraft checking in Nova.

    Set client-checking.eagler to true in config/main.yml. The Java and Bedrock settings beside it can be switched independently when another anticheat handles one of those editions.

  5. Fully restart Velocity and every connected Paper server.

    Do not load or reload the proxy plugin, EaglerXBackendRPC, PacketEvents or Nova while the servers are running.

BackendRPC is required when Java and Eaglercraft checking use different settings.

If both settings are the same, unidentified Eaglercraft players follow the Java setting. If they differ, Nova leaves an unidentified player unchecked until BackendRPC identifies the connection. See the official EaglerXServer setup guide for the setup instructions.

Configuration

What each configuration file controls

config/auth/auth.yml

License username and key. Keep this file private.

config/main.yml

Which player types Nova checks, plus messages, staff tools, setbacks, combat mitigation, Cloud Sync and general settings.

config/checks/java-checks.yml

Settings for standard Java checks.

config/checks/java-pred.yml

Settings for Java movement prediction.

config/checks/bedrock-checks.yml

Settings for standard Bedrock checks used with Geyser or Floodgate.

config/checks/bedrock-pred.yml

Settings for Bedrock movement prediction.

config/checks/checks-shared.yml

Settings used by more than one group of checks.

config/checks/*-violations.yml

How violations are grouped and when Nova sends alerts or runs punishment commands.

config/permissions/permissions.yml

Command permissions and bypass permissions for individual checks.

config/discord/discord.yml

Settings for Nova’s Discord alerts.

Change one area at a time.

Keep a copy of the last working configuration. After editing, use /nova reload and check the console. Changes to auth.yml, Nova, PacketEvents or another required plugin need a full restart.

Staff tools

Common commands and permissions

Command Purpose Main permission
/novaShow the Nova commands you can use.nova.commands
/nova guiOpen Nova’s in-game management GUI.nova.gui
/nova verboseToggle detailed check alerts for your player.nova.verbose
/nova debug normalTurn standard check debug information on or off.nova.debug
/nova debug predictionTurn prediction debug information on or off.nova.debug
/nova checksShow AntiBot management subcommands.nova.checks
/nova freeze <player>Freeze a player for staff review.nova.freeze
/nova unfreeze <player>Release a player frozen by Nova.nova.freeze
/nova crash <player>Forcefully disconnect a player using the restricted staff command.nova.crash
/nova reloadReload Nova’s configuration.nova.reload
/nova versionShow the installed Nova version.nova.version

nova.* grants every Nova command and alert permission. Give staff only the permissions they need. Nova writes individual-check bypass permissions to permissions.yml; category and family patterns are listed in PERMISSIONS.txt.

Detection

How Nova organizes its checks

Nova groups checks into Combat, Movement, Packet, Player and World. Java players also use prediction-based movement checks, while Bedrock players use checks made for Bedrock.

Combat

Attacks, aiming, reach, clicking and combat engines.

Movement

Speed, flight, ground movement, vehicles and prediction.

Packet

Invalid or unexpected packet behavior.

Player

Inventory use, items, chat and automation.

World

Block placement, breaking and other world interactions.

Start with Nova’s default configuration. If you believe an alert is wrong, record the check name, Nova version, PacketEvents version, server version, client version and what the player was doing. Avoid disabling a whole category because of one repeatable problem.

Responses

Setbacks and combat mitigation

Normal and prediction setbacks

Normal setbacks are used by individual movement checks. Prediction setbacks return a player to a valid position when Nova cannot accept their movement. main.yml contains both global switches. In Nova’s GUI, Normal has one global switch and prediction setbacks are controlled separately for each prediction check.

Combat mitigation

Combat mitigation temporarily limits the advantage of a player who repeatedly triggers combat checks. It affects only selected hits, and normal combat gradually returns when the suspicious activity stops.

Try response settings on a private server first.

Setbacks and punishments directly affect players. Test teleports, knockback plugins, minigames and custom movement before enabling automatic punishments.

Web tools

License Panel walkthrough

Open the License Panel and enter the license username and key. The panel shows the plan, expiration date, devices and active servers for that license.

  1. Devices: review registered computers or VPSs and reset only ones you no longer use.
  2. Instances: review the Minecraft servers currently using the license.
  3. Downloads: download the Nova builds included with the plan.
  4. Security: review recent sign-ins and block a device or server you do not recognize.
  5. Alerts: configure Discord notifications for license and security events.
  6. Cloud Sync: review reputation activity when the feature is enabled on a Standard, Pro or Enterprise license.

One HWID represents one physical or virtual machine. One active instance represents one running Minecraft server. Several servers on the same machine normally use one HWID and one instance per server. Servers shown as offline do not use instance capacity.

Compatibility

Tested third-party software

The exact versions below have been tested with Nova. A future update may need to be tested again before it can be listed here.

Software Tested version Status Notes
PacketEvents 2.11.2, 2.12.02.12.2, 2.13.0 Required Each listed version has been tested with Nova; 2.13.0 is recommended. Other releases and snapshots are rejected.
DS-PearlFix 6.0 Supported Nova was tested with version 6.0.
PlaceholderAPI 2.12.3 Optional Nova adds its placeholders when this version is installed and works normally without it.
EaglerXServer and EaglerXBackendRPC 1.1.0 Compatible Used to identify Eaglercraft 1.8.8 u53 and 1.12.2 clients. Follow the Eagler setup guide.

Software not listed here may still work, but it has not been tested with Nova. Include the exact plugin version when asking for support.

PlaceholderAPI placeholders

With PlaceholderAPI 2.12.3 installed, Nova provides %nova_version%, %nova_status%, %nova_tps%, %nova_client_edition%, %nova_client_version%, %nova_checks_enabled%, %nova_ping% and %nova_average_ping%. They show basic server and player status only; they do not expose license keys, machine identity, violation history or moderation data.

Custom resource packs may need extra setup.

Some packs or their companion plugins can change movement, placement or other interactions. If problems appear, look for a compatibility option and test again without the pack. Keep it disabled if the errors continue.

Troubleshooting

Fix common problems

Nova does not start

Confirm PacketEvents starts first, its version is on the supported list above, the current Nova JAR is installed and auth.yml contains the correct username and key.

The license works on one server but not another

Open the License Panel and check both HWID and instance usage. Reset entries you no longer use, then restart the affected server with the current Nova JAR.

Movement or packet behavior changed after an update

Check PacketEvents first. A similarly named patch or snapshot may behave differently from the versions Nova supports. Install one of the listed versions, fully restart and try again.

A check flags a legitimate player

Record the check name, debug line, server and client versions, ping, TPS, nearby blocks, effects, related plugins and a short video. Try to reproduce it with Nova’s default settings before changing the check.

Configuration changes are ignored

Check the YAML indentation and the console output from /nova reload. Changes to auth.yml, the Nova or PacketEvents JAR, or the server version require a full restart.

An Eaglercraft player shows as Unknown or is not checked

Check that EaglerXBackendRPC is installed, both proxy settings are enabled and client-checking.eagler is true. BackendRPC is required when Java and Eaglercraft checking use different settings. Fully restart Velocity and Paper after making changes.

A custom resource pack causes movement or interaction errors

Reproduce without the pack first. If the pack or its companion plugin offers a compatibility setting, test that setting after a full restart. If the mismatch remains, disable the pack; this setup has not been tested with Nova.

Support asks for logs

Remove license keys, webhook URLs and private player data before sharing. Keep the version information, warnings and full error message intact.

Maintenance

Update Nova safely

  1. Back up Nova’s configuration and keep the last working JARs.
  2. Read the build notes and check whether the required PacketEvents build changed.
  3. Update a private test server first, using a copy of the live configuration.
  4. Fully restart the server. Do not replace or reload Nova or PacketEvents while it is running.
  5. Test normal combat, movement, teleports, vehicles, custom plugins, alerts, setbacks and punishments.
  6. Use the build on your live server only after startup and testing complete without errors.

FAQ

Common questions

Does Nova send Combat Engine decisions to a cloud model?

No. Combat Engine and Crystal Engine run on the Minecraft server. Nova’s online services are still used for license checks and licensed downloads.

What is Cloud Sync?

Cloud Sync is an optional Standard, Pro and Enterprise feature that shares limited reputation information with Nova’s online service. It is disabled by default and does not replace Nova’s local checks.

What is the difference between an HWID and an instance?

An HWID identifies the computer or VPS. An active instance is one running Minecraft server. Four servers on the same machine normally use one HWID and four instances; offline servers do not use instance capacity.

Can I use a different PacketEvents release?

Use one of the five versions listed above. Nova recommends 2.13.0 and does not start with snapshots or other releases.

Can I move Nova to another machine?

Yes. Remove or reset the old device through the License Panel, then authenticate the new host. Resets are for genuine migrations, not license sharing.

Do lifetime licenses guarantee permanent hosted services?

No. A lifetime license lasts while the Nova product and the online services it requires remain available, as explained in the Terms.