Overview
Work at a Police Station — live game moderation at a glance
Active Bans
—
Open Incidents
—
New AC Alerts
—
Open Errors & Bugs
—
Live Servers
—
Players Online
—
Staff Members
—
Recent Anti-Cheat Alerts
| Ref | Player | Detection | Severity | When | Status |
|---|---|---|---|---|---|
| Loading… | |||||
Recent Bans
| Player | Reason | By | When | Status |
|---|---|---|---|---|
| Loading… | ||||
Recent Incidents
| Report | Type | Accused | Received | Status |
|---|---|---|---|---|
| Loading… | ||||
Player Lookup
Search any Roblox player — game data, ban history and every change made to them
Recently Seen
| Player | User ID | Status | Bans | AC Alerts | Data Edits | Last Seen | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Anti-Cheat Alerts
Detections sent in live from the game's anti-cheat
| Ref | Player | Detection | Severity | When | Status | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Command Logs
Every admin command ran in-game
| Admin | User ID | Command | Server | Time | |
|---|---|---|---|---|---|
| Loading… | |||||
Errors & Bug Reports
Server errors captured automatically, plus bug reports from players
| Type | Message | Source | Count | Last Seen | Status | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Bans
Game bans — the Roblox game enforces this list
| Player | User ID | Reason | By | Issued | Expires | Status | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Incidents
Reports and mod calls sent in from the game
| Report | Type | Reporter | Accused | Received | Status | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Broadcasts
One-shot announcements that pop in once on every live server
Broadcast History
| Title | Message | Sent By | Sent |
|---|---|---|---|
| Loading… | |||
Live Servers
Running game servers, updated by heartbeat every ~30s
| Server | Place | Players | Up For | Last Heartbeat | |
|---|---|---|---|---|---|
| Loading… | |||||
Testers
Portal accounts for game testers — they file bug reports at /tester
| Tester | Roblox Account | Reports | Last Login | Status | |
|---|---|---|---|---|---|
| Loading… | |||||
Tester Hub
Announcements, threads, the test-session calendar and polls — everything testers see in their portal
Announcements
One-way notices shown to every tester
Loading…
Team
Staff accounts for this panel (separate from Arion Development)
| User | Role | Created | |
|---|---|---|---|
| Loading… | |||
Audit Log
Everything staff did in this panel
| When | User | Action | Details | Device |
|---|---|---|---|---|
| Loading… | ||||
Settings
Game integration for Work at a Police Station
Game Secret
Your Roblox game must send this value in the X-Police-Secret header when calling the game endpoints below.
Secret
Roblox Open Cloud (instant announcements)
When configured, global broadcasts are pushed to live servers instantly via MessagingService instead of waiting for the next poll. Set the POLICE_CLOUD_API_KEY environment variable on the server to an Open Cloud key with the universe-messaging-service:publish scope for this universe — the key is never stored on disk. Status: —
Universe ID
Broadcast topic
Remote ops topic (kick/warn/pm/restart/shutdown)
Discord Notifications
Create a webhook in each Discord channel (Channel → Edit → Integrations → Webhooks → Copy URL) and paste it here. Leave a field empty to turn that notification off. No bot required.
Bans channel (ban issued / revoked)
Broadcasts channel
Anti-cheat alerts channel
Minimum anti-cheat severity to notify
Bug reports channel
Game Endpoints
| Method | Path | Purpose |
|---|---|---|
| GET | /api/police/game/bans | Full active ban list |
| GET | /api/police/game/ban-check/:robloxUserId | Check one player on join |
| GET | /api/police/game/broadcasts | One-time global broadcasts from the last 10 min — show each id once |
| GET | /api/police/game/commands | Remote command queue (kick, warn, pm, resetdata, restart, shutdown) — last 5 min, dedupe on id, filter by scope |
| POST | /api/police/game/heartbeat | Server heartbeat every ~30s (serverJobId, placeId, playerCount, maxPlayers, players[{userId,username}]) |
| POST | /api/police/game/kick | Report a kick (robloxUserId, robloxUsername, reason, kickedBy, serverJobId) |
| POST | /api/police/game/incident | Send an incident report from the game |
| POST | /api/police/game/command-log | Log an admin command (adminUserId, adminUsername, command, serverJobId, executedAt) |
| POST | /api/police/game/anticheat | Anti-cheat alert (robloxUserId, robloxUsername, severity, title, details, serverJobId, referenceId) |
| POST | /api/police/game/player-data | Player snapshot (robloxUserId, robloxUsername, displayName, online, groupRole, accountAgeDays, firstJoined, data{…}) — send on join/leave |
| POST | /api/police/game/data-change | Admin data edit (robloxUserId, robloxUsername, field, oldValue, newValue, changedBy, reason, serverJobId) |
| POST | /api/police/game/ban | Report an in-game ban (robloxUserId, robloxUsername, reason, durationHours, bannedBy, serverJobId) — idempotent |
| POST | /api/police/game/unban | Report an in-game unban (robloxUserId, unbannedBy) |
| POST | /api/police/game/error | Server error (serverId, message, stack) — repeats bump a counter. Set serverId to the same JobId sent in heartbeats so testers can attach it. |
| POST | /api/police/game/bug-report | Player bug report (reporterUserId, reporterUsername, description, serverId) |
All endpoints require the X-Police-Secret header. Anti-cheat severity is one of LOW, MEDIUM, HIGH, CRITICAL.
Profile
Your account on this panel
Display Name
Display name
Change Password
Current password
New password
Confirm new password