> For the complete documentation index, see [llms.txt](https://code-after-sex.gitbook.io/script-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://code-after-sex.gitbook.io/script-documentation/cas-advanced-loading-screen/configuration.md).

# Configuration

config/config.lua of Advanced Loading Screen. Server identity, the default look, Print Shop locks, inks, backdrops, pictures, live numbers and shutdown.

All settings below are in `config/config.lua`. Restart the resource after a change; players see it on their next connection.

## Server identity

```lua
Config.Server = {
    name = "SILVER CREEK ROLEPLAY",          -- big title on the Outlaw plate
    shortName = "SILVER CREEK",              -- title on Territory and Sundown
    kicker = { "EST. 1899", "A WESTERN ROLEPLAY COMMUNITY" },
    subtitle = "A JOURNEY ACROSS THE FRONTIER",
    description = "...",                     -- paragraph in the Territory header
    season = "III",                          -- "" hides the season
    gazetteName = "THE SILVER CREEK GAZETTE",
    town = "SILVER CREEK",                   -- first word of the Gazette date line
    inWorldYear = 1899,                      -- the Gazette prints today's date with this year
    weather = { { title = "DRY AND WINDY", text = "Dust rolling in from the west" }, ... },
}
```

Long names shrink to fit their space automatically.

## The default look

`Config.Style` is the look every player starts with:

| Field        | Values                                                                   |
| ------------ | ------------------------------------------------------------------------ |
| `plate`      | `outlaw`, `territory`, `gazette`, `sundown`                              |
| `ink`        | an id from `Config.Inks` or a `"#rrggbb"` colour                         |
| `paper`      | `charcoal`, `leather`, `parchment`                                       |
| `backdrop`   | an id from `Config.Backdrops`                                            |
| `customUrl`  | an `https://` image or `.webm` video, used when `backdrop = "custom"`    |
| `treatment`  | `duotone`, `colour`, `blur`                                              |
| `slideshow`  | `true` cycles through all backdrops every `Config.SlideshowSeconds`      |
| `atmosphere` | `none`, `dust`, `embers`, `rain`, `snow`, `fog`                          |
| `grain`      | film grain, 0 to 100                                                     |
| `loader`     | `trail`, `ledger`, `cylinder`, `watch`, `railroad`, `bounty`             |
| `columns`    | `news`, `law`, `code`, `jukebox`, `wisdom`, `posters`: `true` or `false` |

## Player styles and locks

```lua
Config.AllowPlayerStyle = true            -- false: everyone sees Config.Style, the Print Shop is hidden
Config.Locks = { "columns.code" }         -- fields players may not change
```

A lock can be any field name (`"plate"`, `"ink"`, `"loader"` ...), `"columns"` for all columns, or one column such as `"columns.code"`. Locked options show "SET BY SERVER" in the Print Shop.

## Inks and backdrops

```lua
Config.Inks = {
    { id = "blood", label = "BLOOD RED", color = "#b3131b" },
    ...
}
Config.Backdrops = {
    { id = "town", label = "TOWN AT DUSK", src = "assets/scenes/town.webp" },
    ...
}
Config.Hero = "assets/art/hero.webp"      -- the portrait with the gauges on the Territory plate
```

The first four backdrops show as thumbnails in the Print Shop; the slideshow uses all of them. See [Your own media](/script-documentation/cas-advanced-loading-screen/media.md) to add your own.

## Pictures

```lua
Config.Avatars = {
    order = { "steam", "discord" },       -- first one that works is used
    cacheMinutes = 60,
    timeoutMs = 2500,                     -- never hold a connection longer than this for a picture
    fallback = "assets/art/hero_head.webp",
}
Config.Wanted = { reward = "$500 REWARD", line = "For riding into Silver Creek without a by your leave." }
Config.Bounty = 1000                      -- the Bounty loader counts up to this
```

## Live numbers

```lua
Config.Framework = "auto"                 -- auto | vorp | rsg | none
Config.LawJobs = { "sheriff", "marshal", "deputy", "police" }
Config.Season = { start = "2026-09-04", lengthDays = 90 }
Config.Restarts = { "06:00", "18:00" }    -- server time, for the "restart" number
```

`LAWMEN ON DUTY` in the header counts online characters whose job is in `Config.LawJobs` (VORP Core or RSG Core; on RSG only players on duty count). With `none` it shows 0.

## Closing the screen

`Config.Shutdown` decides who closes the loading screen. See [Closing the screen](/script-documentation/cas-advanced-loading-screen/closing-the-screen.md).
