โš™๏ธConfiguration

Configuration is split across two files:

  • config.lua โ€” essential settings for server owners (language, admins, shop)

  • config.advanced.lua โ€” technical tuning (render, sync, rate limits, distances)

Only touch config.advanced.lua if you are measuring impact (TPS, latency, network load). Change one value at a time and test with 10+ players. If things get worse, revert.


Variable
Default
Description

Config.Language

'en'

Locale language โ€” matches a file in locales/*.json

Config.AdminGroups

{'admin','god','superadmin'}

Groups with access to admin panel and commands

Config.AdminCommand

'graffiti_admin'

Chat command to open the admin panel

Variable
Default
Description

Config.Shop.enterRadius

2.5

Proximity radius in meters to open the shop

Config.Shop.sprayItem

'graffiti_spray'

Inventory item name for spray cans

Config.Shop.eraserItem

'graffiti_eraser'

Inventory item name for erasers

Config.Shop.defaultDurability

100

Initial durability injected at purchase

Config.Shop.durabilityUvThreshold

0.3

Accumulated UV distance (0โ€“1) to consume 1 durability point

Config.Shop.eraserDurabilityPerUse

25

Durability cost per full tag erase

Shop locations โ€” add as many vector4(x, y, z, heading) entries as needed:

luaCopy

Default shop catalog:

ID
Type
Label
Price
Color

borrador

eraser

Eraser

$150

โ€”

spray_custom

spray_custom

Free Color Spray

$350

any

spray_negro

spray_preset

Black Spray

$200

#111111

spray_blanco

spray_preset

White Spray

$200

#F0F0F0

spray_rojo

spray_preset

Red Spray

$220

#CC2222

spray_azul

spray_preset

Blue Spray

$220

#2255CC

spray_amarillo

spray_preset

Yellow Spray

$220

#DDC000

spray_verde

spray_preset

Green Spray

$220

#228822

spray_naranja

spray_preset

Orange Spray

$220

#CC6600

spray_violeta

spray_preset

Violet Spray

$220

#8822CC

spray_rosa

spray_preset

Pink Spray

$220

#CC3388

spray_celeste

spray_preset

Light Blue Spray

$220

#33AADD

Optionally delete old graffiti on resource start:

luaCopy

Optionally cap how many graffitis can exist within a radius before new sessions are blocked:

luaCopy


Variable
Default
Description

Config.PaintMaxDistance

8.0

Max distance in meters to paint on a canvas

Config.BrushRadiusMin

0.002

Minimum brush size (UV)

Config.BrushRadiusMax

0.08

Maximum brush size (UV)

Config.BrushRadiusDefault

0.012

Default brush size on session start

Config.SprayDistMin

0.4

Min camera distance for spray scaling

Config.SprayDistMax

7.0

Max camera distance for spray scaling

Config.SprayRadiusMulClose

0.78

Radius multiplier when camera is close (tighter spray)

Config.SprayRadiusMulFar

1.45

Radius multiplier when camera is far (wider spray)

Config.SprayIntensityMulClose

1.15

Intensity multiplier close

Config.SprayIntensityMulFar

0.4

Intensity multiplier far

Variable
Default
Description

Config.MaxStrokesPerTag

4000

Max strokes per tag (payload + DB load)

Config.MinStrokesPerSave

700

Saves with fewer strokes than this are rejected

Config.CollaborationMaxStrokesPerSecond

90

Server-side rate limit per player (1s window)

Variable
Default
Description

Config.CollaborationSessionTimeout

1800

Session auto-close after this many seconds of inactivity

Config.CollaborationJoinDistance

8.0

Max distance in meters to join an active session

Config.SpectatorDistance

28.0

Radius to see live strokes without joining

Config.SyncLoadRadius

200.0

Server search radius for tags per player

Config.SyncMaxTagsPerQuery

180

Max tags returned per sync query

Config.StreamDistance

70.0

Distance in meters to create/destroy a DUI for each graffiti

Config.ServerCellCheckIntervalMs

3000

Interval in ms for zone-change detection thread

Variable
Default
Description

Config.DuiResolution

256

DUI canvas resolution in pixels โ€” must be power of 2 (256, 512, 1024)

Config.TagAlpha

190

Rendered canvas opacity (0โ€“255)

Config.TagTimeBrightnessEnabled

true

Dynamic brightness based on in-game time

Config.TagNightStartHour

21

Night mode start hour

Config.TagNightEndHour

6

Night mode end hour

Config.TagDayBrightness

1.00

Brightness multiplier during day (1.0 = original)

Config.TagNightBrightness

0.40

Brightness multiplier during night

Config.EraseTagDuration

15000

Hold duration in ms to erase a tag

Config.CanvasOffsetStep

0.005

Canvas offset adjustment step in meters per keypress

Config.CanvasOffsetMin

-0.30

Max inward offset (30 cm into wall)

Config.CanvasOffsetMax

0.50

Max outward offset (50 cm from wall)

Last updated