Full Config Reference
The complete default configs/config.lua for Dead Drop. Use this as a reference or starting point for your own configuration.
TIP
This is the full unedited config file. For a detailed explanation of each option, see the Configuration page.
lua
-- Aggregate config root, loaded by both sides via `require 'configs.config'`.
-- Scope-by-folder: configs/shared/ is read by client + server, configs/client/ is client-only,
-- and configs/server/ holds the sensitive data - excluded from fxmanifest files{}, so it never
-- ships to a client. The server-only files are deep-merged below on the server ONLY.
local config = {
Locale = 'en', -- lib.locale loads locales/<Locale>.json, falling back to en per-key
Debug = true, -- dev logging + target zone outlines; leave off in production
-- Bridge diagnostics (bridge/shared/debug.lua): very verbose per-call prints from the
-- framework/inventory/target bridge. Separate from Debug above so gameplay debugging
-- doesn't drown in bridge traffic. DebugCategories filters by tag when set, e.g.
-- { ['bridge:inventory'] = true } prints only that category.
DebugPrints = false,
-- DebugCategories = { ['bridge:inventory'] = true },
-- Shared (client + server)
World = require 'configs.shared.world', -- drop visuals, blips, plane, descent (zones/corridors are server-only)
Event = require 'configs.shared.event', -- schedule, container scaling, breach timings
Containers = require 'configs.shared.containers', -- interior loot-prop layouts + carry (the loot->item map is server-only)
Contact = require 'configs.shared.contact', -- contact NPC display + on/off switches (economy + heat pricing is server-only)
Pressure = require 'configs.shared.pressure', -- police alert + rival crew
Trigger = require 'configs.shared.trigger', -- radio-tower masts + scan tuning (the tower POOL is server-only)
-- Client-only
Scenes = require 'configs.client.scenes', -- synced-scene anims, tool props, target options
Minigame = require 'configs.client.minigame', -- per-minigame difficulty knobs (terminal daemons)
Terminal = require 'configs.client.terminal', -- terminal display (boot ASCII-art banner)
}
-- Server-only (sensitive): drop coords, the loot->item map, the reward ladder, the fence/snitch/
-- notify economy, and the contact spawn locations. Merged in server-side only.
if IsDuplicityVersion() then
local function merge(dst, src)
for k, v in pairs(src) do
if type(v) == 'table' and type(dst[k]) == 'table' then merge(dst[k], v) else dst[k] = v end
end
end
merge(config.World, require 'configs.server.world')
merge(config.Containers, require 'configs.server.containers')
merge(config.Contact, require 'configs.server.contact')
merge(config.Trigger, require 'configs.server.trigger')
merge(config.Pressure, require 'configs.server.pressure')
config.Loot = require 'configs.server.loot' -- usable carry items, grid sizes, reward pools: sensitive, no client half
config.Heat = require 'configs.server.heat' -- starting heat for fresh loot (the discount curve is config.Contact.Heat, folded in above)
config.Logs = require 'configs.server.logs' -- audit logging toggles, server-side only
end
return config