Matrix Signs Configuration Reference
This document provides a complete reference for every setting in config.lua for the MTM Highway Matrix Signs system.
Configuration Categories Summary
Section titled “Configuration Categories Summary”| Section | Scope | Key Settings |
|---|---|---|
| 1. Language & General | Display language, chat commands, keybinds, streaming range | Config.Language, Config.command, Config.accessKey, Config.RenderDistance |
| 2. Security & Permissions | FiveM ACE permission restrictions | Config.UseAcePermissions, Config.AcePermission |
| 3. ESX Job Whitelist | Job-based access restrictions | Config.commandProtection, Config.commandWhitelist |
| 4. Web Control & API | External HTTP REST API toggles and secret API keys | Config.EnableWebAPI, Config.WebApiKey |
| 5. MTM-PADUI Tablet | In-game iPadOS tablet app registration and metadata | Config.PadApp.Enabled, Config.PadApp.Id, Config.PadApp.Category |
| 6. Localizations | Multi-language translation dictionary | Config.Locales |
Complete config.lua Source
Section titled “Complete config.lua Source”Config = {}
-- ============================================================================-- 1. LANGUAGE & GENERAL SETTINGS-- ============================================================================
-- System display language: "en" (English) or "nl" (Dutch)Config.Language = 'en'
-- Command used to open the matrix signs interface in chat (/matrix:menu)Config.command = 'matrix'
-- Default keyboard keybind to open the menu (e.g. 'F5', 'U', or '' to disable)Config.accessKey = 'F5'
-- Vertical height offset (Z-axis) for spawned matrix signs (+0.4 recommended)Config.ZOffset = 0.4
-- In-game 3D prop streaming distance in meters (350.0m default)Config.RenderDistance = 350.0
-- ============================================================================-- 2. SECURITY & PERMISSIONS-- ============================================================================
-- Enable FiveM ACE permissions via server.cfg (set to true to restrict access)Config.UseAcePermissions = false
-- The ACE permission identifier (e.g. add_ace group.police "matrixborden.use" allow)Config.AcePermission = 'matrixborden.use'
-- ============================================================================-- 3. ESX JOB WHITELIST (OPTIONAL)-- ============================================================================
-- Restrict access to specific ESX jobs (set to true to enable job verification)Config.commandProtection = false
-- Whitelist of job names authorized to open and modify matrix signsConfig.commandWhitelist = { "police", "ambulance", "mechanic", "kmar"}
-- ============================================================================-- 4. WEB CONTROL CENTER & HTTP REST API SETTINGS-- ============================================================================
-- Enable or disable the built-in Webserver & HTTP REST API.-- true = External web browsers, dispatch centers, live web maps & CAD/MDT can connect.-- false = Webserver and HTTP API disabled; resource runs purely local in-game via NUI (/matrix:menu).Config.EnableWebAPI = true
-- Security: Secret API Key for external requests via the website or REST API.-- Leave empty ("") if you do not want to require an API key / password.Config.WebApiKey = ""
-- ============================================================================-- 5. MTM-PADUI TABLET APP CONFIGURATION-- ============================================================================
Config.PadApp = { Enabled = true, -- Automatically register the app in the MTM-PADUI tablet Id = 'mtm_matrix', -- Unique App ID in the tablet Name = { ['en'] = 'Traffic Matrix Signs', -- App name in English ['nl'] = 'Matrixborden Beheer' -- App name in Dutch }, Category = { ['en'] = 'Emergency Services & Police', -- Main category in the App Store ['nl'] = 'Hulpdiensten & Politie' }, SubCategory = { ['en'] = 'Traffic & Infrastructure', -- Subcategory / Tag ['nl'] = 'Verkeer & Infrastructuur' }, Description = { ['en'] = 'Real-time interactive highway matrix sign management system with live road map, lane controls, and advisory speed settings.', ['nl'] = 'Real-time interactief matrixborden beheersysteem voor snelwegen met live wegenkaart, rijstrookbediening en adviessnelheden.' }, Author = 'Mountain Mods', -- Developer / Author name Version = 'v2.0.0', -- App version string Rating = { ['en'] = '★ 5.0 (Traffic)', -- Rating badge / tag ['nl'] = '★ 5.0 (Verkeer)' }, Icon = 'fa-solid fa-traffic-light', -- FontAwesome icon class or image URL IconBg = 'linear-gradient(135deg, #d97706 0%, #b45309 100%)', -- Icon background (CSS gradient or hex color) IconColor = '#ffffff', -- Icon glyph color Badge = 'LIVE', -- Optional status badge on the homescreen icon (e.g. 'LIVE' or nil) InstalledByDefault = false -- Pre-installed on home screen (true) or downloadable via App Store (false)}
-- ============================================================================-- 6. LOCALIZATIONS & TRANSLATIONS-- ============================================================================
Config.Locales = { ['en'] = { ['no_access'] = 'You do not have permission to access the matrix signs system!', ['unknown_prop'] = 'Unknown prop: %s', ['prop_spawned'] = "Prop '%s' spawned at %s" }, ['nl'] = { ['no_access'] = 'Je hebt geen toegang tot het matrixborden systeem!', ['unknown_prop'] = 'Onbekende prop: %s', ['prop_spawned'] = "Prop '%s' gespawned op %s" }}Detailed Setting Explanations
Section titled “Detailed Setting Explanations”Config.RenderDistance
Section titled “Config.RenderDistance”Defines the distance (in meters) around the player at which 3D matrix sign props are actively streamed and rendered. The default value of 350.0 meters offers optimal visual distance while maintaining minimal client memory overhead.
Config.EnableWebAPI
Section titled “Config.EnableWebAPI”Controls whether the resource registers an asynchronous HTTP endpoint on your FiveM server. If you only intend to use the in-game NUI menu or the MTM-PADUI tablet, set this to false for maximum security.
Config.WebApiKey
Section titled “Config.WebApiKey”When Config.EnableWebAPI is true, setting a non-empty string here forces all incoming HTTP requests from web dashboards or CAD/MDT systems to supply a matching X-Api-Key header or ?apikey= parameter.