Skip to content

castcrafter/FlashbackServer

 
 

Repository files navigation

Flashback Server

Server-side Flashback replay recording for Paper — zero dependencies, Folia-ready, with area recording.

Flashback Server is a Paper plugin that records gameplay into Flashback-format replays entirely server-side — no client mod required for the players being recorded. Drop the jar in /plugins, and you're recording.

Features

  • Record any player server-side — replays are saved as .zip files that the Flashback client mod opens directly.
  • Record everyone at once/replay start all starts a recording for every online player simultaneously (/replay stop all saves them).
  • Auto-record list — players on the auto-record.players config list (or added in-game via /replay autorecord add) are recorded automatically whenever they join.
  • Area recording (26.1+) — record named chunk areas (two corners, like /fill) independent of players, several at once: /replay area define <name> then start|stop <name>. Chunks stay force-loaded; entities, block changes and time are captured — or blocks only (define <name> blocks) for build timelapses.
  • Folia-ready — works on the regionized Paper fork with no extra configuration.
  • Zero dependencies — pure Netty packet capture; no ProtocolLib to break on every update.
  • Renderable snapshots — each recording includes a synthesized initial-state snapshot (registries, chunks, player state) so the Flashback client can render it correctly.

Why another replay plugin?

Flashback Server Paper Flashback server-replay
Platform Paper/Folia 1.21.5–26.2 Paper Fabric
ProtocolLib required No ✅ Yes
Folia support Yes ❌ No
Area recording (record a region) Yes ✅ Yes ❌ No
Output format .zip (Flashback) .flashback .mcpr + Flashback

Installation

  1. Requires Paper (or a Paper fork such as Folia) for Minecraft 1.21.5–1.21.11 or 26.1–26.2 (26.x servers need Java 25).
  2. Drop FlashbackServer-*.jar into your server's plugins/ folder.
  3. Restart the server. No additional dependencies needed.
  4. View recorded replays with the Flashback client mod.

Commands

All commands require the permission flashbackserver.replay (default: op).

Command Description
/replay start players <player> Start recording a player
/replay stop players <player> Stop recording and save → plugins/FlashbackServer/replays/<name>-<uuid>.zip
/replay start all Start recording every online player simultaneously
/replay stop all Stop & save all active recordings
/replay autorecord add <name> Always record this player when they join (starts now if online)
/replay autorecord remove <name> Remove a player from the auto-record list
/replay autorecord list Show the auto-record list
/replay area pos1 / pos2 Set the area corners at your position
/replay area define <name> [blocks] Save the selection as a named area (blocks = timelapse mode)
/replay area define <name> <world> <x1> <z1> <x2> <z2> [blocks] Console form with explicit corners
/replay area start <name> Record a defined area, independent of players (26.1+, several at once)
/replay area stop <name> Stop & save → replays/area-<name>-N.zip
/replay area list Defined areas + recording status
/replay area remove <name> Delete an area definition
/replay verify <file> Decode-check a saved replay file (admin/diagnostic)
/replay help Show the in-game help

Tab-completion is supported for all subcommands and online player names.

Configuration

plugins/FlashbackServer/config.yml is generated on first launch:

auto-record:
  # Player names that are automatically recorded whenever they join.
  # Managed in-game with /replay autorecord add|remove|list.
  players: []
  # Ticks to wait after join before the recording starts (lets chunks load
  # so the initial snapshot is complete).
  join-delay-ticks: 20
Key Default Description
auto-record.players [] Names recorded automatically on join (case-insensitive)
auto-record.join-delay-ticks 20 Delay between join and auto-record start

How it works (briefly)

Flashback Server captures raw Minecraft packets directly at the Netty layer. When a recording starts, it injects a channel handler into the player's pipeline and captures all outbound packets. Before appending live traffic, it synthesizes an initial-state snapshot (registry data, surrounding chunks, and current player state) so the Flashback client has everything it needs to render the replay from the beginning. Long recordings roll over to a new chunk automatically, and dimension changes trigger a fresh snapshot.

Compatibility

  • Minecraft 1.21.5–1.21.11 and 26.1–26.2 (year-based version scheme; 26.x needs Java 25)
  • Paper and Paper forks (Purpur, Pufferfish, Folia — currently up to Folia 26.1.2)
  • Replays are viewed with the Flashback client mod (0.41.1+ for Minecraft 26.2)

Flashback Server is an independent project and is not affiliated with or endorsed by the Flashback mod or its author. It produces files compatible with the Flashback format for interoperability.

Status

Core recording, area recording, and verify features are shipped. Visual rendering should be confirmed in the Flashback client against your specific server version.

License

MIT

About

Server-side replay recording for Paper — Flashback compatible, zero dependencies, Folia ready.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%