AntiCheat Replay icon

AntiCheat Replay -----

Watch a recording of punishments from your AntiCheat.



This plugin allows for you to record a player that your AntiCheat has punished from your server and watch the hack at a later time. The hacker could be the only person online and you would still have video evidence of them hacking.
Folia Supported


Feel free to request other AntiCheats to be supported.​

Videos:





With this you can have video proof of someone hacking on your server when they appeal and claim to be "hitting grass"

Features Discord Integration. Optionally send a message to a Discord Channel whenever a recording is created.

Capture.PNG

Requires a supported AntiCheat and BetterReplay to be installed and running on your server.

NOTE: Your AntiCheat has to be configured to punish someone in order to record. If players never get punished you will not get a recording.



Setup:
Vulcan: Set "enable-api" in Vulcan's config to "true"
Soaroma: Set "enableAPI" in Soaroma's config to "true"
Sparky: Set "API.Events" in Sparky's config to "true"

For best results, follow this configuration guide for BetterReplay

1. Enable MySQL to store the files (This plugin can generate a lot of recordings if you have a lot of hackers. Depending on your recording length this can take up quite a bit of space.)
[/code]

Default Configuration:
Code (YAML):

Intave
:   #Configuration section for Intave
  Punish-Commands
:   #What command should we listen to in Intave's config?
  - ban
  - kick
  - intave
General
:
  Report-Cooldown
: 3   # Cooldown in minutes before reporting again.
  Always-Save-Recording
: false   # Save a recording even if a player wasn't punished by the anticheat
  Save-Recording-On-Disconnect
: false   # Save a recording if a player disconnects before being punished (Useful if a staff member bans them before the anticheat does)
  Overwrite
: false   #Should we overwrite a recording if a player did the same hack on the same date?
  Check-Update
: true   #Be notified when this plugin updates
  Nearby-Range
: 30     #How far to look for nearby players to include in the recording? NOTE: The formula is 1/2 of what you put here in each. So it will be 15 blocks in each +x and -x for a total of 30 blocks, etc.
  Recording-Length
: 2 #Length in minutes of a recording. Recording will not be created until this time has passed from the start of a recording.
  Notify-Staff
: true   #Send a message to staff when a replay is saved.
Vulcan
:
  Disabled-Recordings
: #Any checks you do not want to record. These are examples, replace/add as many as you want NOTE: Must be lowercase
  - timer
  - strafe
Themis
:
  Disabled-Actions
:   #Themis Actions to disable, refer to Themis config.yml
  - notify
Grim
:
  Punish-Commands
:
  - ban
   - kick
Discord
: # Send a recording notification to a Discord Channel
  Enabled
: true
  Red
: 0
  Green
: 255
  Blue
: 0
  Webhook
: Enter webhook here
  Avatar
: https://i.imgur.com/JPG1Kwk.png     #Default Vulcan avatar, feel free to change this
  Username
: VulcanReplay
  Server-Name
: Server

Usage:
Most commands and permissions are handled by BetterReplay The only commands AntiCheatReplay adds are a reload command and report command

Basic usage:
/replay list Will print a list of recordings
/replay play <recording> Play a recording
/replay delete <recording> Deletes a recording
/replayreload vulcanreplay.reload Reload AntiCheatReplay
/report <player> AntiCheatReplay.report Report a player and create a recording.

Permissions:
vulcanreplay.reload
AntiCheatReplay.report
AntiCheatReplay.report-notify
AntiCheatReplay.recording-notify
AntiCheatReplay.reportImmune



Known Issues:

Recording does not show any mobs/entities other than Players. You may see a player take damage in a recording from what appears to be nothing, but it could be a mob.


Discord:
Please join my Discord to report any bugs.


Disclaimer:
This plugin should be used in conjunction with the logs that are provided by your AntiCheat. This should not be your only proof that a player is hacking

Developer API:
AntiCheatReplay has multiple events that can be listened to and cancelled

RecordingStartEvent
RecordingSaveEvent


both have the methods:

Code (Java):
public Player getPlayer ( ) { }
public String getReplayName ( ) { }
PlayerReportEvent
Code (Java):


public Player getReporter ( ) { }
public Player getTarget ( ) { }
public String getReason ( ) { }

 
Resource Information
Author:
----------
Total Downloads: 66,623
First Release: Nov 24, 2021
Last Update: Mar 14, 2026
Category: ---------------
All-Time Rating:
40 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings