nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)
MinerTrack Anti XRay

MinerTrack Anti XRay

Plugin

The Powerful Anti-Xray, help you auto catch X-rayers and punish them according to your configuration.

Server Game MechanicsManagementTechnologyUtility

69.8k downloads
115 followers
Filter loader...
Filter versions...
Filter channels...

1.10.1.1 - Path Handling Fix

Fixed BUG

  • Path records are incorrectly cleared when players teleport.

Recommended to update.


Happy using~

1.10.1.0 - Detection Improve

Detection Improvement

  • Add option to ignore artificial air.

Code Clear Up

  • Completely removed the code related to air monitor.

Configuration Item Changed

Before:

cave:
  air-threshold: 14        # When the number of air blocks reaches several, the player is considered to be in a cave?
  CaveAirMultiplier: 5     # If cave air is found, regarded as how many ordinary air?
  detection-range: 3       # 3 = 7x7x7, 2 = 5x5x5
  check_skip_vl: true      # VL add of whether or not to skip natural behavior
  # Prevents players from manually creating air to bypass detection.
  air-monitor:
    enable: true              # Enable or disable
    min-path-length: 10       # Minimum digging path required to perform this detection.
    air-ratio-threshold: 0.3  # Air percentage threshold (e.g., 0.3 for 30%).
    violation-increase: 1     # The value of the increase in rating after each triggered violation.
    violation-threshold: 5    # The number of ratings reached should be flagged as suspicion of deliberate creation of artificial air.
    remove-time: 20           # How long to remove this record once (in minutes)

Now:

cave:
  air-threshold: 14               # When the number of air blocks reaches several, the player is considered to be in a cave?
  CaveAirMultiplier: 5            # If cave air is found, regarded as how many ordinary air?
  detection-range: 3              # 3 = 7x7x7, 2 = 5x5x5
  check_skip_vl: true             # VL add of whether or not to skip natural behavior
  ignore-artificial-air: true     # When true, ignore recently player-created air when checking for caves
  artificial-air-remove-time: 20  # Minutes to consider broken blocks as artificial air

Recommend update to this version.

Recommend to rebuild the config.yml


Happy using~

1.10.0.3 - False Postive Fix

Fixed BUG

  • Disabled stupid air monitor to remove the incorrectly added VL. [#12]

Happy using~

1.10.0.2 - Fix Folia air monitor path handling

Fixed BUG

  • Folia air monitor path handling works incorrect. [#10] (fixed by xiaoyueyoqwq)

New Contributor


Happy using~

1.10.0.1 - Nether False Postive Hotfix

Fixed BUG

  • When player using bed to got Ancient Debris, false postive triggered after about ten minutes.

NOTE: This version changed the default parameter settings to prevent false positives, so if you are using default config, you need to manually modify the following items in nether.yml: From

  # Natural Detection
  natural-detection:
    enable: false

To

  # Natural Detection
  natural-detection:
    enable: true
    
    # Satisfying the conditions will think they are in a natural.
    cave:
      air-threshold: 14        # When the number of air blocks reaches several, the player is considered to be in a cave?
      CaveAirMultiplier: 5     # If cave air is found, regarded as how many ordinary air?
      detection-range: 3       # 3 = 7x7x7, 2 = 5x5x5
      check_skip_vl: true      # VL add of whether or not to skip natural behavior
      
      # Prevents players from manually creating air to bypass detection.
      air-monitor:
        enable: true              # Enable or disable
        min-path-length: 10       # Minimum digging path required to perform this detection.
        air-ratio-threshold: 0.3  # Air percentage threshold (e.g., 0.3 for 30%).
        violation-increase: 1     # The value of the increase in rating after each triggered violation.
        violation-threshold: 5    # The number of ratings reached should be flagged as suspicion of deliberate creation of artificial air.
        remove-time: 20           # How long to remove this record once (in minutes)

Happy using~

1.10.0 - Better Configuration & Detection Improve

Stable version released!

New Features

Configure parameters by each world
  • You can now efficiently configure detection parameters for each (or each group of) world.
    # At what height should I start detecting X-Ray?
    # All worlds not explicitly listed will follow 'all_unnamed_world'
    # If 'all_unnamed_world' not listed, worlds that are not listed do not have XRay detection.
    # Configuration will be loaded from 'Configuration/file_name.yml'
    worlds:
      'overworld': # It means overworld.yml
        - world
        - all_unnamed_world
      'nether':
        - world_nether
      'end':
        - world_the_end
    
Config Version Check
  • When there are major changes to the configuration file, the original configuration file will be backed up and put upgraded configuration.

Detection Improve

  • Improved the detect ability in multiple worlds.

Fixed BUG

  • traceBackLength unit wrong.

Other Improvements

  • Eliminated annoying compile warnings.

Added New Contributors


NOTE: After upgrading to this version, you need to re-add the configuration parameters to config.yml!


Happy using~

1.10.0-beta - Better Configuration & Detection Improve

The version on the Beta channel has already undergone initial testing. But this version is for early testing; please report any issues promptly.

New Features

Configure parameters by each world
  • You can now efficiently configure detection parameters for each (or each group of) world.
    # At what height should I start detecting X-Ray?
    # All worlds not explicitly listed will follow 'all_unnamed_world'
    # If 'all_unnamed_world' not listed, worlds that are not listed do not have XRay detection.
    # Configuration will be loaded from 'Configuration/file_name.yml'
    worlds:
      'overworld': # It means overworld.yml
        - world
        - all_unnamed_world
      'nether':
        - world_nether
      'end':
        - world_the_end
    
Config Version Check
  • When there are major changes to the configuration file, the original configuration file will be backed up and put upgraded configuration.

Detection Improve

  • Improved the detect ability in multiple worlds.

Fixed BUG

  • traceBackLength unit wrong.

Other Improvements

  • Eliminated annoying compile warnings.

NOTE: After upgrading to this version, you need to re-add the configuration parameters to config.yml!


Happy using~

1.9.0.3 - More WebHook Placeholders

Added Placeholders

  • %world% - Indicates the world the player is in.
  • %timestamp% - Timestamp of the message.

Happy using~

1.9.0.2 - Configuration Reload Fix

Fixed BUG

  • Unable to correctly update third-party language files in Translations/.
  • Configuration was not reloaded correctly sometimes.

Happy using~

1.9.0.1 - BUG Fix and Add Missed Translations

Fixed BUG

  • The kick_strike_lightning setting was not applied correctly.
  • Configuration was not reloaded correctly sometimes.

Added Missed Translations

  • Added help message about /mtrack reload.

Other Changes

  • Optimized some legacy code.

Happy using~

1.9.0 - Detection Improve

Detection Improve

  • Improved the detect ability in multiple worlds.

Fixed BUG

  • Could not pass event EntityExplodeEvent.
  • Did not handle path issues correctly when switching worlds.

Added Pre-Configured Language

Will be automatically extract to Translations folder at startup.

  • French fr.yml. (by Thomas)
  • Simplified Chinese zh_cn.yml.

Other Changes

  • Optimized some legacy code.
  • Removed stupid and useless explosion detection.

We recommend everyone update to this version.


Happy using~

1.9.0-beta - Detection Improve

The version on the Beta channel has already undergone initial testing. But this version is for early testing; please report any issues promptly.

Detection Improve

  • Improved the detect ability in multiple worlds.

Fixed BUG

  • Could not pass event EntityExplodeEvent.
  • Did not handle path issues correctly when switching worlds.

Other Changes

  • Optimized some legacy code.
  • Removed stupid and useless explosion detection.

Happy using~

1.8.0.3 - Discord WebHook Fix

Discord WebHook Fix

  • Fixed an issue where webhooks would turn non-ASCII characters into ? when sending them.
  • Fixed the issue where WebHook configuration wouldn't reload incorrectly.

Other Changes

  • Optimized some legacy code.

Happy using~

1.8.0.2 - Better VL System & Discord WebHook Fix

Better Reset Command

  • Now, resetting a player's VL will also reset the previous tracking records.

Better Record System

  • Player information is now stored separately for each person.

Discord WebHook Fix

  • Fixed the UnsupportedOperationException bug on Folia.

Other Changes

  • Optimized some legacy code.

Happy using~

1.8.0 - Detection Improve & Multi-command Support

Detection Improvement

  • Significantly enhanced the detection capability for small mineral veins, and is now fully usable for ancient debris X-ray.
  • Enhanced some of the previously legacy detection code.

Multi-command Support

  • Now supports two command formats:

    • One VL, one command:

      2: 'minertrack notify &f%player% &7triggered &fX-Ray &7detection [&cVL: 2&7]'
      
    • One VL, multiple commands:

      5:
        - 'minertrack kick %player% X-Ray'
        - 'minertrack notify &f%player% &7was kicked for &fX-Ray'
      

    Full default config of command:

    # Commands executed at specified violation thresholds
      commands:
        2: 'minertrack notify &f%player% &7triggered &fX-Ray &7detection [&cVL: 2&7]'
        4: 'minertrack notify &f%player% &7triggered &fX-Ray &7detection [&cVL: 4&7]'
        5:
          - 'minertrack kick %player% X-Ray'
          - 'minertrack notify &f%player% &7was kicked for &fX-Ray'
    

    We recommend everyone update to this version.


    Happy using~

1.7.7 - Update Checker Enhance

Enhanced Features

  • Enhanced Version Parsing & Comparison: Supports more version formats including:

    • x.x.x (e.g., 1.2.3)
    • x.xx.xx (e.g., 2.10.15)
    • x.x.x.x (e.g., 3.4.5.6)
    • Pre-release tags like -alpha, -beta, and numeric suffixes (e.g., 1.5.0-beta.2).
  • Smart Version Comparison Logic: Correctly handles semantic version ordering:

    • 1.10.0 > 1.9.15
    • Stable releases > beta > alpha
    • 1.0.0-beta.2 > 1.0.0-beta.1
  • Configurable Update Channels: Controlled via update-check-channel in config.yml:

    • stable: Only notify about stable (non-pre-release) updates.
    • beta: Notify about stable and beta updates.
    • alpha: Notify about stable, beta, and alpha updates.
  • Dynamic Update Detection: Now evaluates updates in real-time based on the current channel setting—no stale cache after /mtrack reload.


Expected that the detection capabilities will be enhanced in the next version.


Happy using~

1.7.6 - Enhanced User Experience

Enhanced Features

  • Log System Enhanced
    • You can now click to update the text to download the latest version.
    • Switch to Modrinth API.
  • Placeholder Tips
    • Related placeholders have been added above each configurable item where can use placeholders. (Comments do not support automatically adding updates.)

Happy using~

1.7.5 - Ingame Logs Viewer

New Features

  • Ingame Logs Viewer
    • Use /mtrack logs <log file.log> to view log file.
    • Permission node: minertrack.logs

Recommend to rebuild the language.yml


Happy using~

1.7.4 - Update Checker Fix

Fixed BUG

  • ​Update checks failed when plugin loading will make plugin couldn't load. [#7]
  • When checking update, get version info twice.
  • When check_update: false, still get the update information when plugin loading.

We recommend everyone update to this version to prevent your server's Internet bad to lose the Anti-XRay protect.


Happy using~

Fixed BUG

  • ​ language.yml is not reloaded correctly when using /mtrack reload.
  • Scheduler error when loading plugin [#6] (on 1.19.4 and earlier)
    • Use reflection to call the Folia logic to make sure there are no issues.

Improvements

  • Artificially created air can now be detected to prevent bypassing the check.
  • When the plug-in is not enabled, the scheduled task will be canceled.

We recommend everyone update to this version.


Happy using~

External resources


Project members

Author87668

Member


Technical information

Project ID