Skip to Content

Config

Public configuration lives in shared/config.lua.

Core settings

shared/config.lua
Config.Debug = false -- true: print debug logs; keep false on live servers. Config.Locale = 'en' -- locale file loaded from locales/*.lua. Config.CafeSeed = { Enabled = true, -- true: seed missing CafeData into database on restart. }

CafeSeed only inserts missing default data. It does not overwrite cafes, menu items, recipes, or ingredients already edited from the admin UI.

UI, blips, and images

shared/config.lua
Config.UI = { Theme = 'default', -- default UI theme. } Config.CafeBlips = { Enabled = true, -- true: show cafe blips on the map. } Config.ItemImages = { BaseUrl = 'https://cdn.shotta.wtf/items/', -- image source path. Extension = '.png', -- image file extension. FallbackName = 'water', -- fallback image when an item image is missing. }

Images must exist in ox_inventory/web/images/items/ and item image names should match the image field from CafeData or the database.

Providers

shared/config.lua
Config.Providers = { Notify = 'ox_lib', -- notification provider. Progress = 'ox_lib', -- progress bar provider. Inventory = 'ox_inventory', -- supported inventory provider. Target = 'ox_target', -- supported target provider. }

The phone app currently supports lb-phone. If the phone provider or resource is not detected, the restaurant phone app will not be registered.

Commands and tablet

shared/config.lua
Config.Commands = { Business = 'cafe_tablet', -- worker command to open the cafe tablet. } Config.BusinessTablet = { Enabled = true, -- true: allow cafe tablet access. ItemName = 'cafe_tablet', -- item required by command. RequireItemForCommand = true, -- true: /cafe_tablet requires the item. }

Workers can use /cafe_tablet only inside their cafe zone. Cashier targets can open the tablet without the item because the cashier is a trusted access point.

Phone restaurant

shared/config.lua
Config.PhoneRestaurant = { Enabled = true, -- true: register the phone restaurant app. Provider = 'lb-phone', -- currently supported phone provider. ResourceName = 'lb-phone', -- phone resource name. Icon = 'https://example.com/restaurant-icon.png', -- direct PNG/WebP URL for the phone app icon. }

Use a direct image URL for the app icon, for example a CDN PNG/WebP link. Avoid links to a webpage that only displays the image.

Auto local ped orders

shared/config.lua
Config.PhoneRestaurant.LocalPedOrders = { Enabled = true, -- true: allow automatic local ped orders. Debug = false, -- true: print local order debug logs. DefaultEnabled = false, -- default state for cafes without custom setting. DefaultIntervalMinMinutes = 25, -- minimum random order interval. DefaultIntervalMaxMinutes = 45, -- maximum random order interval. DefaultMaxActiveOrders = 1, -- max active local orders per cafe. DefaultMaxItems = 3, -- max different menu items per generated order. DefaultMaxQuantity = 2, -- max quantity per generated item. }

Auto orders are generated only when the cafe is open, has active staff in the cafe zone, and the cafe setting is enabled.

POS, admin, self order

shared/config.lua
Config.POS = { Enabled = true, -- true: enable POS/cashier ordering. } Config.CafeAdmin = { Enabled = true, -- true: enable cafe admin management UI. } Config.SelfOrder = { Enabled = true, -- true: enable self-order kiosk. TargetDistance = 2.0, -- meters; target interaction distance. InteractionDistance = 3.0, -- meters; kiosk UI interaction distance. SpawnDistance = 100.0, -- meters; kiosk prop spawn range. }

Self-order prop, DUI screen, and camera calibration are internal values. They are intentionally not public config because changing them can break kiosk rendering.

Cooking and storage

shared/config.lua
Config.Cooking = { Enabled = true, -- true: allow cooking/crafting menu items. } Config.Stashes = { Enabled = true, -- true: enable cafe storage/pantry stashes. }

When cooking, the system checks the player’s inventory first. If ingredients are missing, the remaining amount is taken from cafe ingredient storage.

Last updated on