← All systems
LIVEPOLICE / JUSTICECASE 01 / 08

MEOS police tablet

MEOS is a custom FiveM police MDT on an in-game tablet, built for Freedom Roleplay, a Dutch Qbox server. Officers look up people and plates, write case files, issue warrants and fines, and trace phones from one tablet.

SERVER
freedomroleplay.nl
STATUS
Live on Freedom Roleplay
STACK
Qbox / ox_lib / oxmysql / NUI / LB Phone
BUILT BY
Aaron
UPDATED
MEOS work overview on the police tablet with quick actions, caseload counters, recent case files and active warrants
INTERFACE / MEOS WORK OVERVIEW
57offences in the offence book
5warrant types, 1 to 168 hours
30 mANPR read range around a patrol car
250 m-5 kmcell-tower range instead of an exact position
105main-flow checks at four resolutions
AT A GLANCE
01

The problem

Police roleplay falls apart when officers have nowhere to put what they find. Notes end up in Discord, warrants are forgotten after a restart and a fine depends on someone typing the right amount. Freedom Roleplay needed one place where Police and Defence, the server's military police, record their work, check who and what they are dealing with, and build on what a colleague did an hour ago. It borrows its name from the Dutch police's own mobile app, MEOS, but the screens, records and workflows are its own.

02

What officers do with it

MEOS opens on a tablet the character holds, through /meos or a key. The work overview shows open drafts, case files in progress, incoming calls and active warrants. From there an officer:

  • Looks up a person by full name, birth date or person number and sees identity, licences, fingerprint number, vehicles, linked case files, fines and any active sentence. No account identifiers, bank balance or live location.
  • Looks up a plate and sees the registered owner, impound status, warrants and the last ANPR sightings with street, time and officer.
  • Writes a case file (report, check, complaint, arrest or log) with up to 12 people, 8 plates, 16 offences and 20 evidence items. Every save stores a full version, so nothing is overwritten silently.
  • Issues one of five warrant types (wanted, armed and dangerous, missing, stolen, attention) with an expiry between 1 and 168 hours.
  • Writes a fine from the offence book: 57 offences, each with an amount and a jail guideline. The fine goes through the billing system, also to players who are offline.

Top ranks manage their own corps from the same tablet: fine tariffs within the server's economy bands, hiring, promotion, dismissal and delegated rights, with a full change history. Police and Defence share records and tariffs, but each manages its own people.

MEOS person lookup with identity, licences, fingerprint number and an attention warrant banner
INTERFACE / PERSON LOOKUP
03

Where the data comes from

Records are only useful if the world feeds them. Six patrol car models carry an ANPR display that reads plates within 30 metres with line of sight. A plate with an active warrant, or a car whose registered owner has one, beeps by severity and shows direction and distance. One key opens MEOS on that plate, and every hit is stored as a sighting colleagues can see for 30 days. The 16 border posts on the roads out of the city log every passing car the same way. When the server detects a car theft, it creates a two-hour stolen warrant on its own.

The telephony page connects MEOS to the crime side. Once an officer opens a burner phone taken from a suspect, its numbers become searchable. Tracing a number shows which seized burners contain it, under what name and with which calls and texts. An officer can also request a cell-tower lookup with a case number and a written reason. A senior officer approves or rejects it; if nobody decides within five minutes, the on-call prosecutor decides automatically. The result is a tower with street and district and a range between 250 metres and 5 kilometres, never an exact position.

In-car ANPR display flashing an armed-and-dangerous hit with plate, model, owner warrant and distance
INTERFACE / ANPR HIT IN THE PATROL CAR
04

The hard part: trusting nothing from the client

A tablet like this is a business application inside a game, and it gets the same treatment. Every request is checked again on the server: is this player police or Defence, on duty, conscious, not cuffed, still the same character and still in a valid session. Case files carry a version number and a lock, so two officers editing the same file cannot overwrite each other; the second one gets a refresh button and keeps what they typed. Every write carries a request code, so a double click or a retry after lag never creates two records.

Fines were the trickiest part. Billing can store a fine and then fail to confirm it back. MEOS stores the send order with a unique source reference first, so a retry picks up the same fine instead of billing twice. Lookups and changes go to the server log, and access that expires while a database call is still running returns nothing.

05

Small things officers noticed

Officers kept getting idle warnings while writing long reports and closed MEOS to walk around, losing their draft. Closing now only hides the tablet. Reopening restores the page, the half-written case file, any open dialog, scroll positions and the cursor, and data pages show when they were loaded with a refresh button. The tablet still fetches a fresh session from the server on every open.

06

How it was tested

The server modules ran 71 checks against real SQL on throwaway MariaDB tables, the interface 105 main-flow checks at four screen resolutions, and the telephony page another 163 browser checks. Those are technical checks. How it plays is decided by the officers who use it on the live server.

NEXT CASE / 02 Border control Sixteen custom-built border posts close every road between the city and the county: inspection lanes with road blockers, barriers and spikes that police run lane by lane, and fixed ANPR into MEOS.

Want this on your server?

Your server next?

Got a script in mind, or a server that needs fixing? Reach out on Discord or by mail. I usually respond within a few hours.

Aaron's avatar aarons1454
DISCORD, FASTEST RESPONSE
EMAIL contact@aaron.cv

ENGLISH / DUTCHREMOTE, ASYNCSOURCE INCLUDED

© 2026 aaron.cv contact@aaron.cv Discord aarons1454