Configuration
Every entry in shared/config.lua. Defaults, types, and purpose.
All settings live in shared/config.lua. The file is in escrow_ignore
so it remains editable after install. Event name constants and locale
strings live in shared/constants.lua and the Config.Locale table
respectively.
Core
Config.Frameworkstringdefault: 'ESX'Framework identifier. One of 'ESX', 'QB'.
Config.Targetstringdefault: 'OX'Target resource identifier. One of 'OX', 'QB'.
Config.Languagestringdefault: 'en'Active language for UI and notifications. Shipped: 'en', 'fi'.
Config.NotificationSystemstringdefault: 'ox_lib'Notification backend. One of 'ox_lib', 'esx', 'qb', 'custom'.
Config.CustomNotifyfunction | nildefault: nilOptional function invoked when NotificationSystem = 'custom'. Signature: function(title, message, type, duration).
Config.AdminIdentifiersstring[]default: {}Optional list of raw identifiers (license, steam, discord) treated as admin outside the framework's group system.
Config.AdminKeybindtabledefault: { enabled = false, key = 'F7' }Keybind that opens the admin menu. When enabled, registered through lib.addKeybind.
Config.Debugbooleandefault: falseEnables verbose debug logging and unlocks debug-only commands (see Commands page).
Config.EnableLoggingbooleandefault: trueWhen true, the optional analytics tables are created and weather changes are logged.
Weather system toggles
Config.EnableSeasonsbooleandefault: trueMaster toggle for the seasonal cycle. If false, season stays fixed on Config.DefaultSeason.
Config.EnableWarningsbooleandefault: trueBroadcast in-world weather warnings during severe weather.
Config.EnableWarningSoundsbooleandefault: falsePlay the warning sound FX alongside the text warning.
Config.EnableWeatherEffectsbooleandefault: trueApply road traction, visual overlays, and weather-driven FX on clients.
Config.EnableTemperatureSystembooleandefault: trueCalculate and broadcast temperature. Required for shivering, cold breath, and heatwave effects.
Config.DefaultSeasonstringdefault: 'SUMMER'Season used when EnableSeasons is false, or the initial season at first start.
Config.WeatherChanceMultiplierstabledefault: { WetWeather = 0.6, SpringThunderEvent = 0.5 }0.01 to 1.0 multipliers. WetWeather tunes random RAIN/THUNDER frequency. SpringThunderEvent tunes the spring thunderstorm seasonal event.
Config.InitialSeasonalEventCheckDelayMinutesnumberdefault: 30Minutes after resource start before the first seasonal event roll.
Gameplay flooding
Subtle low-street flooding tied to the weather cycle. Separate from
the admin-only extreme flooding used for testing. Requires
Config.StormSystems.Enabled = true.
Config.GameplayFlooding.Enabledbooleandefault: falseMaster toggle for gameplay flooding.
Config.GameplayFlooding.AutoResetbooleandefault: trueAutomatically reset water after the profile duration expires.
Config.GameplayFlooding.CooldownMinutesnumberdefault: 180Minimum time between gameplay flood triggers.
Config.GameplayFlooding.DurationCheckIntervalSecondsnumberdefault: 30How often the server checks whether the active flood should expire.
Config.GameplayFlooding.ProfilestableFlood profile definitions keyed by id. Shipped: subtle, moderate, strong. Each profile: { maxFloodHeight, increaseRate, threadWait, durationMinutes }.
Config.GameplayFlooding.ProfileWeightstabledefault: { subtle = 0.78, moderate = 0.20, strong = 0.02 }Weighted selection when a profile is picked automatically.
Config.GameplayFlooding.SeasonRulestablePer-season trigger rules. Shipped: SPRING (THUNDER, minIntensity 0.72, triggerChance 0.35) and FALL (RAIN or THUNDER, minIntensity 0.80, triggerChance 0.20).
Storm systems
Blackout pulses, lightning strike FX, and ocean wave simulation.
Config.StormSystems.Enabledbooleandefault: trueMaster toggle for all storm systems.
Config.StormSystems.SyncIntervalSecondsnumberdefault: 2Server to client cadence for storm state broadcasts.
Blackout
Config.StormSystems.Blackout.Enabledbooleandefault: trueConfig.StormSystems.Blackout.MinIntensitynumberdefault: 0.72Fallback intensity threshold for weather types not listed in EligibleWeather.
Config.StormSystems.Blackout.EligibleWeathertabledefault: { THUNDER = { minIntensity = 0.72 }, RAIN = { minIntensity = 0.88 }, BLIZZARD = { minIntensity = 0.72 } }Per-weather minimum intensity required for blackout pulses to fire.
Config.StormSystems.Blackout.PulseMinSecondsnumberdefault: 6Config.StormSystems.Blackout.PulseMaxSecondsnumberdefault: 14Config.StormSystems.Blackout.CooldownMinSecondsnumberdefault: 20Config.StormSystems.Blackout.CooldownMaxSecondsnumberdefault: 45Config.StormSystems.Blackout.VehicleLightsbooleandefault: falseWhen false, vehicle lights are disabled during blackout pulses.
Strike FX
Config.StormSystems.StrikeFx.Enabledbooleandefault: trueConfig.StormSystems.StrikeFx.MinIntensitynumberdefault: 0.65Config.StormSystems.StrikeFx.ChancePerSyncnumberdefault: 0.18Probability of a strike FX broadcast on each sync interval while storm logic is active.
Config.StormSystems.StrikeFx.MinIntervalSecondsnumberdefault: 6Hard cooldown between strike FX broadcasts.
Config.StormSystems.StrikeFx.MinDistanceFromTargetnumberdefault: 25.0Config.StormSystems.StrikeFx.MaxDistanceFromTargetnumberdefault: 120.0Ocean
Config.StormSystems.Ocean.Enabledbooleandefault: trueConfig.StormSystems.Ocean.Modestringdefault: 'coastal''coastal' applies only when the player is near water. 'global' always applies.
Config.StormSystems.Ocean.UpdateIntervalMsnumberdefault: 2500Config.StormSystems.Ocean.DetectionRadiusnumberdefault: 90.0Config.StormSystems.Ocean.ProbeDepthnumberdefault: 24.0Config.StormSystems.Ocean.DefaultScalernumberdefault: 1.0Config.StormSystems.Ocean.Presetstabledefault: { calm = 1.0, normal = 1.3, rough = 1.6, storm = 2.0, experimental = 4.0 }Named scaler presets usable from the admin menu and the STORM_SET_OCEAN_OVERRIDE event.
Config.StormSystems.Ocean.WeatherScalerstablePer-weather automatic scaler. Keys mirror GTA weather types (CLEAR, RAIN, THUNDER, SNOW, BLIZZARD, etc.). Values multiply the base wave height.
Config.StormSystems.Ocean.BoatPhysicstabledefault: { Enabled = true, RoughThreshold = 1.35, StormThreshold = 1.8, RoughMaxSpeedMultiplier = 0.88, StormMaxSpeedMultiplier = 0.75, TurbulenceForce = 0.15, TurbulenceIntervalMs = 850 }Optional boat penalties under rough seas. Thresholds are scaler values, multipliers clamp max speed, TurbulenceForce adds periodic impulse.
UI
Config.UI.EnableForecastbooleandefault: trueEnable the /forecast command and the newspaper-stand forecast interaction.
Config.UI.EnableWeatherHudbooleandefault: trueRender the small weather HUD panel.
Config.UI.NotifyOnWeatherChangebooleandefault: trueConfig.UI.NotifyOnTempChangebooleandefault: trueNotify when temperature changes by more than TempChangeThreshold.
Config.UI.TempChangeThresholdnumberdefault: 5Minimum temperature delta (in degrees) that triggers a notification.
Config.UI.WarningDurationnumberdefault: 10Seconds a warning banner stays on screen.
Config.UI.UseMetricbooleandefault: trueDisplay temperature in Celsius. Set false for Fahrenheit.
Config.UI.DisplayFormatstringdefault: 'both'HUD display format. One of 'icon', 'text', 'both'.
Weather intervals
Config.WeatherUpdateIntervalnumberdefault: 2.5Minutes between weather tick evaluations on the server.
Config.DefaultWeatherDurationnumberdefault: 8Fallback duration (minutes) when Min/Max are not set.
Config.MinWeatherDurationnumberdefault: 5Minimum random weather duration (minutes).
Config.MaxWeatherDurationnumberdefault: 15Maximum random weather duration (minutes).
Config.ForecastDaysnumberdefault: 6Number of days included in the forecast.
Config.ForecastRefreshIntervalnumberdefault: 60Minutes between forecast regenerations.
Temperature
Config.BaseTemperaturenumberdefault: 10Base temperature in Celsius. Modulated by season, time-of-day, and weather.
Config.ColdTemperaturenumberdefault: 4At or below this, the player is flagged as 'cold'. Triggers shivering and cold-breath effects.
Config.HotTemperaturenumberdefault: 30At or above this, heatwave effects apply.
Config.MaxTemperaturenumberdefault: 45Config.MinTemperaturenumberdefault: -20Seasons
Config.SeasonDurationnumberdefault: 30Real-world minutes per season when UseRealtimeSeason is false.
Config.UseRealtimeSeasonbooleandefault: falseWhen true, season follows the real-world month (see RealtimeSeasonMonthMap) instead of SeasonDuration.
Config.RealtimeSeasonMonthMaptableMonth (1 to 12) to season ('SPRING', 'SUMMER', 'FALL', 'WINTER'). Shipped default maps Dec-Feb to winter, Mar-May to spring, Jun-Aug to summer, Sep-Nov to fall.
Time sync
Config.TimeSync.Enabledbooleandefault: trueServer-authoritative time sync. Ensures all players share the same clock.
Config.TimeSync.UseRealTimebooleandefault: falseMirror real-world time when true.
Config.TimeSync.Freezebooleandefault: falseFreeze time progression when UseRealTime is false.
Config.TimeSync.StartHournumberdefault: 12Config.TimeSync.StartMinutenumberdefault: 0Config.TimeSync.StartSecondnumberdefault: 0Config.TimeSync.TimeScalenumberdefault: 1.0Minute progression multiplier when UseRealTime is false.
Config.TimeSync.SyncIntervalSecondsnumberdefault: 15Server to client time broadcast cadence.
Config.TimeSync.RealtimeUtcOffsetMinutesnumber | nildefault: nilOptional fixed UTC offset (minutes) for realtime mode.
Road traction
Config.RoadEffects.RainTractionReductionnumberdefault: 0.15Traction reduction during RAIN. Range 0.0 to 1.0.
Config.RoadEffects.ThunderTractionReductionnumberdefault: 0.25Config.RoadEffects.ClearingTractionReductionnumberdefault: 0.1Config.RoadEffects.SnowTractionReductionnumberdefault: 0.35Warnings
Config.WarningMessagestablePer-weather warning message arrays. Keys: THUNDER (levels 1 to 4), RAIN (levels 1 to 3), SNOW (levels 1 to 3). Index selects by severity.
Config.WarningMessagesFitableFinnish mirror of WarningMessages.
Config.WeatherMessagestableNotification string per weather type (CLEAR, EXTRASUNNY, CLOUDS, OVERCAST, RAIN, THUNDER, CLEARING, SMOG, FOGGY, XMAS, SNOWLIGHT, BLIZZARD, SNOW).
Config.WeatherMessagesFitableFinnish mirror of WeatherMessages.
Localization strings
Config.LocaletableFlat string table keyed by language code. Shipped keys: 'en', 'fi'. Each language maps UI labels, notification titles, warning copy, forecast labels, debug strings, and server-originated messages. Use Config.Language to select the active language.