Also known as ICU
[!WARNING] This plugin can only run on servers using the Leaves core, it does not support other cores!
The developer only guarantees that the latest stable version of the ISeeYou plugin can run normally on the latest version of the Leaves core, and does not maintain compatibility with older versions.
ISeeYou can use the Replay API provided by the Leaves core to record every move of the player in .mcpr
format.
.mcpr
format to the server's disk.Name | Status |
---|---|
Themis Anti Cheat | ✅ Available |
Matrix | ✅ Available |
Vulcan Anti-Cheat | ⚠️ In Public Beta |
AC - Negativity | ⚠️ In Public Beta |
Grim Anticheat | ❌ Not Available |
[!TIP] If you want us to add support for more anti-cheat plugins, please create an issue for feedback!
The list of what version of the ISeeYou you'll need to run on a specific version of Leaves is as follows:
Leaves version | Compatible versions | Latest compatible version |
Minimum Java version required to run latest version |
---|---|---|---|
1.20.4 | v1.0.0 - v1.2.1 | v1.2.1 | 17 |
1.20.6 | v1.2.2 - v1.3.0 | v1.3.0 | 21 |
1.21 | v1.3.0 | v1.3.0 | 21 |
Dependencies | Optional |
---|---|
Server Leaves | Required |
Themis Anti Cheat | 💡 Optional |
Matrix AntiCheat | 💡 Optional |
Vulcan Anti-Cheat | 💡 Optional |
AC - Negativity | 💡 Optional |
Grim Anticheat | 💡 Optional |
[!IMPORTANT] Before installing anti-cheat plugins, please make sure that their required plugins are installed to avoid compatibility issues.
Install the plugin: Place the plugin file in the plugin directory of the Leaves server and restart the server.
Configure settings: Edit the plugins/ISeeYou/config.toml
file and adjust the recording parameters and anti-cheat settings as needed.
# Configuration:
deleteTmpFileOnLoad = true # Delete temporary files on load.
pauseInsteadOfStopRecordingOnPlayerQuit = false # Pause recording instead of stopping when player quits.
recordPath = "replay/player/${name}@${uuid}" # Recording storage path template, supports ${name} and ${uuid} variables.
asyncSave = false # Async save recording
bStats = true
[pauseRecordingOnHighSpeed]
enabled = false # Whether to enable pausing recording on high speed, which pauses recording when the player moves at high speeds.
threshold = 20.0 # Speed threshold to trigger pausing recording on high speed.
[filter]
checkBy = "name" # Basis for blacklist/whitelist check, can be "name" or "uuid", default is "name", indicating player name.
recordMode = "blacklist" # Recording mode, either blacklist or whitelist.
blacklist = [] # Blacklist, empty means no players are blocked.
whitelist = [] # Whitelist, empty means no players are recorded.
[clearOutdatedRecordFile]
enabled = false # Whether to enable cleaning function.
interval = 24 # Cleaning interval (hours).
days = 7 # Number of days to retain outdated recording files.
[recordSuspiciousPlayer]
enableThemisIntegration = false # Whether to enable recording of suspicious players monitored by Themis reports.
enableMatrixIntegration = false # Whether to enable recording of suspicious players monitored by Matrix reports.
enableVulcanIntegration = false # Whether to enable recording of suspicious players monitored by Vulcan reports.
enableNegativityIntegration = false # Whether to enable recording of suspicious players monitored by Negativity reports.
enableGrimACIntegration = false # Whether to enable recording of suspicious players monitored by GrimAC reports.
recordMinutes = 5 # Recording time for suspicious players (minutes).
recordPath = "replay/suspicious/${name}@${uuid}" # Suspicious player recording file path template, supports ${name} and ${uuid} variables.
# [instantReplay] Instant replay settings
[instantReplay]
enabled = false # Whether to enable instant replay functionality.
replayMinutes = 5 # Specifies how many minutes of gameplay can be traced back (minutes).
createMinutes = 1 # Specifies how often a camera is created (minutes).
recordPath = "replay/instant/${name}@${uuid}" # Storage path template for instant replay recordings, supports ${name} and ${uuid} variables.
[!WARNING] Enabling instant replay, recording suspicious players, and other features may increase server performance consumption.
/photographer create <name>
and/instantreplay
commands can only be executed by players in the game, not in the server console.
/photographer create <name> [location]
command can be executed in the console.Before using the
/instantreplay
command, make sure that the corresponding feature is enabled in the plugin configuration file.
Command | Description | Example |
---|---|---|
photographer create <name> [location] |
Create a camera | /photographer create MyCamera /photographer create MyCamera <x> <y> <z> |
- <name> : Camera name, limited to 5 to 16 characters |
||
- [location] (optional): Camera location, format is x y z coordinates.If not specified, it defaults to the current position of the executing player. |
||
photographer remove <name> |
Remove a camera | /photographer remove MyCamera |
- <name> : The name of the camera to remove |
||
photographer list |
Display all cameras in the list | /photographer list |
instantreplay |
Create an instant replay recording for the executing player | /instantreplay |
Use the following command to clone the project to your local environment:
git clone https://github.com/MC-XiaoHei/ISeeYou.git
Navigate to the project root directory and execute the following command to build the jar package:
./gradlew shadowJar
After compilation is complete, you will find the output file named ISeeYou.jar
in the build/libs
directory.
config.toml
file carefully before using the plugin to ensure that the plugin can run normally.Thank you for using the ISeeYou plugin! If you encounter any problems or have any suggestions during use, please feel free to contact the author or submit an issue to the GitHub repository.