Configuration

Configure the Oxide Shops economy, rate limits, shop types, auctions, wholesale catalog, and templates.

oxide-shops is configured in-game, not by editing files. Nearly every setting on this page can be changed live with the /shop settings menu, and your changes are saved to your database.

How Configuration Works

This is the most important thing to understand about configuring oxide-shops:

  • Your settings live in your database, not in the config files. The first time the resource starts, it reads the starting values from its config files and copies them into a database table called oxide_settings. From that point on, the database is the source of truth.
  • To change a setting, open /shop settings in-game (admins only). Pick a setting, change it, and save. The change takes effect immediately and is remembered across restarts.
  • Editing the config .lua files after the first start usually does nothing. Because the database already holds your values, hand-edited file changes are ignored — except for a brand-new setting added by a future update, which is copied in the first time it appears. Use /shop settings instead.
  • Each setting has a "Reset to default" button in the menu, which restores that setting to the value the resource shipped with.

The /shop settings menu is organized into the same groups shown below, split into Basic (shown upfront) and Advanced (behind a toggle) tiers.

The tables below cover the settings you'll normally change, with each one's type, shipped default, and what it changes in-game. The Config. names are the internal keys; in the menu they appear with friendly labels.

Advanced sub-settings not in the menu

A handful of deeper tuning values are not in the /shop settings menu — for example the barber's seating scene (Config.BarberShop.scene), the tattoo shop's animations, seating scene, and clothing-strip amounts (Config.TattooShop.anims, .scene, .undress — the last one notes "adjust per your clothing pack"), the service display labels (serviceLabels), and the clothing slot definitions and icons (Config.ClothingShop.components / .props).

Because the database becomes the source of truth after the first start (see above), these values are effectively frozen at their first-boot values — they're not in the menu, and editing the config files later has no effect. If you genuinely need to change one of these, you must edit it in the config file and clear this resource's saved settings so the file values are re-imported on the next boot. That procedure is in Troubleshooting → I want to wipe all settings back to the file defaults. For almost every server, the shipped values are fine and you can ignore this section.

General

SettingTypeDefaultDescription
Config.MaxShopsPerPlayernumber3How many shops a single player may own at once
Config.StartingStocknumber25Quantity each item starts with when a shop first becomes player-owned
Config.InteractionDistancenumber2.5How close (in metres) a player must be to open a shop
Config.DefaultPedModelstring's_m_y_ammucity_01'Shopkeeper model used when a shop has none set
Config.ServerInteractDistancenumber12.0Anti-cheat guard: the server rejects a shop action from farther than this (metres). Keep it generous
Config.DebugbooleanfalsePrints extra [oxide-shops] lines to the server console. Leave off on a live server

Economy

SettingTypeDefaultDescription
Config.TaxRatenumber0.05Sales tax added on top of item purchases at general and weapon shops (0.05 = 5%). It does not apply to services (barber/tattoo/mask/clothing), the pawn shop, or the auction house — those add no tax
Config.WholesaleMarkupnumber1.5Multiplier from an item's base price to the owner's wholesale cost (1.5 = 150%)
Config.WeaponRegistrationFeenumber500Cash fee charged per firearm a player registers at a weapon shop
Config.AllowResalebooleantrueWhen on, owners can list a shop for another player to buy at the shop
Config.ResaleFeePercentnumber0.05Cut taken from a shop resale before paying the seller (0.05 = 5%)
Config.AutoRestock.EnabledbooleantrueWhether player-owned inventory shops auto-restock on a timer
Config.AutoRestock.Intervalnumber600000Time between auto-restock sweeps, in milliseconds (600000 = 10 minutes)
Config.Transactions.RetentionDaysnumber30How many days of shop transaction history to keep
Config.Transactions.PruneIntervalnumber3600000How often old transactions are cleaned up, in milliseconds (1 hour)

Rate Limits

Config.RateLimits sets a minimum wait (in milliseconds) between repeats of each action, per player — an anti-spam guard. Each key is one action. Raise a value to slow an action down; lower it to allow faster repeats.

KeyDefault (ms)Action it limits
buyItem1000Buying an item (also pawn buy/sell, service purchases, auction actions)
registerWeapon3000Registering carried firearms
updatePrice1000An owner changing an item's price
wholesaleOrder3000Placing a wholesale order
transferItem1000Moving items from pockets into the shop
withdraw3000Withdrawing from the shop balance
deposit3000Depositing to the shop balance
purchaseShop5000Buying a shop
adminCreate3000Admin creating a shop
adminEdit2000Admin editing a shop
adminDelete5000Admin deleting a shop
adminReclaim5000Admin reclaiming a shop
getShopData500Opening a shop's item list
getManagementData1000Opening the management panel
getAdminData1000Opening the admin panel
setResalePrice1000Listing/unlisting a shop for resale
setAutoRestock1000Setting an auto-restock target

Blips

Each shop style has a default map blip. A blip has a sprite (icon ID), color (color ID), scale (size), and label (name on the map). Individual shops can override or hide their blip in /shop admin.

SettingStyleDefault (sprite / color / scale / label)
Config.BlipGeneral store52 / 2 / 0.7 / Store
Config.WeaponBlipWeapon shop110 / 1 / 0.8 / Ammunation
Config.MaskBlipMask shop362 / 4 / 0.7 / Mask Shop
Config.PawnBlipPawn shop617 / 46 / 0.6 / Pawn Shop
Config.AuctionBlipAuction house269 / 2 / 0.8 / Auction House
Config.BarberBlipBarber shop71 / 25 / 0.7 / Barber Shop
Config.ClothingBlipClothing store73 / 47 / 0.7 / Clothing Store
Config.TattooBlipTattoo parlor75 / 1 / 0.7 / Tattoo Parlor

Weapon Shop

SettingTypeDescription
Config.WeaponModelstableMaps each weapon item name to the 3D prop model shown on the weapon shop display shelf. A weapon with no entry simply shows no prop. Edited from the Weapon Shop section of /shop settings

Weapon stats shown in the UI (damage/accuracy/range/fire-rate) ride on the individual template items inside Config.ShopTemplates. Like all top-level settings, the shop templates become database-backed after the first start — so editing shared/config/templates.lua later has no effect, and there is no stats field in the settings menu. In practice the stats are frozen at their first-boot values unless you change them the hard way: edit the template rows and re-import the settings using the wipe procedure in Troubleshooting.

Mask Shop

SettingTypeDefaultDescription
Config.MaskShop.maskPricenumber500Default mask price (player-owned shops set their own)
Config.MaskShop.supplyItemstring'mask_blank'Item consumed per mask sold (player-owned shops only)
Config.MaskShop.supplyPerServicenumber1Units of the supply item used per mask
Config.MaskShop.startingSupplynumber25Supply seeded into the shop when a player buys it

Barber Shop

Config.BarberShop.prices sets the default price charged per category the customer changes.

SettingTypeDefaultDescription
Config.BarberShop.prices.hairnumber35Haircut (hair style) price
Config.BarberShop.prices.hairColornumber25Hair color + highlight price
Config.BarberShop.prices.beardnumber20Facial hair price
Config.BarberShop.prices.eyebrowsnumber15Eyebrows price
Config.BarberShop.prices.eyeColornumber20Eye color price
Config.BarberShop.supplyItemstring'hair_product'Item consumed per styling (player-owned shops only)
Config.BarberShop.supplyPerServicenumber1Units of supply used per changed category
Config.BarberShop.startingSupplynumber25Supply seeded when a player buys the shop

Tattoo Shop

SettingTypeDefaultDescription
Config.TattooShop.prices.applynumber500Price to apply one tattoo
Config.TattooShop.prices.removenumber750Price to remove one tattoo
Config.TattooShop.supplyItemstring'tattoo_ink'Item consumed per apply/remove (player-owned shops only)
Config.TattooShop.supplyPerServicenumber1Units of supply used per apply/remove
Config.TattooShop.startingSupplynumber25Supply seeded when a player buys the shop
Config.TattooCatalogtable(10 collections)The collections and tattoos offered. Editable in the Tattoo Shop section of /shop settings; per-tattoo preview cameras are set with the in-game camera editor in /shop admin

Clothing Shop

Config.ClothingShop.components and Config.ClothingShop.props define the garment/prop slots and their default per-slot prices. A few examples:

SlotDefault price
Shirt (component_11)200
Arms (component_3)200
Undershirt (component_8)100
Pants (component_4)150
Shoes (component_6)120
Armor (component_9)300
Hat (prop_0)80
Glasses (prop_1)60
Watch (prop_6)100
SettingTypeDefaultDescription
Config.ClothingShop.pricestable(per-slot)Default price charged per changed clothing/prop slot. Editable in /shop settings
Config.ClothingShop.supplyItemstring'fabric'Item consumed per changed slot (player-owned shops only)
Config.ClothingShop.supplyPerServicenumber1Units of supply used per changed slot
Config.ClothingShop.startingSupplynumber25Supply seeded when a player buys the shop

Pawn Shop

Controls how the pawn shop's buy and sell prices are derived and how they move with demand. See Features → Pawn Shop for how these interact.

SettingTypeDefaultDescription
Config.PawnShop.sellRationumber0.5Base sell price as a fraction of buy price (50%)
Config.PawnShop.decayPerSalenumber0.05Sell price drop per sale of the same item (−5%)
Config.PawnShop.recoveryPerMinutenumber0.01Price recovery per minute toward base (+1%/min)
Config.PawnShop.minSellMultipliernumber0.1Sell price floor as a fraction of base (10%)
Config.PawnShop.demandMultipliernumber0.03Buy price rise per unit of demand (+3%)
Config.PawnShop.maxBuyMultipliernumber1.5Cap on buy price as a multiple of base (150%)

Auction House

SettingTypeDefaultDescription
Config.Auction.listingFeePercentnumber0.05Fee to list, as a fraction of the starting price (5%)
Config.Auction.completionFeePercentnumber0.05Fee taken from a completed sale (5%)
Config.Auction.minBidIncrementnumber100Smallest allowed absolute bid increase
Config.Auction.bidIncrementPercentnumber0.05A bid must also beat the current bid by this fraction (5%)
Config.Auction.maxActiveListingsnumber10Most auctions one seller may have active at once (a per-character cap, not a server-wide total)
Config.Auction.checkIntervalnumber30000How often auctions are checked for expiry, in milliseconds (30 seconds)
Config.Auction.durationstable{ 1, 6, 12, 24 }Auction lengths in hours that sellers can choose. This one is not editable in the settings menu, and because the whole Auction setting is database-backed after the first start, it's effectively frozen at its first-boot value. To change it you must edit shared/config/auction.lua and re-import settings via the wipe procedure

Wholesale Catalog

Config.WholesaleCatalog is the list of items that player-owned shop owners can restock from wholesale. Each entry has:

FieldTypeDescription
basePricenumberThe base price. Owner's cost per unit = basePrice × Config.WholesaleMarkup
minOrdernumberSmallest allowed order quantity
maxOrdernumberLargest allowed order quantity
categorystringGrouping label shown in the wholesale UI

You add, remove, and edit wholesale items in the Wholesale section of /shop settings using the item picker. The four service supply items (hair_product, tattoo_ink, mask_blank, fabric) are included so owners can restock service shops.

Shop Templates

Config.ShopTemplates is the list of ready-made shops that /shop admin can create from a picker. Each template carries a shop ID, name, ped model, style, location, optional chairs (for barber/tattoo), an optional purchase price, and an item list. The default templates place all the standard GTA stores at their familiar locations.

Templates are advanced and are edited in the Shop Templates section of /shop settings (including placing the location in-world). For everyday use you'll create and edit live shops directly in /shop admin rather than editing templates.

Next Steps

  • Admin — using the /shop admin and /shop settings menus
  • Features — how each setting plays out in-game
  • Troubleshooting — if a change doesn't seem to apply