Configuration

3 min readUpdated 3 weeks ago

Overview

  • shared/config.lua: General settings, performance, camera controls, keybinds
  • server/config_server.lua: Discord webhooks, admin permissions

Asset lists (ped models, vehicle models, props, weapons, scenarios, emotes) are included as data files and loaded automatically.

General

shared/config.lua
1Config.Locale = 'en'
2Config.Debug = false
3Config.Interaction = nil
4Config.DatabaseMode = 'auto'
5Config.Theme = 'default'
6Config.OpenKey = 'F6'
7Config.OpenCommand = 'sceneeditor'
8Config.RequirePermissions = false
9Config.AcePermission = 'ml_mastervideo.access'
10Config.AdminPermissions = { 'command', 'admin', 'god', 'superadmin' }
  • Locale: Language code for translations
  • Debug: Console output for troubleshooting
  • Interaction: Interaction prompt mode. nil = auto-select via ml_bridge, 'textui' = force TextUI
  • DatabaseMode: Persistence backend. 'auto' detects oxmysql automatically
  • Theme: UI theme. Options: 'default', 'cyberpunk', 'wasteland', 'noir', 'fantasy'
  • OpenKey: Keybind to open the scene editor (rebindable in FiveM settings)
  • OpenCommand: Chat command to open the editor
  • RequirePermissions: When true, only players with AcePermission can access the editor
  • AdminPermissions: Framework permission groups treated as admin for restricted actions
  • AcePermission: ACE node required when RequirePermissions = true

Performance

shared/config.lua
1Config.Performance = {
2    RecordingInterval = 50,
3    PedRecordingInterval = 0,
4    MaxEntitiesPerScene = 50,
5    MaxScenesPerPlayer = 100,
6    EntityRenderDistance = 150.0,
7    CleanupOnStop = true,
8}
  • RecordingInterval: Milliseconds between recorded frames (50 = 20 FPS capture)
  • PedRecordingInterval: Milliseconds between recorded ped frames. 0 captures every game frame for maximum smoothness
  • MaxEntitiesPerScene: Maximum entities (peds, vehicles, props) per scene
  • MaxScenesPerPlayer: Maximum saved scenes per player
  • EntityRenderDistance: Distance at which scene entities are visible
  • CleanupOnStop: Auto-delete all scene entities on resource stop

Camera Controls

shared/config.lua
1Config.Camera = {
2    HideAllUIKey = 'H',
3    ToggleOverlayKey = 'TAB',
4    BaseSpeed = 0.3,
5    SlowSpeedMultiplier = 0.1,
6    FastSpeedMultiplier = 5.0,
7    StickDeadzone = 0.2,
8    StickSensitivity = 0.25,
9    RotationSensitivity = 1.5,
10    SmoothingFactor = 0.15,
11}
  • HideAllUIKey: Toggle all UI off for clean screenshots/recording
  • ToggleOverlayKey: Toggle the editor overlay only
  • BaseSpeed: Normal camera movement speed
  • SlowSpeedMultiplier: Precision mode speed (hold LT)
  • FastSpeedMultiplier: Turbo mode speed (hold RT)
  • StickDeadzone: Gamepad: ignore stick movements below this threshold (0.0 - 1.0)
  • StickSensitivity: Gamepad: how fast the sticks affect movement
  • RotationSensitivity: Gamepad: how fast the right stick rotates the camera
  • SmoothingFactor: Camera movement interpolation (lower = smoother)

Drive Styles

Pre-configured AI driving behaviors for vehicle path recording:

shared/config.lua
1Config.DriveStyles = {
2    { id = 'normal',        label = 'Normal',        flags = 786603 },
3    { id = 'rushed',        label = 'Rushed',        flags = 262156 },
4    { id = 'careful',       label = 'Careful',       flags = 786468 },
5    { id = 'ignore_lights', label = 'Ignore Lights', flags = 2883621 },
6    { id = 'aggressive',    label = 'Aggressive',    flags = 6 },
7}

Discord Webhooks

server/config_server.lua
1ServerConfig.DiscordWebhook = ''
2ServerConfig.AdminWebhook = ''
3ServerConfig.AdminPermissions = { 'command', 'admin', 'god' }
4ServerConfig.RateLimitCooldown = 1000
  • DiscordWebhook: Player scene actions (create, delete, play)
  • AdminWebhook: Admin actions
  • AdminPermissions: Permission groups allowed to run admin webhook actions
  • RateLimitCooldown: Minimum milliseconds between server actions per player

Set to false to disable.