Join Discord
Modul Development

Modul 911

Free

Give your civilians a real emergency line — free. Modul 911 is a complete civilian emergency call system wired straight into the LB Tablet police MDT: /911, /ems, /fire, anonymous and silent calls, cancellation, cooldowns and full abuse prevention — built to drop into any Qbox, QBCore, ESX or standalone server. Free forever, with every config, locale, framework bridge and integration file open for customization.

Qbox QBCore ESX Standalone LB Tablet LB Phone ox_lib nearest-postal ps-dispatch cd_dispatch

Straight into the LB Tablet MDT

Calls land as native LB Tablet dispatches using only the official, documented exports — verified against the current API, no undocumented internals, no modified LB files. Officers get a full call card: priority, code, street and cross street, postal, zone, caller name and phone number (each individually toggleable), server ID and timestamp — and use LB Tablet's normal dispatch features to attach units, set status and navigate to the call. Route by job or by MDT identifier, your choice. Callers can even be told when a unit is assigned and when their call closes.

Every way to call for help

  • /911 [message] — police by default; /ems and /fire route to their own departments, every command renameable and per-service disableable
  • /911anon — officers see "Anonymous Caller", while admin logs keep the real identity
  • /911silent — one keypress, no message, high-priority call with the caller's live location
  • /cancel911 — cancels via official UpdateDispatch with a canceled note (or removes it, your choice)
  • Optional ox_lib dialog mode: bare /911 opens a form with emergency type, description and an anonymous checkbox — ox_lib is never required in command mode
  • Street + cross street detection, zone, and postal via nearest-postal, qb-postals or any custom export
  • Phone numbers from LB Phone, framework metadata or a custom callback — works fine with none at all

Abuse prevention that actually holds

  • Server-side cooldowns per call type (normal / anonymous / silent), keyed by license so reconnecting never resets them
  • Rolling rate limit window, duplicate-message detection and a blocked-words list
  • /911mute, /911unmute, /911clearcooldown, /911status — ACE and framework-admin protected
  • Optional session playtime gate and a modul911.bypass ACE for staff
  • Discord webhook logging of successful, blocked and canceled calls with full identifiers — even for anonymous calls

Built like it's ours to lose

  • Coordinates are derived server-side (OneSync) and bounds-checked — never trusted from the client
  • Postal resolved server-side too when nearest-postal is installed (its server export, verified)
  • Every network event namespaced, type-checked and size-limited; all user text sanitized
  • The webhook lives in a server-only config file and can never reach a client
  • Dispatch fallback layer: if LB Tablet is stopped, calls degrade to built-in job-scoped alerts with map blips — or ps-dispatch, cd_dispatch, your own export. The emergency line never goes down
  • 0.00 ms idle — fully event-driven, no permanent loops, framework detected once and cached

Requirements: none mandatory. LB Tablet, ox_lib, LB Phone, nearest-postal and your framework are all optional and auto-detected. OneSync required (standard on modern servers).

Installation: drop into resources, ensure modul_911, add two ACE lines from the README, restart. One commented config file covers services, commands, cooldowns, identity visibility, dispatch routing, notifications and logging.