14.2.7
Concepts

The blocking model

A reported seed cannot be viewed on SLMAPS for a while. This page explains how long that is and when it ends.

Terms

TermMeaning
Block windowThe span during which one seed cannot be viewed. It opens on the first report and closes on round_end or at the cap.
CapThe longest a single window can be: 1 hour for a registration made from the game server, 20 minutes for a Discord HTTP key.
BudgetThe total time one seed can ever be blocked. It equals the cap and shrinks by the time actually blocked whenever a window closes.
CooldownThe 5 minutes after a window closes during which the same seed cannot open a new one.
One window per serverOne server key holds at most one open window at a time.

When a window opens

A round_start or periodic report opens a window. round_end never does. The length is decided like this.

Rule
window length = min(cap, remaining budget)
cap = 60 min (self-claim, plugin) or 20 min (HTTP key)
remaining budget = cap − total time this seed has been blocked so far

When the remaining budget is zero, no window opens and the response carries "exhausted": true. A self-claim key may continue a seed that an HTTP key already blocked for 20 minutes. A seed that has used 60 minutes cannot be blocked again by any key.

When a window closes

  • A round_end report closes it at once. Only the time actually blocked is taken from the budget.
  • It closes when the window length has passed since it opened.
  • Another report of the same seed while the window is open changes nothing. Windows are never extended.
round_startround_end+5 minnext round
Block windowmax 60 min, HTTP key 20 min
Cooldown5 min
Viewableremaining budget only
Without round_end the window runs to the cap, and meanwhile this server cannot block any other seed.

One window per server

While a window is open, a report of a different seed with the same key opens nothing. The next window can open once the previous one has closed and 5 minutes have passed since it opened. Send round_end when the round ends so the next round's seed is blocked on time.

What the report response tells you

Every well-formed report with a valid key answers 200. Read blockedUntil to learn whether a window is open.

SituationblockedUntilexhausted
A new window openedwhen it closesabsent
Same seed, window keptunchangedabsent
Closed by round_endnullabsent
In cooldownnullabsent
This server is blocking another seednullabsent
Budget used upnulltrue

What viewers see

  • GET /api/maps/{seed} and GET /api/jobs/{seed}: 403 {"error":"blocked","blockedUntil":"…"}. Ask again after blockedUntil.
  • GET /api/seeds: a blocked seed is left out of the list and reappears when the window closes.
  • Public stats: counts are unaffected. The seed value of an open window is never published anywhere.
  • Collection: when a window opens, detections of that seed from the last 5 minutes are deleted, and no new ones are recorded until it closes.

Examples

SituationSelf-claim key (cap 60 min)HTTP key (cap 20 min)
round_start 08:00, round_end 08:23Blocked 08:00 to 08:23. 37 minutes of budget leftBlocked 08:00 to 08:20. Closed at the cap, no budget left
No round_end ever sentBlocked until 09:00. No budget leftBlocked until 08:20. No budget left
Restart mid-round gives a new seedThe new seed is visible until the old window closes. If you sent round_end first, the new window opens 5 minutes after the old one openedSame
The same seed comes up the next dayBlocked for the remaining budget only: 37 minutes after the first rowNot blocked, exhausted: true

Why it works this way

Blocking exists to hide your own seed during one round. The budget stops any single seed from being hidden forever, and one window per server stops one key from hiding many seeds at once.

SLMAPS is the seed-map viewer for SCP: Secret Laboratory. These pages describe the public API of slmaps.com.slmaps.com ·