osu! replay forensics

Hit every cheater.
Miss nothing.

ReplayGuard runs full replay forensics on any score, right in your browser, flagging relax, timewarp, aim correction, replay stealing and multi-accounts with charts you can attach to a report. The data presents the case. You draw the verdict.

Analyze a replay Free · in your browser · nothing to install
  • 18,000+players scanned daily
  • 7detection signals
  • 1 mshold-time resolution
freedom-dive_[FOUR-DIMENSIONS]_+HDDT.osr60 fps analysis · 02:46.2 / 04:28.0
timewarp 02:41.3 frametime 03:58.1 00:00 01:07 02:14 03:21 04:28
timewarp segment frametime anomaly analyzed

Exhibit A

Human presses scatter. Scripts stack.

One hold-time histogram from a flagged replay, plotted at 1 ms per bin. Read it before anyone tells you what it means.

EXHIBIT A replay #4417832 · K1 hold-time histogram · 1 ms bins flagged: relax
tap count 0 300 600 20 40 60 80 100 120 140 key-hold duration (ms) 96% of taps inside a 4 ms window every press read at 1 ms resolution → flagged: relax frame deltas uniform → flagged: timewarp, see Exhibit B
FIG. 01  Key-hold durations from a flagged score, read straight from the .osr. Human presses scatter across the range. Scripted presses stack in one spike. The histogram needs no commentary.

The problem

Suspicion is cheap. Evidence isn’t.

Half of r/osureport is a liveplay request and a hunch. The report sits for weeks because nobody attached evidence, and producing evidence has meant installing desktop tools for snaps, similarity, unstable rate and frametimes, running minisbett’s hold time analyzer for press durations, and gluing the gaps with one-off scripts.

Meanwhile the score keeps farming pp, the thread gets locked for witch-hunting, and the one person who could verify the replay doesn’t have time to.

ReplayGuard collapses that pipeline into one link. Paste a score and get the hold-time histogram, the frametime trace, the unstable rate and the similarity check rendered as exhibits you can attach to a report. Mods act on charts; the cards on the right show what happens without them.

r/osureport3w agono evidence

“[osu!std] player xx_4k_xx, blatant relax, just watch literally any of his top plays”

locked · rule 4: report requires evidence

r/osureport2w agono evidence

“9 digit jumps from 200pp to 600pp plays in a month?? can someone check his replays, I have no idea how to prove it”

0 replies · archived

r/osureport4d agowith evidence

“Same player, reported with the ReplayGuard hold-time histogram and frametime trace attached.”

restricted in 6 days

What you get

Evidence-grade tools. Zero install.

Everything a reporter, ref or tournament admin needs to go from “that looks off” to a report staff can action, in one tab. Each tool ends in a chart you can attach, with the threshold it crossed printed on it.

Replay Viewer

See the play like staff do

Frame-accurate playback in your browser: full beatmap and cursor rendering, audio synced, with snaps and edge hits called out on the timeline the moment they happen.

snap detectionedge hitsaudio sync

Detection Suite

Turn suspicion into evidence

Per-key hold-time histograms at 1 ms resolution, frametime and timewarp analysis, unstable rate and replay similarity. Every flag prints the line it crossed: UR under 50, average frametime under 13 ms, cursor paths within 17 px.

1 ms histogramsframetime < 13 msUR < 50similarity < 17 px

Multi-Account Scanner

Catch the comeback before it ranks

Seven detection signals and a pp-weighted rank-anomaly model run against 18,000+ players every day, so a restriction doesn’t turn into a quiet second life on a fresh account.

7 signals18,000+ players dailyrank anomalies

Tournament Screening

Screen a whole bracket in one paste

Paste a forum post or drop a .txt of signups. Every player is screened against all seven signals before seeding, and you get back a risk sheet sorted by signal count, not a week of opening profiles by hand.

forum paste.txt importrisk sheet
  • 18,000+players scanned daily
  • 7detection signals
  • 1 mshold-time resolution
  • 60 fpsreplay forensics

Exhibit B

The chart does the arguing.

A real cursor stutters. A timewarped one ticks like a metronome. Below, frame deltas from a verified clean replay sit against the flagged score; the flagged line draws itself as you scroll, the same way it draws in the report.

EXHIBIT B replay #4417832 · frametime trace · 14,202 frames flagged: timewarp
frame delta (ms) 0 10 20 30 0:00 1:30 3:00 16.67 ms · stable 60 fps verified clean replay · natural jitter flagged replay · σ 0.31 ms across 14,202 frames → mean delta 12.0 ms, under the 13 ms timewarp threshold
FIG. 02  Frame deltas over a full play. Human input wobbles around the tick rate; tool-assisted input holds a flat line. ReplayGuard runs this trace on every analyzed replay and attaches it to the report.

FAQ

Fair questions.

The ones every skeptical reporter, accused player and tournament host asks first.

How accurate are the detections?

Every flag ships with the number that triggered it and the threshold it crossed: unstable rate under 50, average frametime under 13 ms, replay similarity within 17 px. Nothing is a black-box verdict. You see the same figures experienced reporters and tournament staff rely on, and the final call always belongs to a human reading the evidence.

Do I have to install anything?

No. Replay parsing, rendering and analysis all run in your browser. Drop a .osr file or paste a score link and the report builds itself. No desktop toolchain, no Python environment, and nothing touches your osu! install.

How much does it cost?

Nothing. Analysis, the viewer, auto-detection and tournament screening are free for players, reporters and tournament staff. A report shouldn’t die because the reporter couldn’t pay for tooling.

Is this an official osu! tool?

No. ReplayGuard is an independent community project with no affiliation to ppy Pty Ltd. It reads publicly available replay data and builds the evidence; reports still go through the official channels, and it never bans anyone itself.

Ready to hit every cheater?

Drop a .osr, paste a profile, or screen an entire bracket. The charts come back ready to attach, and the next evidence-free thread doesn’t have to be yours.

Analyze a replay