Config
Public configuration lives in shared/config.lua.
Core settings
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
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
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
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
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
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
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
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.