Before you start
ReplayCore records Minecraft Java Edition 1.8.8 through 26.3 on Paper, Purpur, Folia and Leaf. Folia is verified on 1.21.11 through 26.3 and Leaf, a Paper fork, on 1.21.11 and 26.3. Spigot is verified on 1.8.8–1.12.2, 26.2 and 26.3; on Spigot 1.13 to 1.21.x use Paper.
Use the Java version your Minecraft version needs: Java 8 for 1.8.8 to 1.16.5, Java 17 for 1.17 to 1.20.4, Java 21 for 1.20.5 to 1.21.11, and Java 25 for 26.1 to 26.3.
You need a free ReplayCore account, and your server needs outbound HTTPS on port 443. Bedrock players who join through Geyser are recorded automatically.
Step 1: Download ReplayCoreLoader
Sign in, open Downloads and download ReplayCoreLoader. It is linked to your account, so there is no key to copy and no config file to edit.
Step 2: Put it in plugins and restart
Put ReplayCoreLoader.jar in the server's plugins/ folder, then restart the server. The Loader detects the platform and Minecraft version, installs the matching recorder and, on modern servers, installs PacketEvents for you.
PacketEvents installs and starts during that same restart. If a server cannot load it straight away, Servers shows One restart to finish.
Replacing an older ReplayCore JAR? Stop the server, move the old JAR out of plugins/, keep the plugins/ReplayCore/ folder, add ReplayCoreLoader.jar and start the server.
Do not copy plugins/ReplayCore/ onto another live server. A cloned folder prints Recording is DISABLED. [RC-ID-409] and records nothing.
cp ReplayCoreLoader.jar /path/to/server/plugins/Step 3: Approve the server in Servers
A few seconds after the server starts, it appears on Downloads and Servers with its name, version, IP and port, and owners and admins get an email. Check the IP and port are yours, then choose Approve server. Not yours? Choose Not my server to remove it. Recording starts without another restart.
Once approved, the console shows Connection verified and Recording is ENABLED, followed by Ready. Recording is active. Run /replaycore status at any time to check.
[ReplayCore] Connection verified for server 'uhc-1'. Recording is ENABLED.
[ReplayCore] Ready. Recording is active.If the console says dependency-blocked
On modern 1.13+ servers recording stops until PacketEvents is ready, and Recording is ENABLED is not printed. The Loader normally installs it. If it cannot, install official PacketEvents 2.13.0 or newer through 26.2 from Modrinth (https://modrinth.com/plugin/packetevents) or GitHub releases (https://github.com/retrooper/packetevents/releases), then restart. Servers on 26.3 need 2.14.0 or newer. Paper and Spigot 1.8.8–1.12.2 do not need PacketEvents, so that lane never prints [RC-PACKETEVENTS-001]. The console repeats one of these lines:
PacketEvents {required}+ is required. Recording is idle. [RC-PACKETEVENTS-001]
When PacketEvents is incompatible, the banner shows the installed and required versions and the status line ends with [RC-PACKETEVENTS-003]. When it is present but not ready, the status line ends with [RC-PACKETEVENTS-002]. Install the required version and restart.
/replaycore status in those states:
Recording: stopped (dependency-blocked)
Dependency: PacketEvents is missing [RC-PACKETEVENTS-001]
Dependency: PacketEvents is incompatible with this Minecraft version [RC-PACKETEVENTS-003]
Dependency: PacketEvents is present but not ready [RC-PACKETEVENTS-002]
[RC-PACKETEVENTS-002] and [RC-PACKETEVENTS-003] are the installed-but-unusable lane. [RC-PACKETEVENTS-001] is the missing-jar code. The legacy 1.8.8–1.12.2 lane does not need PacketEvents and never prints [RC-PACKETEVENTS-001].
Step 4: When the first replay seals
A short match does not upload a replay by itself. Duration is captured ticks (tick count × 50 ms at 20 TPS), not wall-clock. On Paper, Purpur, Leaf and Spigot the default Storage policy seals a new archive after 30 minutes of recorded play, or when you restart the server. An empty server pauses capture and freezes seal progress; it does not seal or upload. /replaycore forcestop also only pauses capture on this server; it does not seal or upload the current recording. Match end does not seal an archive unless you change rotation to match mode in Configuration.
On Folia the default is one archive for the whole server uptime. Restart the server to seal and upload that first replay.
There is no command that seals the current recording immediately. Run /replaycore status to confirm recording is active and whether a sealed archive is waiting in the upload queue.
Step 5: Watch your first replay
Sealed archives upload in the background. Open Replays in the dashboard; the recording should appear within a minute of that seal. Click it to watch in your browser. Players need no client mod.
Change settings
Everything is on by default: recording, every world and player, kill and death replays, and chat. Change anything in Configuration in the dashboard. You do not need to edit files on the server.
On Folia, session rotation is not supported: the recorder writes one archive per server uptime rather than one per match.
Using the classic ReplayCore.jar
If Downloads still offers ReplayCore.jar with a two-line config, follow that page: install PacketEvents on modern servers, put `ReplayCore-<version>.jar` in plugins/, paste the two lines into plugins/ReplayCore/config.yml (or set REPLAYCORE_LICENSE_KEY and REPLAYCORE_SERVER_NAME on Pterodactyl or Docker) and restart. If the console prints [RC-CLAIM-GATE], or the legacy alias [RC-CONFIG-CLAIM], open the Downloads URL it prints (https://replaycore.com/en/dashboard/downloads, or /en/dashboard/downloads on a self-hosted origin), match the code and approve the server. See /docs/troubleshooting/common-errors#rc-claim-gate and /docs/troubleshooting/common-errors#rc-config-claim.
Prefer the console? /rcsetup set <field> <value> saves either value. After you set a value, restart the server. /rcsetup does not start recording; /replaycore status shows whether it is active.
Need help?
Console codes such as [RC-KEY-000] or [RC-KEY-401] are explained in Licence errors. Other codes are in Common errors.
Open a ticket from the Support page in your dashboard, or contact support@replaycore.com.