All work

Live

Warrants and criminal justice

A connected justice system for a police roleplay community: arrest warrants, criminal records, felonies, bail and appeals, with server-side checks on every action.

Role
Design and implementation
Stack
Lua (GLua), MySQL, Discord webhooks
Context
Police and criminal roleplay on Diverge Networks
Status
Live

The problem

Police roleplay depends on its paperwork. The server needed warrants officers could file and act on, records that hold up, and consequences that carry across the game, all without trusting anything a player’s game client sends.

Warrants

Screenshot coming soon

The warrant submission form, filled in with test data.

assets/projects/justice-system/warrant-form.png (tight crop to the panel)

Filing a warrant.

Screenshot coming soon

The list of active warrants, showing pagination.

assets/projects/justice-system/warrant-list.png (tight crop to the panel)

Active warrants.

Screenshot coming soon

The in-game pager message a wanted character receives.

assets/projects/justice-system/pager.png (tight crop)

The wanted person is paged.

Screenshot coming soon

The Discord post for a new warrant, with server and channel names blurred.

assets/projects/justice-system/discord-embed.png (crop to the message only)

The police team’s Discord feed.

Video (optional) coming soon

Filing a warrant, seeing it appear in the list, then arresting the suspect through the context menu.

assets/projects/justice-system/warrant-arrest.mp4 (20 to 30 seconds)

From filing to arrest.

Code excerpt coming soon

The warrant filing handler: permissions, rate limiting, rebuilding client-supplied charges, and the duplicate check.

assets/excerpts/issue-warrant.lua

Adapted from production code, lightly edited for readability.

Felonies and records

Screenshot coming soon

A criminal record with the felony flag visible.

assets/projects/justice-system/record-felony.png (tight crop to the panel)

A record with felony status.

Screenshot coming soon

An ID card showing felon status.

assets/projects/justice-system/id-card-felon.png (tight crop)

Felon status on an ID card.

Appeals, bail and consent

Code excerpt coming soon

The appeals handler, which only accepts record IDs the server previously sent to that player.

assets/excerpts/records-allowlist.lua

Adapted from production code, lightly edited for readability.