Installation

Requirements

  • Minecraft 1.20.6+ (Tested up to 1.21.8)
  • Paper/Spigot/Purpur server
  • PacketEvents (Required for 1.21.x)

Installation Steps

  1. Download NoChance.jar from SpigotMC
  2. Download PacketEvents if using 1.21.x
  3. Place both .jar files in your plugins folder
  4. Restart your server
  5. Configure settings via /nochance menu or config.yml
Note: PacketEvents is required for 1.21.x versions. The plugin can work without it but may cause detection issues.

Commands

/nochance menu

Open the configuration GUI

/nochance reload

Reload the configuration from config.yml

/nochance info <player>

View player statistics and trust score

/nochance violations <player>

View violation history for a player

/nochance reset <player>

Reset player data and trust score

/nochance toggle <check>

Enable or disable a specific check

/nochance stats

View global statistics

/nochance alerts

Toggle staff alert notifications

Aliases

You can use the following aliases instead of /nochance:

  • /nc
  • /ac
  • /anticheat

Permissions

nochance.admin

Access to all NoChance commands (default: op)

nochance.alerts

Receive staff alert notifications (default: op)

nochance.bypass

Bypass ALL anti-cheat checks (default: false)

nochance.bypass.<check>

Bypass specific check (default: false)

Individual Check Bypasses

nochance.bypass.fly nochance.bypass.speed nochance.bypass.noclip nochance.bypass.jesus nochance.bypass.fastbreak nochance.bypass.fastplace nochance.bypass.nuker nochance.bypass.killaura nochance.bypass.nofall nochance.bypass.autoclicker nochance.bypass.reach nochance.bypass.inventory nochance.bypass.scaffold nochance.bypass.timer nochance.bypass.velocity nochance.bypass.criticals nochance.bypass.phase nochance.bypass.step nochance.bypass.blink

Configuration

General Settings

general:
  time_window_seconds: 60
  grace_period_seconds: 5
  min_samples: 5
  op_exempt: true
  notify_player_on_flag: true

Confidence Thresholds

thresholds:
  low_confidence: 0.70
  medium_confidence: 0.85
  high_confidence: 0.95
  extreme_confidence: 0.98

Advanced Filtering

advanced_filtering:
  enabled: true
  bayesian_prior: 0.05
  z_score_threshold: 2.5
  min_trust_score: 0.3
  established_baseline_checks: 50
  established_baseline_time_seconds: 60

Punishment Actions

actions:
  kick_on_extreme_confidence: true
  kick_on_high_confidence: false
  warn_on_high_confidence: true
  warn_on_medium_confidence: true
  log_low_confidence: true

Performance Settings

performance:
  async_thread_pool_size: 4
  database_max_pool_size: 10
  database_min_idle: 2
  database_connection_timeout_ms: 30000
  database_idle_timeout_ms: 600000
  database_max_lifetime_ms: 1800000
  database_batch_size: 50
  database_batch_interval_ms: 500
  adaptive_sampling_enabled: true
  adaptive_sampling_warmup_checks: 100
  advanced_analysis_warmup_checks: 100
  advanced_analysis_strict_threshold: 500

Detection Checks

Movement Checks

Fly Check

checks:
  fly:
    enabled: true
    threshold: 4
    severity_multiplier: 2.2
    max_velocity_y: 0.52

Speed Check

checks:
  speed:
    enabled: true
    threshold: 5
    severity_multiplier: 2.8
    max_speed: 0.36
    sprint_multiplier: 1.32
    ice_multiplier: 2.6

Combat Checks

KillAura Check

checks:
  killaura:
    enabled: true
    threshold: 4
    severity_multiplier: 3.4
    max_reach: 3.2
    max_angle: 48.0
    max_rotation_speed: 650.0
    max_cps: 17.0
    cps_trusted_bonus: 2.0
    rotation_variance_threshold: 40.0
    packet_attack_rate_limit: 22

Block Checks

FastBreak Check

checks:
  fastbreak:
    enabled: true
    threshold: 10
    severity_multiplier: 1.8
    min_check_interval_ms: 25
    max_rapid_checks: 15
    trust_score_bonus: true
    require_multiple_systems: true
    base_tolerance_ms: 50
    percentage_tolerance: 0.10

Database Setup

SQLite (Default)

database:
  type: SQLITE
  table_prefix: nc_

MySQL

database:
  type: MYSQL
  host: localhost
  port: 3306
  database: nochance
  username: root
  password: your_password
  table_prefix: nc_
Note: MySQL is recommended for large servers (200+ players) with HikariCP connection pooling for optimal performance.

Discord Integration

Setup

  1. Create a webhook in your Discord server
  2. Copy the webhook URL
  3. Add it to your config.yml
discord:
  enabled: true
  webhook_url: "https://discord.com/api/webhooks/YOUR_WEBHOOK_URL"

Features

  • Rich embed messages with player info
  • Violation type and confidence level
  • Detection method details
  • Timestamp and server information
  • Color-coded by severity

API Reference

Getting the API

NoChance plugin = (NoChance) Bukkit.getPluginManager().getPlugin("NoChance");
DatabaseManager database = plugin.getDatabase();
PunishmentManager punishment = plugin.getPunishmentManager();
StaffAlertManager alerts = plugin.getAlertManager();

Accessing Player Data

PlayerData data = playerDataMap.get(player.getUniqueId());
double trustScore = 1.0 - data.getViolationRatio();
SkillLevel level = data.getSkillLevel();
int totalChecks = data.getTotalChecks();
int totalViolations = data.getTotalViolations();
double averageCPS = data.getAverageCPS();
double averageRotationSpeed = data.getAverageRotationSpeed();

Note

NoChance currently does not expose a public API for custom checks or events. The plugin is designed to work standalone with its 18 built-in detection modules.

Ready to get started?

Download NoChance and follow the installation guide

Download NoChance