Every option in shared/config.lua and shared/config/*.lua with defaults and descriptions.
Configuration#
The options live in shared/config.lua and in the files of shared/config/. Call scenarios are in shared/scenarios.lua and shared/scenarios/*.lua, call locations in shared/locations.lua. These files, server/bridge.lua, locales/ and compat/ are not escrowed, so you can edit them freely. Restart the resource after changes.
File Purpose shared/config.luaCore options: access, modes, stations, departments, units, AI fleet, calls, pay, AI callers, koja-mdt, 3D map shared/config/career.luaConfig.Career: ranks, XP and unlocksshared/config/dynamics.luaConfig.Dynamics: call events, stages, weather and time weightingshared/config/editors.luaConfig.Editors: limits of the scenario and fleet editorsshared/config/fleet.luaConfig.Fleet, Config.Mci, Config.HospitalBedsshared/config/integrations.luaConfig.Phones, Config.Compat, Config.Discordshared/config/mdt.luaConfig.MdtStatus, Config.MdtToolsshared/config/pursuit.luaConfig.Pursuit, Config.Patrolshared/config/stats.luaConfig.Statsshared/config/training.luaConfig.Trainingshared/config/voice.luaConfig.Voiceshared/scenarios.lua, shared/scenarios/*.luaCall scenarios: lines, answers, hidden needs, correct instruction, timings, escalation, scene shared/locations.luaPlaces where generated calls happen, with tags (store, bank, residential...) server/custom/*.lua, client/custom/*.luaYour own code. Loaded after the built-in files, with access to the same KOJA, Config and exports.
Config and the admin menu
Many options can also be changed in game with /dispatchadmin. The config value is the default. Once a value is saved in the admin menu, the database value wins until you press Reset to default for it, or Reset all settings . The admin key of each option is listed in Admin menu .
No secrets in config files
shared/ is sent to every player. API keys and webhook URLs go in server.cfg as convars with set. See Installation .
General#
Option Default Description Config.DebugfalsePrints extra debug lines in the server console. Config.Locale'en'Language file from locales/. See Translations . Config.VersionCheck.enabledtrueRuns the version check through koja-lib after start and prints the result.
Config.Admin#
Option Default Description command'dispatchadmin'Command that opens the admin menu. groups{ 'admin', 'god', 'superadmin' }Framework groups that may open it. ace'koja-dispatcher.admin'ACE that also grants access.
Config.Modes#
Defaults of the three modes. Explained in Admin menu .
Option Default Values calls'mixed''generated', 'real', 'mixed'units'mixed''ai', 'players', 'mixed'noDispatcher'reject''reject', 'auto', 'mdt'
Config.Dispatcher#
Option Default Description jobs{ dispatch = 0, police = 4, ambulance = 4 }Jobs allowed to work as dispatcher, with the lowest grade. Replaced by the list saved in the admin menu. Only these players see the start prompt at a station. setDutytrueSets the framework job duty on when a shift starts and off when it ends. maxDispatchers0Dispatchers on shift at the same time. 0 means no limit. remotefalseAllows the remote CAD: allowed jobs open the CAD anywhere with remoteCommand, without a station. remoteCommand'cad'Remote CAD command. Empty string removes the command. consoleRange3.0Distance in metres to a station to start a shift. Walking more than consoleRange + 4 away ends the shift.
Config.Keys#
Default keys. Players can rebind them in the FiveM key bindings. See Commands and keybinds .
Option Default Description console'F7'Reopen the CAD while on shift. acknowledge'Y'Field unit: acknowledge the assignment and set the GPS. code4''Field unit: report code 4. Unbound by default, /code4 works.
Config.Consoles#
Default dispatch stations, used until a station is saved in the admin menu. Each entry:
Field Example Description id'mrpd'Unique id. label'Mission Row Communications'Name shown on the station screen and in the CAD. coordsvector4(441.09, -978.86, 30.69, 180.0)Position and heading of the dispatcher. pose'stand''stand' or 'sit'.blip{ enabled = true, sprite = 459, color = 3, scale = 0.75 }Map blip.
Config.StationPanel#
The in-world screen over each station that shows whether it is free, who is on shift and how to start.
Option Default Description enabledtrueShow the screen. distance12.0Distance in metres at which the screen is drawn for the nearest station. height1.3Height of the screen above the station position. width640Width of the screen page in pixels. pixels360Height of the screen page in pixels.
Config.Cinematic#
The camera fly-in when a shift starts.
Option Default Description enabledtruePlay the intro. Also the admin setting features.cinematic. Players can skip it for themselves in the CAD settings. skippabletrueSpace or Enter skips it. approachDuration4500Milliseconds of the flight from the establishing shot to the shoulder. settleDuration1500Milliseconds of the shoulder shot. screenDuration1300Milliseconds of the move onto the monitor.
Departments and units#
Config.Departments#
The three departments. A player is a field unit when their job is in jobs and they are on duty.
Key Label Color Jobs Callsign prefix Blip color police'Police''#3d8bff'police, sheriff'ADAM'3ems'EMS''#ff5d6c'ambulance'MEDIC'1fire'Fire''#ff9f2e'fire'ENGINE'17
Fields: label, color (CAD color), jobs (framework jobs), prefix (default player callsign is <prefix>-<server id>), blipColor.
Config.UnitTypes#
Type Department Label Speed Power Notes patrolpolice Patrol 24.01k9police K9 22.01swatpolice SWAT 18.02airpolice Air 55.01direct = true, flies straightambulanceems Ambulance 22.01medic_airems Air ambulance 50.01direct = trueenginefire Engine 17.01ladderfire Ladder 15.02playerany Field unit 0.01Real players
speed is the travel speed of AI units in metres per second. power is how much a unit counts toward an incident's needs: a SWAT van counts as two police units. direct units ignore the road network.
Config.Units#
Option Default Description arriveRadius35.0Metres from the incident at which a unit is on scene. searchRadius350.0Radius units search when the exact location was never asked. searchSeconds12Seconds units search the area before they find an unlocated scene. roadFactor1.35Without road routing, AI speed is divided by this to imitate road distance. trackInterval1000Milliseconds between reads of player unit positions. membershipInterval5000Milliseconds between checks of who is an on-duty field unit.
Config.Roads#
AI ground units drive along the game's road network (data/roads.json, loaded on the server only).
Option Default Description enabledtrueUse road routing. false makes units drive in a straight line. file'data/roads.json'Road graph file. cellSize150.0Grid cell size for finding the nearest road. maxSnapRings12How many grid rings are searched for the nearest road. zWeight0.5Weight of the height difference when snapping (keeps units off bridges above them). speedFactor{ [0] = 0.6, 0.9, 1.15, 1.45 }Speed multiplier per road class, from small roads to freeways. maxExpansions20000Search limit of one route. cacheSize64Routes kept in the cache.
Config.AiUnits#
Option Default Description enabledtrueSpawn the AI fleet. disableWhenPlayers3AI units of a department go off duty while this many players of that department are on duty. 0 never. Only used when units are mixed. stations11 stations id = { label, coords }: mrpd, vespucci, sandy, paleto (police), pillbox, zonah, sandy_med (EMS), fs7, davis_fire, sandy_fire, paleto_fire (fire).fleet19 units { callsign, type, station }. Five units at Mission Row (two patrols, K9, SWAT, AIR-1), two patrols in Vespucci, one in Sandy and one in Paleto, five ambulances and LIFEFLIGHT, two engines and a ladder at Station 7, and one engine each in Davis, Sandy and Paleto.
The fleet can also be edited in game. Once the AI fleet page of the admin menu takes over, stations and fleet from this file are no longer used. See Admin menu .
Config.Hospitals#
List of vector3 hospital positions where ambulances take patients: Pillbox, Mount Zonah, Central Los Santos, Sandy Shores and Paleto Bay. With hospital beds on, Config.HospitalBeds.list is used as well.
Calls and incidents#
Config.Calls#
Option Default Description generatetrueMaster switch for generated AI calls. intervalMin35Shortest gap in seconds between generated calls. intervalMax80Longest gap in seconds. perDispatcherSpeedup0.15Calls come this much faster for every extra dispatcher on shift. maxRinging4No new generated call while this many are ringing. maxActiveIncidents10No new generated call while this many incidents are open. patience45Seconds a generated caller waits before hanging up (a missed call). approximateRadius300.0Size of the approximate area shown before the dispatcher asks for the location. playerCommand'911'Command players use to call 911. playerReplyWindow180Seconds a player's 911 text line stays open. Another /911 in that window is added to the same call.
Generated calls only come while at least one dispatcher is on shift.
Config.Incidents#
Option Default Description lifetimeAfterEnd20Seconds a closed incident stays visible before it is removed. maxLog40Radio log lines kept.
Config.Field#
What field units (players) get when they are dispatched.
Option Default Description notifytruePlay a sound with the assignment toast. waypointtrueDraw a GPS route to the incident blip. Also the admin setting features.fieldWaypoint. scenestrueSpawn the scene (injured, brawlers, crowd, fire, wrecks) when a player unit gets close. Also features.fieldScenes. sceneRadius140.0Distance at which the scene spawns.
Config.Sensors#
Witness calls from what happens in the world. A sensor only creates a call when a dispatcher can take it (someone on shift and call sources are not generated). Each sensor has a cooldown per player. The enabled values are the defaults of the admin switches features.sensorDowned, features.sensorShots and features.sensorCrash, which apply live.
Option Default Description downed.enabledtrueA player down for delay seconds triggers a call. downed.delay25Seconds down before the call. downed.chance0.7Chance that a witness calls. downed.cooldown300Seconds between calls for one player. downed.ignoreDepartmentsfalsetrue ignores on-duty police, EMS and fire.shots.enabledtrueGunfire triggers a call. shots.chance0.45Chance that a witness calls. shots.cooldown90Seconds between calls for one player. shots.ignoreDepartmentstrueIgnore on-duty police, EMS and fire. shots.ignoreSuppressedtrueSilenced weapons do not trigger calls. crash.enabledtrueA hard vehicle crash triggers a call. crash.chance0.35Chance that a witness calls. crash.cooldown120Seconds between calls for one player. crash.minSpeedLoss55.0Speed loss in km/h that counts as a crash.
Config.Map#
Option Default Description showCivilianstruePlayers without a service job appear as dots. Admin features.showCivilians. showNpcPedsfalseShow networked NPC peds. Costs performance. Admin features.showNpcPeds. npcLimit250Maximum NPC peds sent to the map. npcInterval3000Milliseconds between NPC updates.
Config.Score#
Points for the dispatcher's shift score.
Option Default Description resolved1.0Multiplier of the incident's points when it is resolved. fastBonusSeconds90First unit on scene within this many seconds gives the fast bonus. fastBonus0.5Fast bonus: +50 % points. failed-1.0Multiplier of the incident's points when it fails. missedCall-25A generated call that rang out or was hung up. Pressing Prank on a generated call that is not a prank costs double. correctCode20The call was classified with the right category. wrongCode-10Wrong category. prankCaught30A prank call caught with the prank button. prankDispatched-40A prank call dispatched anyway. goodInstruction15The right pre-arrival instruction. badInstruction-10A wrong instruction.
Config.Pay#
Paid when the shift ends: (perMinute ร minutes + perPoint ร score), multiplied by 0.6 + 0.1 ร star rating, capped at maximum.
Option Default Description enabledtruePay dispatchers. account'bank'Account that receives the money. perMinute6Money per minute on shift. perPoint2Money per score point (negative scores pay nothing extra). minimumMinutes3Shorter shifts are not paid. maximum15000Highest payout per shift. 0 means no cap.
Config.Security#
Every request from the CAD is rate limited per player with a token bucket.
Option Default Description burst10Bucket size. perSecond6Refill per second. limitsper request Stricter { burst, perSecond } per request name, for example ['field:911'] = { 2, 0.05 } (one /911 every 20 seconds after the burst). The files in shared/config/ add limits for their own requests.
Config.Avatars#
Character headshots shown in the CAD and on the station screen.
Option Default Description enabledtrueTake and store headshots. transparenttrueTransparent background. size128Image size in pixels. format'image/webp'Image format. quality0.85Image quality. captureDelaySeconds3Delay before the capture. refreshMinutes60A stored headshot older than this is taken again. sweepSeconds60How often the server looks for units and dispatchers without a headshot. minUploadSeconds60Minimum seconds between uploads from one player. maxLength150000Largest accepted image in characters. batch24Headshots sent to the CAD per request.
Config.Voices#
Recorded caller voices.
Option Default Description perScenario4Voices a scenario can use. Picked from the lists by the scenario name, so a scenario always sounds like the same set of people. female10 voices jessica, sarah, matilda, laura, bella, alice, lily, carol, rachel, cassidy.male10 voices liam, chris, bill, roger, callum, will, brian, adam, eric, charlie.
Config.AI#
Live AI callers. Off by default. Keys are read from the convars koja_dispatch_openai_key and koja_dispatch_elevenlabs_key.
Option Default Description enabledfalseTurn AI callers on. Also the admin setting features.aiCallers. chance1.0Share of generated calls that become AI calls. model'gpt-4.1-mini'OpenAI Chat Completions model. For reasoning models (gpt-5*, o*) the temperature is not sent; set reasoningEffort and raise maxTokens. temperature0.9Model temperature. maxTokens160Reply length limit. maxTurns24AI replies per call. After that the call continues with the scripted answers. timeout7000Request timeout in ms (max 9000). On a timeout or error the scripted answer is used. generateOpeningfalsetrue lets the model phrase the opening line as well (one more request when the call is answered).language'en'Language the caller speaks and the transcription language. tts'elevenlabs''elevenlabs', 'openai' or 'none' (silent AI callers).elevenlabs.model'eleven_flash_v2_5'ElevenLabs model. elevenlabs.format'mp3_22050_32'Audio format. elevenlabs.stability, similarity, style0.35, 0.75, 0.45Voice settings. elevenlabs.voices20 entries Map of the caller voices (Config.Voices) to ElevenLabs voice ids. Replace them with voices from your account if the defaults are not available. openaiTts.model'gpt-4o-mini-tts'OpenAI speech model. openaiTts.voices20 entries Map of the caller voices to OpenAI voices. speechtrueHold to talk button: the dispatcher's microphone is recorded and transcribed. Hidden when the microphone is not available.transcribeModel'gpt-4o-mini-transcribe'Transcription model. maxRecordSeconds15Longest recording. maxAudioBytes600000Largest accepted recording.
Config.Api#
Option Default Description clientAlertsfalseAllow the client export SendAlert. Admin api.clientAlerts. See Client exports .
Config.Mdt#
Link to koja-mdt. See Integrations .
Option Default Description resource'koja-mdt'MDT resource name. enabledtrueUse the MDT when it runs. Admin mdt.enabled. code'911'Call code of calls created in the MDT. pushIncidents'real''off', 'real' (from players, API, manual, sensors and the MDT) or 'all' (also generated calls).pullCalls'calls''off', 'calls' (ring at the console) or 'incidents' (open straight as an incident).syncStatustrueSync unit status and assignments both ways. useCallsignstruePlayer units use their MDT callsign.
Config.Map3D#
The 3D terrain scan (/dispatchscan). The release already ships a scanned heightmap; scan again only after big map changes.
Option Default Description scanCommand'dispatchscan'Command that starts the scan. cellSize16.0Sample spacing in metres. boundsminX = -4096, maxX = 4608, minY = -4352, maxY = 8448Area that is scanned. samplesPerFrame2500Height samples taken per frame on the client. rowsPerChunk16Rows sent to the server per message. uploadBps250000Upload speed limit in bytes per second. exaggeration1.15Terrain height scale in the 3D view (written into height.json by a scan).
Module files#
Config.Career (career.lua)#
Option Default Description enabledtrueRanks, XP and unlocks. Admin career.enabled. xp.perScore0.25XP per positive score point. xp.perResolved12XP per resolved incident. xp.perCoded4XP per correctly classified call. xp.perGoodInstruction6XP per correct instruction. xp.perMinute1.5XP per minute on shift. xp.perMissed-15XP per missed or dropped call. xp.perFailed-10XP per failed incident. xp.maxLossPerShift120Most XP a shift can take away. seed.perScore, seed.perResolved0.5, 10Starting XP for dispatchers who already have shifts in koja_dispatch_shifts when career is first used. ranks5 ranks See below. gates3 gates Perk needed to answer calls of these categories.
Rank XP Lines Pay Perks Trainee 0 1 x1.0 Dispatcher 400 2 x1.1 pursuitsSenior Dispatcher 1800 3 x1.25 hostage, mciSupervisor 5000 3 x1.4 superviseChief 12000 4 x1.6
lines is the number of calls a dispatcher can hold at once. pay multiplies the shift pay. Perks carry over to higher ranks. Gates: pursuits for pursuit, hostage for hostage and officer_down, mci for mci and mass_casualty. supervise lets the dispatcher take over calls and incidents of others.
Config.Dynamics (dynamics.lua)#
Option Default Description eventstrueScenario events during calls. Admin dynamics.events. stagestrueMulti-stage incidents. Admin dynamics.stages. weathertrueWeather and time weighting of generated calls. Admin dynamics.weather. strength1.0How strongly weather and time change the weights (0 to 2). Admin dynamics.strength. reportInterval30Seconds between hour and weather reports from dispatcher clients. reportTtl120Seconds a report stays valid. boost1.8Weight multiplier when a scenario's time or weather list matches. unmatched0.6Weight multiplier when it does not match. eventDelay2Default delay in seconds of events triggered by a question or instruction. periodsday 7-17, evening 18-21Hours of each period. Other hours are night. weatherGroupsGTA weather types Maps CLEAR, RAIN, THUNDER, FOGGY, SNOW... to clear, sunny, clouds, rain, storm, fog, snow. weatherAliasesper group Words a scenario's weather can use for each group (storm also matches rain and wet). categories13 categories Multipliers per category, for example traffic x2.0 in rain and x2.6 in snow, burglary x1.9 at night. scenarios21 scenarios Time or weather lists for built-in scenarios, for example drunk_driver only at night, brush_fire in sunny or clear weather by day.
The weather comes from GlobalState.weather or GlobalState.currentWeather when a weather sync sets it, otherwise from the dispatchers' clients.
Config.Editors (editors.lua)#
Option Default Description maxCustom100Custom scenarios. maxText240Characters per scenario line. maxLocations10Custom locations per scenario. maxUnits80AI units in the fleet editor. maxStations30AI stations in the fleet editor.
Config.Fleet (fleet.lua)#
Fatigue and damage of AI units.
Option Default Description enabledtrueAdmin fleet.enabled. fatigueRate6.0Fatigue (0-100) gained per minute on scene. Admin fleet.fatigueRate. travelFactor0.35Share of fatigueRate gained while driving. idleRecovery4.0Fatigue lost per minute while idle. restThreshold80At this fatigue the unit returns to its station to rest after the job. exhaustedAt100At this fatigue the unit leaves the job at once. slowAt60From this fatigue the unit drives slower. slowPenalty0.25Speed lost when tired (25 %). restSeconds180Rest time at the station. Admin fleet.restSeconds. repairSeconds240Repair time at the station. Admin fleet.repairSeconds. damageChance0.25Chance of damage on a violent call. Admin fleet.damageChance. damageDelay{ 6, 30 }Seconds on scene before the damage happens. damageAmount{ 35, 100 }Damage range. damageCategoriesshooting, hostage, pursuit, assaultViolent categories. damageDepartmentspolice = 1.0, ems = 0.4, fire = 0.4Damage chance multiplier per department. homeRadius25.0Distance at which a unit counts as back at its station. broadcastStep5Fatigue and damage are sent to the CAD in steps of this size.
Config.Mci (fleet.lua)#
Mass casualty incidents.
Option Default Description enabledtrueTurn MCI on. category'mci'Category of MCI incidents. patients{ 4, 12 }Number of patients. mixred = 0.25, yellow = 0.35Share of red and yellow patients. The rest are green. stabiliseSeconds20Seconds an ambulance crew needs to stabilise a red or yellow patient. airStabiliseSeconds14The same for the air ambulance. treatSeconds25Seconds to treat a green patient on scene. deteriorateSeconds150Untreated patients get worse after this time. exposureFactor0.5Danger builds at this rate compared to a normal incident. minFail900An MCI fails after at least this many seconds.
Config.HospitalBeds (fleet.lua)#
Option Default Description enabledtrueTrack beds. Admin hospitals.enabled. turnoverSeconds600Seconds until an occupied bed is free. Admin hospitals.turnoverSeconds. turnoverJitter0.3Random spread of the turnover time. handoverSeconds8Patient handover at a hospital with a free bed. overflowSeconds45Handover when every hospital is full. defaultBeds8Beds of a hospital without its own count. nearlyFull0.75Occupancy shown as nearly full. list5 hospitals { id, label, coords, beds }: Pillbox 14, Mount Zonah 10, Central Los Santos 8, Sandy Shores 4, Paleto Bay 4.
Config.Phones (integrations.lua)#
Option Default Description enabledtruePhone 911. Admin phones.enabled. resource'auto''auto' or a phone name. Admin phones.resource.number911Service number. Admin phones.number. orderlb-phone, qs-smartphone-pro, gksphone, npwd, yseriesOrder in which auto looks for a running phone. companiespolice, sheriff, ambulance, ems, fire, lspd, bcso, safdlb-phone company apps that count as 911. endCalltrueEnd the phone call and continue as a text thread. threadMinutes20Dispatcher replies are sent as phone messages for this long. cooldown2Seconds between phone calls from one player.
Config.Compat (integrations.lua)#
Option Default Description enabledtrueAccept alerts from other dispatch scripts. Admin compat.enabled. mode'call''call' rings at the console, 'incident' opens an incident. Admin compat.mode.autoAssigntrueIncidents only: send the nearest free units. Admin compat.autoAssign. maxDistance600.0Alert positions further than this from the sending player are moved to the player. dedupeSeconds20The same alert at the same place within this time is dropped. rate{ 8, 10 }Alerts per player: 8 per 10 seconds.
Config.Discord (integrations.lua)#
Option Default Description enabledtrueAdmin discord.enabled. Nothing is sent without a webhook convar. shifts, incidents, calls, admin, eventstrueWhat is logged. Admin discord.*. minPriority3Lowest incident priority logged. 3 logs all, 1 only priority 1. interval2000Milliseconds between sends per webhook. maxQueue200Embeds queued per channel. username'Koja Dispatcher'Webhook user name. colorsper kind Embed colors for shift, resolved, failed, cancelled, missed, admin, event.
Config.MdtStatus (mdt.lua)#
Field status codes for players. See Commands and keybinds .
Option Default Description bindSuggestedfalsetrue binds the suggested keys (Numpad 1-9, F10 for the menu) by default.menuKey''Default key of the quick menu. suggestedMenuKey'F10'Menu key used when bindSuggested is on. command'tencode'Command: /tencode <code>, or no argument for the menu. Empty removes it. codes8 codes { id, action, status, mdt, key, suggested }. action is status, backup or panic; status is the CAD unit status; mdt is the koja-mdt status; key is a fixed default key for that code; suggested is the key used with bindSuggested.backup.category, priority, mdtCode'officer_down', 1, '10-78'Incident created by a backup request, and the MDT call code. panic.category, priority, units'officer_down', 1, 4Incident created by a panic without koja-mdt, and how many extra units it asks for.
Code Action Unit status MDT status Suggested key 10-8status available available Numpad 1 10-6status busy busy Numpad 2 10-97status en route enroute Numpad 3 10-23status on scene onscene Numpad 4 10-7status unavailable break Numpad 5 10-15status transport busy Numpad 6 backupbackup Numpad 8 10-99panic Numpad 9
Option Default Description departmentnilDepartment id sent with BOLOs and mail created in koja-mdt. boloLimit100BOLOs read from the MDT. searchLimit20Results of a person search. alertSeconds12Not read by the current code. flags{ 'stolen', 'wanted' }Vehicle flags the dispatcher can set from the workspace.
Config.Pursuit (pursuit.lua)#
Option Default Description enabledtrueAdmin pursuit.enabled. maxActive2Pursuits at once. Admin pursuit.maxActive. loseSeconds40Suspect lost after this long without a visual. Admin pursuit.loseSeconds. reportedSeconds240Suspect lost when no unit spots it within this time. speedFactor1.15Suspect speed compared to a patrol car. Admin pursuit.speedFactor. unitSpeedFactor1.1Speed of chasing units. visualRange180.0Distance at which a ground unit sees the suspect. airVisualRange480.0The same for helicopters. catchRange30.0Distance at which units box in a slowed or stopped suspect. catchSeconds5Seconds of boxing in to catch the suspect. chaseReroute3.0Seconds between route updates of chasing AI units. playerUpdate2.0Seconds between updates for chasing player units. broadcastInterval1.0Seconds between map updates. destinationMin, destinationMax500.0, 1400.0Distance of the suspect's escape target. trailPoints, trailEvery14, 2.0Trail drawn behind the suspect. spikes, roadblocks3, 2Tools per pursuit. Admin pursuit.spikes, pursuit.roadblocks. spikeChance0.65Chance a spike strip hits. Admin pursuit.spikeChance. roadblockChance0.5Chance a roadblock stops the suspect. Admin pursuit.roadblockChance. triggerRadius22.0Distance at which the suspect reaches a tool. snapRadius45.0A tool must be placed within this distance of a road. roadblockSeconds150Lifetime of a roadblock. roadblockCooldown25Seconds before the same roadblock can try again. spikedFactor0.3Speed of a spiked suspect. stopSeconds14Seconds a stopped suspect stays stopped. crashChance0.004Chance per second that a suspect in sight crashes. escalationChance0.3Chance that an escalating incident turns into a pursuit. Admin pursuit.escalationChance. escalationCategoriesrobbery, burglary, assault, shooting, hostage, domestic Categories that can turn into a pursuit. need{ police = 2 }Needs of a pursuit.
Config.Patrol (pursuit.lua)#
Option Default Description enabledtrueAdmin patrol.enabled. maxZones8Zones at once. Admin patrol.maxZones. speedFactor0.6AI speed while patrolling. Admin patrol.speedFactor. maxVertices24Points per polygon zone. minRadius, maxRadius60.0, 1500.0Circle zone radius limits. pickAttempts12Tries to find a patrol point on a road inside the zone. nameLength32Zone name length.
Config.Stats (stats.lua)#
Option Default Description enabledtrueStore closed incidents. Admin stats.enabled. retentionDays30Days kept. Admin stats.retentionDays. binSize80.0Heatmap cell size in metres. heatCap1200Heatmap cells sent at most. cacheSeconds20Statistics cache. topStreets8Busiest streets listed. topDispatchers8Dispatchers on the leaderboard. pruneMinutes60How often old rows are deleted.
Config.Training (training.lua)#
Option Default Description scenario'training_practice'Scenario used for practice calls. maxPracticeCalls3Practice calls a trainee can have open at once.
Config.Voice (voice.lua)#
Option Default Description enabledtrueVoice 911 calls. Admin voice.enabled. provider'auto''auto', 'pma-voice' or 'mumble-voip'. Admin voice.provider.channelBase91100First call channel. Admin voice.channelBase. channelRange900Channels used from channelBase. endOnDispatchtrueEnd the voice call when the call is dispatched. Admin voice.endOnDispatch. allowTransfertrueDispatchers can hand the voice call to a field unit. Admin voice.allowTransfer. talkingPollMs150How often the talking indicator is checked. keepAliveSeconds5Keeps a call with an open voice line from timing out. hangupCommand'hangup911'Command callers and units use to leave the voice call. indicatorx = 0.5, y = 0.045, width = 0.118, height = 0.03Position and size of the on-screen call indicator for the caller and the unit.