
VeinGuard
Easy-to-use Xray detection plugin that alerts staff to excessive ore mining. Fully configurable!
- Загрузки
- 481
- Подписчики
- 2
- Обновлён
- 14 июня 2026 г.
- Лицензия
- MIT
Опубликован 17 января 2026 г.

VeinGuard is a robust, lightweight anti-xray solution designed to help server administrators identify and monitor suspicious mining patterns in real-time. By tracking specific block breaks and analyzing player behavior, VeinGuard provides the tools necessary to maintain a fair gaming environment without compromising server performance.
Unlike traditional anti-xray plugins that obfuscate blocks, VeinGuard focuses on behavioral detection, giving staff the evidence they need to take action.

🛡️ Core Detection & Analysis
- Intelligent Tracking: Monitors specific block types (configured by you) and calculates break rates over customizable timeframes.
- Violation Level (VL) System: Assigns a "suspicion score" to players based on their mining activity. VL decays over time but triggers automated actions when thresholds are met.
- Mining Incident Model: Groups consecutive alerts into single "incidents" for a cleaner, more accurate overview of mining sessions.
- Anti-Spam Logic: Configurable cooldowns per block or per alert ensure your staff aren't overwhelmed by repetitive notifications.
📢 Multi-Channel Alerts
- In-Game Notifications: Instant alerts via Chat or Action Bar for online staff.
- Discord Integration: Seamless webhook support to log alerts directly to your staff channels.
- Console Logging: Detailed logs for administrative review.
- Automated Actions: Execute custom commands (e.g., mute, freeze, or kick) automatically when a player reaches a specific violation threshold.
🕵️ Staff Tools & Investigation
- Advanced Patrol System: Cycle through online players in Spectator mode with an automated UI and boss bar tracking.
- Detailed Player Reports: Generate instant reports showing exact block counts and highlighted violations.
- History & Leaderboards: Access a persistent database (SQLite/MySQL) to view historical mining data and top violators over time.
- Staff Utility: Easily mute alerts for specific players or toggle your own notification visibility.
⚙️ Customization & Integration
- Dynamic Configuration: Reload settings and language files on-the-fly without restarting the server.
- Granular Bypasses: Exempt players via permissions globally or for specific materials.
- WorldGuard Support: Use the
veinguard-checkcustom flag to enable or disable tracking in specific regions. - Smart Filtering: Automatically ignores players in Creative mode, specific worlds, or above a defined Y-level.

📋 Requirements
- Java: Version 17 or newer.
- Platform: Spigot, Paper, Purpur (1.21+), or any compatible fork.
- Version: Minecraft 1.18+ (Spigot/Paper).
🚀 Quick Start
- Download: Grab the latest
.jarfrom Spigot, Modrinth, Hangar, or GitHub. - Install: Drop the file into your server's
plugins/directory. - Initialize: Start the server to generate the default configuration files.
- Configure: Adjust
config.ymlandlang.ymlto your preference. - Apply: Run
/vg reloadto apply changes instantly.

📖 How to Use
VeinGuard is designed to be intuitive for both administrators and staff. Below is a guide on how to get the most out of the plugin.
👑 For Server Owners & Admins
- Define Tracked Blocks: Open
config.ymlto specify which blocks VeinGuard should monitor (e.g.,DIAMOND_ORE,ANCIENT_DEBRIS). We have already provided a list of common blocks. - Set Thresholds: Configure the
thresholdfor each block. If a player breaks more than the threshold within the timeframe, an alert is triggered. - Configure Automated Actions: Use the Violation Level (VL) system to execute commands automatically (e.g.,
/kickor/freeze) when a player reaches a certain suspicion level. - Manage Regions: Use WorldGuard flags (
veinguard-check: deny) to disable tracking in areas like public mines or other areas where a player shouldn't be tracked.
👮 For Staff & Moderators
- Monitor Alerts: Keep an eye on in-game chat or Discord. Alerts group consecutive breaks into "Incidents" to prevent spam.
- Real-Time Investigation: Use
/vg check <player>to see a player's recent mining activity and current break rates. - Review History: Use
/vg history <player>to pull historical data from the database, even if the player is offline. - Active Patrol: Use
/vg patrol startto automatically cycle through online players in Spectator mode. The Boss Bar will keep you informed of their status. - Manage Notifications: Use
/vg toggle-alertsto hide notifications if you're busy, or/vg mute <player>to silence a specific (trusted) user.
👤 For Players
- Fair Play: Just play normally! VeinGuard is designed to ignore natural mining patterns and only flags highly suspicious, repetitive behavior.
- Privacy: Staff can only see mining statistics for tracked blocks; your other activities remain private.
🔍 Anatomy of a Mining Incident
To better understand how VeinGuard protects your server, let's walk through a typical detection scenario:
- The Trigger: A player mines a tracked block (e.g., Diamond Ore). VeinGuard immediately records this event in its internal cache.
- Threshold Check: If the player mines more blocks than allowed within your configured
timeframe(e.g., 15 diamonds in 5 minutes), an Alert is triggered. - Data Processing:
- In-Game: Staff receive a notification (Chat or Action Bar).
- Discord: A webhook sends detailed info (coordinates, light level, etc.) to your staff channel.
- Database: The incident is logged to the persistent database (SQLite or MySQL).
- Violation Levels (VL):
- Each alert adds to the player's VL score (based on the block's "weight").
- VL Decay: If the player stops mining suspiciously, their VL will naturally decrease over time.
- Automated Action: If the player's VL reaches a specific threshold (e.g., 50 VL), VeinGuard executes your pre-defined Violation Action (e.g.,
/kickor/freeze). - Staff Investigation:
- Real-time: Staff use
/vg check <player>to see the total number of tracked blocks they've mined in the last configured timeframe. - History: Staff use
/vg history <player>to review past incidents starting with the most recent, also displaying details such as block counts, coordinates, and timestamps. - Verdict: Staff can then teleport to the location or use
/vg patrolto monitor the player.
- Real-time: Staff use

Expand for Commands & Permissions
🔑 Permissions Overview
veinguard.admin— Full access to all plugin features and commands.veinguard.mod— Standard moderator access. Includes:veinguard.notify,veinguard.bypass,veinguard.command.check,veinguard.command.help,veinguard.command.history,veinguard.command.top,veinguard.command.toggle-alerts,veinguard.command.tracked-blocks.list.
veinguard.notify— Receive in-game alert notifications.veinguard.bypass— Complete exemption from tracking.veinguard.bypass.[MATERIAL]— Exemption for a specific block (e.g.,veinguard.bypass.DIAMOND_ORE).veinguard.unmute— Permission to unmute players.veinguard.resetall— Permission to reset tracking for all players.veinguard.update— Receive update notifications on join.
💻 Commands
| Command | Permission | Description | Example Usage |
|---|---|---|---|
/vg help [page] |
veinguard.command.help |
Displays a detailed list of all available commands and their usage. | /vg help 2 |
/vg check <player> |
veinguard.command.check |
Opens a real-time report of a player's recent mining activity, including exact block counts. | /vg check Notch |
/vg history <player> [time] |
veinguard.command.history |
Retrieves historical mining incidents from the database for investigation of offline players. | /vg history Notch 24h |
/vg top [time] |
veinguard.command.top |
Displays a leaderboard of players with the highest violation levels, block counts, and total alerts triggered. | /vg top 7d |
/vg patrol <action> |
veinguard.command.patrol |
Manage the automated staff patrol: start, stop, pause, resume, next, or back. |
/vg patrol start |
/vg msg <player> <msg> |
veinguard.command.msg |
Sends a formatted plugin message to a player (useful for automated violation actions). | /vg msg Notch Fair play only! |
/vg staffmsg <msg> |
veinguard.command.staffmsg |
Broadcasts an administrative message to all staff members with notification permissions. | /vg staffmsg Checking Notch. |
/vg mute <player> |
veinguard.command.mute |
Silences all future alert notifications for a specific player (e.g., for trusted members). | /vg mute Notch |
/vg unmute <player> |
veinguard.command.unmute |
Restores alert notifications for a previously muted player. | /vg unmute Notch |
/vg toggle-alerts [player] |
veinguard.command.toggle-alerts |
Toggles your own alert visibility or manages it for another staff member. | /vg toggle-alerts |
/vg tracked-blocks <add/list/remove> |
veinguard.command.tracked-blocks.[add/list/remove] |
Real-time management of which blocks are being monitored by the system. | /vg tracked-blocks add DIAMOND_ORE 15 Diamond Ore |
/vg reload |
veinguard.command.reload |
Hot-reloads all configuration and language files without requiring a server restart. | /vg reload |
/vg reset <player> |
veinguard.command.reset |
Completely clears a specific player's current break history and Violation Level (VL). | /vg reset Notch |
/vg resetall |
veinguard.command.resetall |
Wipes active tracking data and VL scores for all online players simultaneously. | /vg resetall |
/vg purge <time> [player] |
veinguard.command.purge |
Manually removes old historical data from the database to keep it optimized. | /vg purge 30d |
🔗 Useful Links
- 📖 Documentation & Wiki: Detailed guides and configuration help.
- 🐞 Issue Tracker: Report bugs or suggest new features.
- 💬 Discord Support: Get help and stay updated.
- 📊 Plugin Metrics: View our anonymous usage statistics.
Ченджлог
2.0.0Релиз26.1.1, 26.1.2, 26.2 · 14 июня 2026 г.
- Violation Level (VL) System: A new suspicion-based scoring system that tracks player behavior over time and triggers automated actions when thresholds are met.
- Mining Incident Model: Intelligent alert grouping that combines consecutive breaks into single sessions for cleaner logs and more accurate investigation.
- New Investigation Commands:
/vg history <player>: View a player's past mining sessions from the persistent database./vg top: See a leaderboard of the most active/suspicious players on your server./vg purge: Easily manage database size by removing old historical records./vg staffmsg: Coordinate with other staff members instantly.
- MySQL & MariaDB Support: Synchronize mining data across your entire network with full MySQL support alongside the standard SQLite.
- Discord Integration: Improved webhook reliability with secure data escaping and detailed alert formatting.
- Automated Database Cleanup: New background tasks to keep your database optimized automatically.
- In-Game Management: Add, remove, or list tracked blocks and manage multipliers directly through commands.
- Performance Optimizations: Asynchronous logging and database operations ensure zero impact on server TPS.
1.1.6Релиз26.1, 26.1.1, 26.1.2 · 31 мая 2026 г.
- Support for 26.1+
- Updated WorldGuard dependency to v7.0.17.
- Fixed 'veinguard-check' WorldGuard flag not being registered on newer versions of WorldGuard and MC 26.1+.
- Fixed a NoClassDefFoundError console stack trace when starting the plugin on a server without WorldGuard installed.
1.1.5Релиз1.21.9, 1.21.10, 1.21.11 · 21 февраля 2026 г.
- Added Automated Player Patrol system with interactive controls (/vg patrol).
- Added patrol boss bar with countdown timer and current/next player information.
- Added WorldGuard integration via the 'veinguard-check' custom region flag.
- Added granular bypass permissions (veinguard.bypass.).
- Added pagination support for the help command (/vg help [page]).
- Updated requirements to Java 17 and Minecraft 1.18+.
- Internal refactor for better performance and experimental API support.
- Improved patrol cleanup and session stability.
For a full list of all technical changes, visit: https://github.com/JerrysPlugins/veinguard/releases/tag/v1.1.5
1.1.4Релиз1.21.9, 1.21.10, 1.21.11 · 7 февраля 2026 г.
- Added new sub-command '/vg tracked-blocks <add,list,remove>' for changing tracked-blocks while in-game.
- Added an action bar alert message which can be changed in config.yml.
- Added alert delivery type config option to switch between chat and action bar.
- Added cooldown type to change between cooldown type of per block or per alert.
- Clean up of config.yml comments for better readability.
- A full list of changes can be viewed on the Github repository.
1.1.3Релиз1.21.9, 1.21.10, 1.21.11 · 29 января 2026 г.
- Added new configurable alert sound that will play when an alert is triggered. Player must have permission 'veinguard.notify' to receive. Sound and options configurable in config.yml
- Added compatibility with the following Minecraft versions: 1.17.x, 1.18.x, 1.19.x, 1.20.x, 1.21.x
- Removed original update available message and replaced with new update message list in lang.yml.
- New lang version '5'.
- New config version '5'.
1.1.2Релиз1.21.9, 1.21.10, 1.21.11 · 24 января 2026 г.
- This version marks the end of BETA, release is considered stable.
- Complete re-write of plugin Logger.
- Separated command dispatching into new class CommandDispatcher.
- Separated suspect report creation into new class BlockReport.
- Separated alert logic out of all other classes, all alert functionality now lies in AlertManager.
- Command overhauled into CommandManager with sub command class for each sub command.
- Removed all original 'veinguard-usage-command' messages and replaced with 'command-usage' that is completed via '{usage}' variable.
- New config option 'staff-join-violation-alert' that notifies staff upon joining the server with how many players currently have a block violation. Requires permission 'veinguard.notify'
- Fix for Discord webhook not being hot reloadable.
- Implemented asynchronous cleanup task that removes any block break entries older than the check interval + 2 minutes. Runs every 15 minutes.
- Multiple small bug fixes.
- Major clean up of code.
1.1.1-BETAБета1.21.9, 1.21.10, 1.21.11 · 23 января 2026 г.
- UpdateChecker will now read from GitHub and only call update available if latest version is greater than current version.
- Discontinued Spigot update checker due to inconsistent API responses.
- Cleaned up.
1.1.0-BETAБета1.21.9, 1.21.10, 1.21.11 · 22 января 2026 г.
- Added config option 'show-update-notice' to enable and disable in-game chat version notice.
- Fix for update checker not returning the actual latest version.
- New config version '3'
Комментарии
Загружаем…