NOTE: The image above shows the alert displayed when a potential cheater is detected.
⛏️ MINEALERT The Ultimate Anti-X-Ray Solution
⚡ Immediate Protection. Zero Lag. Maximum Accuracy.
MineAlert is a lightweight and fully customizable
Anti-X-Ray plugin that monitors player mining behavior to detect suspicious activity in real time.
Fast, precise, and incredibly efficient — the perfect drop‑in solution to keep your server fair and balanced.
Optimized Performance: Fully asynchronous operations ensure zero TPS impact.
Customizable Settings: Easily adjust thresholds, alerts, and messages.
Interactive GUI/Menu: Visualize player logs and statistics through a simple graphical interface.
Database Support: Compatible with SQLite, MySQL, and MariaDB.
Multi-Language Ready: Ships with English and Italian translations.
INVESTIGATION TOOLS
Quickly review any player’s mining statistics and suspicious finds directly in-game using our text logs or the GUI.
NOTE: The image shows the output of the /minealert checklogs command (GUI view).
COMMANDS
Access all commands and their permissions directly in-game using:
Code (Text):
/minealert ?
Main commands include:
Code (Text):
/minealert checklogs <player>
– **Opens the interactive GUI** to display a detailed, filterable view of a player's mining stats and infractions.
Code (Text):
/minealert recentlogs <player>
– Displays a comprehensive **text log** of a player's mining statistics and recorded cheating infractions.
Code (Text):
/minealert reload
– Instantly reloads the plugin configuration.
Code (Text):
/minealert ?
– Lists all accessible commands.
⚙️ CONFIGURATION FILES
Below are complete previews of the plugin’s main configuration files.
Code (Text):
# ================================================================
# MineAlert - Main Configuration
# ================================================================
# Supports color codes using '&' and HEX colors using '#RRGGBB'.
# ================================================================
# -------------------------------------------------------------------------------------------------
# We support 'en' and 'it', but if you want to add your own language, create a file in localization/messages_yourlanguage.yml
# -------------------------------------------------------------------------------------------------
Locale: en
# ------------------------------------------------
# BLOCK SETTINGS
# ------------------------------------------------
# Blocks to track when broken by players.
# Use valid Minecraft material names (UPPERCASE).
# ------------------------------------------------
blocks:
- DIAMOND_ORE
- DEEPSLATE_DIAMOND_ORE
- ANCIENT_DEBRIS
# ------------------------------------------------
# ALERT CONDITIONS
# ------------------------------------------------
# max-blocks: number of tracked blocks broken before an alert triggers.
# time-window-ms: time (in milliseconds) in which the player must break
# those blocks to trigger the alert.
# ------------------------------------------------
max-blocks: 10
time-window-ms: 120000
# ------------------------------------------------
# ALERT MESSAGE
# ------------------------------------------------
# Placeholders:
# %player% - Player name
# %block% - Block name
# %world% - World name
# ------------------------------------------------
alert-msg: "&c[ALERT] &6%player% &chas found &6%block% &cin &6%world% &cduring a short period of time&7!"
# ------------------------------------------------
# DEBUG SETTINGS
# ------------------------------------------------
# Enable specific sections like: Debug: [alerts, tracking]
# Leave empty for normal use.
# ------------------------------------------------
debug: [ ]
# ------------------------------------------------
# CONFIG VERSION, DO NOT MODIFY IT!
# ------------------------------------------------
version: 1
Code (Text):
# !-----------------------------------------------------------------------------------------------!
# Welcome to the localization file.
# !-----------------------------------------------------------------------------------------------!
#
#
# 1) COLOR CODES are supported with the '&' character.
# - For usage, see http://minecraftwiki.net/wiki/Formatting_codes
# - When you use them, place quotes around the message like this: "Hello &cworld."
# - To use HEX colors, use #123456 syntax: "Hello #123456world."
#
# 2) TO HIDE any message, set it to 'none'.
#
# 3) JSON is supported. Prepend the message with [JSON].
#
# 4) JAVASCRIPT NOTICE: Some of our messages are just-in-time compiled with JavaScript.
# Those typically have variables such as "self" inside of them. IF YOU CANNOT CODE
# in JavaScript, be extra careful and do not remove () brackets or the variables!
#
# !-----------------------------------------------------------------------------------------------!
# -------------------------------------------------------------------------------------------------
# Messages related to commands
# -------------------------------------------------------------------------------------------------
Commands:
Error: "&4&lOups! &cThe command failed :( Check the console and report the error."
Header_No_Subcommands: "&cThere are no arguments for this command."
Header_No_Subcommands_Permission: "&cYou don't have permissions to view any subcommands."
Header_Color: GOLD
Header_Secondary_Color: RED
Header_Format: "&r\n{theme_color}&m<center>&r{theme_color} {title} &m\n&r"
# Must be exactly one letter
Header_Center_Letter: "-"
Header_Center_Padding: 120
Reloading: "reloading"
Disabled: "disabled"
Use_While_Null: "&cCannot use this command while the plugin is {state}."
Cannot_Autodetect_World: "Only living players can use ~ for their world!"
Incompatible: "This command requires Minecraft {0} or greater."
Toggled_Plugin_Part: "'&7You are ' + (ignoring ? '&2no longer' : '&cnow') + ' &7ignoring {0}.'"
Use_Alternative_Header: false
Alternative_Header: "&c{plugin_name}: &7Type '/{0} ?' to see all commands."
No_Console: "&cYou may only use this command as a player."
No_BungeeCord: "You need BungeeCord enabled use this feature."
Console_Missing_Player_Name: "When running from console, specify player name."
Cooldown_Wait: "&cWait {duration} second(s) before using this command again."
Invalid_Argument: "&cInvalid argument. Run &6/{label} ? &cfor help."
Invalid_Sub_Argument: "&cInvalid argument. Run '/{label} {0}' for help."
Invalid_Argument_Multiline: "&cInvalid argument. Usage:"
Invalid_Time: "Expected time such as '3 hours' or '15 minutes', got: '{input}'"
Invalid_Number: "The number must be a whole or a decimal number. Got: '{input}'"
Invalid_String: "&cInvalid string. Got: '{input}&c'"
Invalid_World: "Invalid world '{world}'. Available: {available}"
Label_Authors: "Made by"
Label_Description: "&c&lDescription:"
Label_Optional_Args: "optional arguments"
Label_Required_Args: "required arguments"
Label_Usage: "&c&lUsage:"
Label_Help_For: "Help for /{label}"
Label_Subcommand_Description: " &f/{label} {sublabel} {usage+}{dash+}{description}"
Help_Tooltip_Description: "&7Description: &f{description}"
Help_Tooltip_Permission: "&7Permission: &f{permission}"
Help_Tooltip_Usage: "&7Usage: &f"
Reload_Description: "Reload the configuration."
Reload_Started: "Reloading plugin's data, please wait.."
Reload_Success: "&6{plugin_name} {plugin_version} has been reloaded."
Reload_Fail: "&4Oups, &creloading failed! See the console for more information. Error: {error}"
Reload_File_Load_Error: "&4Oups, &cthere was a problem loading files from your disk! See the console for more information. {plugin_name} has not been reloaded."
Debug_Description: "ZIP your settings for reporting bugs."
Debug_Preparing: "&6Preparing debug log..."
Debug_Success: "&2Successfuly copied {amount} file(s) to debug.zip. Your sensitive MySQL information has been removed from yml files. Please upload it via ufile.io and send it to us for review."
Debug_Copy_Fail: "&cCopying files failed on file {file} and it was stopped. See console for more information."
Debug_Zip_Fail: "&cCreating a ZIP of your files failed, see console for more information. Please ZIP debug/ folder and send it to us via ufile.io manually."
Perms_Description: "List all permissions the plugin has."
Perms_Usage:
Perms_Header: "Listing All Plugin Permissions"
Perms_Main: "Main"
Perms_Permissions: "Permissions:"
Perms_True_By_Default: "&7[true by default]"
Perms_Info: "&7Info: &f"
Perms_Default: "&7Default? "
Perms_Applied: "&7Do you have it? "
Perms_Yes: "&2yes"
Perms_No: "&cno"
Region_Set_Primary: "Set the primary region point."
Region_Set_Secondary: "Set the secondary region point."
# -------------------------------------------------------------------------------------------------
# Messages related to paginator splitting command help into multiple pages
# -------------------------------------------------------------------------------------------------
Pages:
No_Page_Number: "&cPlease specify the page number for this command."
No_Pages: "&cYou do not have any pages saved to show."
No_Page: "Pages do not contain the given page number."
Invalid_Page: "&cYour input '{input}' is not a valid number."
Go_To_Page: "&7Go to page {page}"
Go_To_First_Page: "&7Go to the first page"
Tooltip:
- "&7You can also navigate using the"
- "&7hidden '/#flp <page> command.'"
# -------------------------------------------------------------------------------------------------
# Messages related to players
# -------------------------------------------------------------------------------------------------
Player:
Not_Online: "&cPlayer {player} &cis not online on this server."
Not_Played_Before: "&cPlayer {player} &chas not played before or we could not locate his disk data."
Invalid_UUID: "&cCould not find a player from UUID {uuid}."
# -------------------------------------------------------------------------------------------------
# Messages related to menus
# -------------------------------------------------------------------------------------------------
Menu:
Cannot_Open_During_Conversation: "&cType 'exit' to quit your conversation before opening menu."
Item_Deleted: "&2The {item} has been deleted."
Error: "&cOups! There was a problem with this menu! Please contact the administrator to review the console for details."
Page_Previous: "&8<< &fPage {page}"
Page_Next: "Page {page} &8>>"
Page_First: "&7First Page"
Page_Last: "&7Last Page"
Title_Tools: "Tools Menu"
Tooltip_Info: "&fMenu Information"
Button_Return_Title: "&4&lReturn"
Button_Return_Lore:
- ""
- "Return back."
# -------------------------------------------------------------------------------------------------
# Messages related to player conversation where server is waiting for his chat input
# -------------------------------------------------------------------------------------------------
Conversation:
Not_Conversing: "&cYou can only use this command when you are asked to type something in the chat."
Requires_Player: "Only players may enter this conversation."
Error: "&cOups! There was a problem in this conversation! Please contact the administrator to review the console for details."
Conversation_Cancelled: "Your pending chat answer has been canceled."
Conversation_Cancelled_Inactive: "Your pending chat answer has been canceled because you were inactive."
# -------------------------------------------------------------------------------------------------
# Messages related to tools
# -------------------------------------------------------------------------------------------------
Tool:
Error: "&cOups! There was a problem with this tool! Please contact the administrator to review the console for details."
# -------------------------------------------------------------------------------------------------
# Words for both singular and plural form. Separate these two forms with ", "
# -------------------------------------------------------------------------------------------------
Cases:
Second: second, seconds
Minute: minute, minutes
Hour: hour, hours
Day: day, days
Week: week, weeks
Month: month, months
Year: year, years
# -------------------------------------------------------------------------------------------------
# Different prefixes you can use by calling {prefix_<type>} such as {prefix_info}
# -------------------------------------------------------------------------------------------------
Prefix:
Info: "&8&l[&9&li&8&l]&7"
Success: "&8&l[&2&l!&8&l]&7"
Warn: "&8&l[&6&l!&8&l]&6"
Error: "&8&l[&4&lX&8&l]&c"
Question: "&8&l[&a&l?&8&l]&7"
Announce: "&8&l[&5&l!&8&l]&d"
# -------------------------------------------------------------------------------------------------
# Database related messages
# -------------------------------------------------------------------------------------------------
Data_Missing: "&c{name} lacks database information! Please only create {type} in-game! Skipping.."
Data_Loading: "Database is currently loading data, please wait..."
# -------------------------------------------------------------------------------------------------
# Messages shown when player runs a command he lacks permission for
# -------------------------------------------------------------------------------------------------
No_Permission: "&cNo permission: {permission}"
# -------------------------------------------------------------------------------------------------
# Internal versioning number
# -------------------------------------------------------------------------------------------------
Version: 1
Code (Text):
# ------------------------------------------------------------------------------------------------------------
# Database Settings
# ------------------------------------------------------------------------------------------------------------
# Enable or disable the database connection.
enabled: true
# The database server port (usually 3306 for MySQL/MariaDB).
port: 3306
# The name of the database to connect to.
database: 'minealert'
# The username for database access.
user: 'root'
# The password for database access.
password: 'pass'
# Optional settings for the JDBC driver.
Options:
# Set this to true if you are connecting to MySQL 8+ and get a "Public Key Retrieval is not allowed" error.
# For most local or trusted database connections, this is safe to enable.
Allow_Public_Key_Retrieval: true
SUPPORT
For help, feedback, or reporting issues,
you can contact me directly on Discord:
isi123
Keep your server fair, fast, and cheat‑free — with MineAlert!