The file
On the first start,config.lua is copied from config.example.lua. Edit config.lua only: updates never overwrite it.
- A key you remove uses its default. Tables merge per key, lists replace:
spawn = { points = { ... } }replaces every spawn point and keepsspawn.default. - Every value is checked when the resource starts. Every error is logged with its path, then the resource stays idle:
- The file runs in a sandbox: vectors,
math,string,table,tonumber,tostring,type,pairsandipairs.
Creation form
A field is
{ name, type, label?, min?, max?, options? }. Without label, the page shows the locale entry fields.<name> (see Language).
name MUST be camelCase and unique. The page checks the same rules live, and the server checks them again.
config.lua
Scene
An animation is
{ dict = '...', name = '...', flag = 1 } or { scenario = 'WORLD_HUMAN_SMOKING' }.
Spawning
See Spawning for the rules.
Isolation and players
Cinematic
See Cinematic for each moment and to write your own intro.
Language
Every text comes fromlocales/<code>.json, in ug-lib’s language (settings.locale of ug-lib). English (en) and Portuguese (pt) ship with the resource. A key missing in your language falls back to English.
A
label in config.lua wins over every locale, for servers with one language. To add a field or a spawn point in several languages, leave label out and add its key to each locale file. Without either, the page shows the field name or the spawn point id.
To add a language, copy locales/en.json to locales/<code>.json and translate the values. locales/*.json is already in files {}.