Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 32 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,37 @@
# XRayMonitor

[![CI](https://github.com/DmitryRendov/XRayMonitor/actions/workflows/xraymonitor-ci.yml/badge.svg)](https://github.com/DmitryRendov/XRayMonitor/actions/workflows/xraymonitor-ci.yml)
[![Java](https://img.shields.io/badge/Java-17%2B-orange.svg)](https://java.com)
[![Java](https://img.shields.io/badge/Java-21%2B-orange.svg)](https://java.com)
[![License](https://img.shields.io/github/license/DmitryRendov/XRayMonitor)](LICENSE)

Let's fight X-Ray cheat with simple Math!

This simple plugin monitors players' mining activity and detects possible X-Ray cheeting based on statistical analysis. When a player mines significantly more valuable ores (like diamonds, gold, emeralds) compared to common blocks (like stone, coal), the plugin flags them for potential cheating. Thedetection is based on configurable thresholds, allowing server admins to customize sensitivity according to their needs. Used [LogBlock](https://www.spigotmc.org/resources/logblock.67333/) data to analyze mining patterns over time.

This plugin requires Java 21 or higher and is compatible with Minecraft server versions 1.20.x and above. Also, it supports both Paper and Spigot server implementations.


## Download
XRayMonitor available on GitHub: https://github.com/DmitryRendov/XRayMonitor/releases

## Installation
1. Download the plugin.
2. Place the plugin in your server's plugins directory.
3. Restart your server.
4. Use the /xrm check <player> command to check a particular player for xray cheeting.

## Configuration
The configuration file `config.yml` is created in the plugin's folder after the first run.

## Commands
- `/xrm all` - Check the mining activity of all players on the server.
- `/xrm <player>` - Check the mining activity of a specific player.
- `/xrm reload` - Reload the plugin configuration.
- `/xrm Player world:survival` - Check a specific player's mining activity in a specific world.
- `/xrm all ore:diamond_ore rate:3` - Check all players' mining activity for diamond ore with a rate of 3.

## Support
If you encounter a bug, please open an issue with detailed information. I maintain this in my spare time, so fixes may take a while, but I'll address them when possible.

## Donate
If you appreciate my work, feel free to:
- Buy Me a Coffee at [ko-fi.com](https://ko-fi.com/dmitryrendov)
24 changes: 11 additions & 13 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<groupId>me.drendov.xRayMonitor</groupId>
<artifactId>XRayMonitor</artifactId>
<version>1.0.0</version>
<version>1.1.0</version>
<packaging>jar</packaging>
<name>XRayMonitor</name>
<description>Let's fight X-Ray cheat with simple Math!</description>
Expand All @@ -17,10 +17,11 @@
</properties>

<dependencies>
<!-- Paper API (recommended over Spigot API) -->
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.21.8-R0.1-SNAPSHOT</version>
<version>1.21.9-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
Expand All @@ -40,24 +41,29 @@
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.0</version>
<version>5.11.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>5.5.0</version>
<version>5.14.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>5.5.0</version>
<version>5.14.1</version>
<scope>test</scope>
</dependency>
</dependencies>

<repositories>
<!-- Paper API -->
<repository>
<id>papermc</id>
<url>https://repo.papermc.io/repository/maven-public/</url>
</repository>
<!-- Spigot -->
<repository>
<id>spigot-repo</id>
Expand All @@ -71,14 +77,6 @@
<id>CodeMC</id>
<url>https://repo.codemc.org/repository/maven-public</url>
</repository>
<repository>
<id>bukkit-repo</id>
<url>http://repo.md-5.net/content/repositories/snapshots/</url>
</repository>
<repository>
<id>spigot-repo-new</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
<repository>
<id>logblock-repo</id>
<url>https://www.iani.de/nexus/content/repositories/snapshots/</url>
Expand Down