Also known as ICU
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.
- Automatic recording: No manual operation is required, the plugin will automatically record all players by default.
- Flexible configuration: You can set a whitelist and blacklist, as well as the recording path, etc., through the configuration file.
- Anti-cheat support: Adapted to various anti-cheat plugins, it automatically records when suspicious players are found.
- Instant Replay: With a command, you can trace back a period of time of gameplay footage and save it in
.mcpr
format to the server's disk.
Name | Status |
---|---|
Themis Anti Cheat | ✅ Available |
Matrix | ✅ Available |
Vulcan Anti-Cheat | |
AC - Negativity | |
Grim Anticheat | ❌ Not Available |
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 |
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.
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 |
-
Stable Version
-
Development Version
-
Clone the project source code
Use the following command to clone the project to your local environment:
git clone https://github.com/MC-XiaoHei/ISeeYou.git
-
Compile and package
Navigate to the project root directory and execute the following command to build the jar package:
./gradlew shadowJar
-
Get the Jar
After compilation is complete, you will find the output file named
ISeeYou.jar
in thebuild/libs
directory.
- Core Dev: MC-XiaoHei, wrote most of the code
- Core Dev: CerealAxis, helped implement automatic cleaning of expired recordings, Matrix adaptation functionality, and wrote the README
- Contributor: Cranyozen, helped complete the automatic build CI
- This plugin can only run under the Leaves server environment, and does not support other common Spigot and its downstream cores (such as Paper, Purpur, etc.).
- Please read and configure the
config.toml
file carefully before using the plugin to ensure that the plugin can run normally. - Although there are currently no bug reports caused by reload, try not to use plugins like Plugman to hot reload this plugin, which may cause many unknown problems!
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.