Home Server settings The files in the config folder EconomyOverride.json

EconomyOverride.json – traders and prices

This file decides how trading feels on your server – whether prices move, how fast shelves refill and whether traders ever run out of money. It also lets you pin down individual goods and their prices.

Verified for SCUM 1.3.3.4.149664 Checked partly

Two parts in one file

EconomyOverride.json consists of two very different parts.

At the top there are 21 global keys. They apply to the whole server and decide the character of the economy. They are manageable, and they are what you actually adjust.

Below sits traders with 36 traders, each with a list of goods. Out of the box almost all lists are empty – which does not mean those traders stock nothing, but that nothing is overridden for them. An entry here is an exception to the game's own rule, not a catalogue.

Every value is in quotes

Unlike the ServerSettings.ini, all values here are strings: "2.0", not 2.0. The game reads the number out of the text. Stick to it – mixed notation is a common source of errors.

And as everywhere in this configuration, -1 means “use the game default”. A -1 is not a switched-off value but an unset one.

The four decisions that matter

Of the 21 keys, four noticeably change how the game feels; the rest is fine tuning:

Set all three switches to unlimited and you have a server without an economy. That is a valid choice – you should just know you made it.

The trader names

There are 36 traders: nine kinds across four sectors. The kinds are Armory, Barber, BoatShop, Hospital, Hunter, Master_Hunter, Mechanic, Saloon and Trader; the sectors are A_0, B_4, C_2 and Z_3. Combined they give names like A_0_Armory.

There is a trap here: the template built into the server program writes the master hunter as A_0_MasterHunter, while the file your server actually creates writes A_0_Master_Hunter. What counts is always the file your own server produced – not one copied from a forum. A trader name the game does not know is silently ignored.

Overriding individual goods

A goods line consists of seven fields. tradeable-code is the item's internal name; everything else is prices, requirements and switches, each sitting at -1 or default for “do not touch”.

Only set what you really want to change and leave the rest at the default. A list of 300 lines that all contain nothing but -1 is a lot of file for no effect – and every one of them has to be re-checked after an update.

What we check here and what we do not

We check the 21 global keys for notation, range and contradictions, plus the structure of the goods lists: unknown trader names, duplicate item codes, unknown fields in a goods line, impossible prices.

We do not check whether an item code exists in the game. That would need the game's complete item catalogue – a project of its own, and it is on the list.

Every field at a glance

FieldDefaultRequiredWhat does this setting do?
economy-reset-time-hoursReset the economy-1.0StundennoAfter how many hours the economy is put back to the start: prices, stock and trader funds. -1 means never – the economy then keeps developing over the server's whole lifetime.
prices-randomization-time-hoursRe-randomise prices-1.0StundennoAfter how many hours prices are randomised again. -1 keeps the game default. Short intervals make trading unpredictable – anyone comparing prices finds different ones every time.
tradeable-rotation-time-ingame-hours-minGoods rotation: at the earliest48.0SpielstundennoThe minimum number of in-game hours between two rotations of the goods on offer. The server draws a value between this and the maximum.
tradeable-rotation-time-ingame-hours-maxGoods rotation: at the latest96.0SpielstundennoThe upper end of the same span. Has to be larger than the minimum.
tradeable-rotation-time-of-day-minGoods rotation: earliest hour of day8.0Stunde des SpieltagsnoThe earliest hour of the in-game day at which a rotation happens. 8.0 is eight in the morning.
tradeable-rotation-time-of-day-maxGoods rotation: latest hour of day16.0Stunde des SpieltagsnoThe latest hour of day for a rotation. Together with the minimum this makes the offer change during the day rather than at three in the morning.
fully-restock-tradeable-hoursTime to a full shelf again2.0StundennoHow long it takes until a sold-out item is fully available again. Small values mean money is the only obstacle. Large values make rare goods genuinely rare.
trader-funds-change-rate-per-hour-multiplierHow fast traders get money back1.0FaktornoA multiplier on how fast a trader's funds recover. 0.5 halves the pace – sell a lot and you have to wait until the trader can pay again.
prices-subject-to-deltaPrices follow supply and demand1noWith this on, the price of a heavily bought item rises and that of a heavily sold one falls. This is the core of the economy – switched off it becomes a catalogue with fixed prices.
prices-subject-to-player-countPrices depend on the player count0noScales prices with the number of players on the server. Meant so that on small servers a handful of players do not clear the market at once.
gold-price-subject-to-global-multiplierGold price follows the global multiplier1noWhether the gold rate follows the server-wide multiplier or stays independent.
gold-base-priceBase price for gold-1noThe starting price of a unit of gold. -1 keeps the game default. Gold is the game's second currency – changing this shifts the value of every gold price at once.
gold-sale-price-modifierDiscount when selling gold-1.0noHow much less you get for selling gold than for buying it. -1 keeps the game default.
gold-price-change-percentage-stepGold rate: step size in percent-1.0noBy how many percent the gold rate moves per step. -1 keeps the game default.
gold-price-change-per-stepGold rate: movement per step-1.0noThe absolute movement of the gold rate per step. -1 keeps the game default.
economy-loggingWrite a trade log1noLogs every purchase and sale: who, what, how much, at which trader. It is the only trace you have when someone claims something went missing – leave it on.
traders-unlimited-fundsTraders have unlimited funds0noWith this on, every trader can buy any amount at any time. Convenient, but it removes every limit from selling: anyone with a good source turns it into money without waiting.
traders-unlimited-stockTraders have unlimited stock0noWith this on, nothing ever sells out. Rare items lose their appeal – with enough money you get everything, always.
global-only-after-player-sale-tradeable-availability-enabledGoods only after a player sold one0noWith this on, traders only stock an item once a player has sold them one. That turns the economy around: the market then lives off the players, not off the game's supply.
tradeable-rotation-enabledRotate the offer at all1noThe master switch for goods rotation. Off means every trader keeps the same range forever, and the four timing values above stop doing anything.
enable-fame-point-requirementFame points as a requirement1noWhether goods that require fame points really require them. Off means anyone buys anything as soon as they have the money.

Fields per goods line

FieldDefaultWhat does this setting do?
tradeable-codeItem codeThe item's internal name, for example Weapon_AK47 or Frag_Grenade. It is the only way the trader finds the item.
base-purchase-pricePurchase price-1What the player pays. -1 keeps the game's own price.
base-sell-priceSell price-1What the trader pays when a player sells the item. -1 keeps the game's own price.
delta-pricePrice movement-1.0How strongly this one item's price reacts to supply and demand. Only effective if price movement is switched on globally.
can-be-purchasedPurchasable at alldefaultdefault keeps the default, otherwise 1 for purchasable and 0 for not. This is how you block single items without removing them from the game.
required-famepointsRequired fame points-1How much fame someone needs to buy this item. -1 means no own requirement.
available-after-sale-onlyOnly after a player saledefaultLike the global switch, but for this one item only.

The 36 trader names

A_0
A_0_ArmoryA_0_BarberA_0_BoatShopA_0_HospitalA_0_HunterA_0_Master_HunterA_0_MechanicA_0_SaloonA_0_Trader
B_4
B_4_ArmoryB_4_BarberB_4_BoatShopB_4_HospitalB_4_HunterB_4_Master_HunterB_4_MechanicB_4_SaloonB_4_Trader
C_2
C_2_ArmoryC_2_BarberC_2_BoatShopC_2_HospitalC_2_HunterC_2_Master_HunterC_2_MechanicC_2_SaloonC_2_Trader
Z_3
Z_3_ArmoryZ_3_BarberZ_3_BoatShopZ_3_HospitalZ_3_HunterZ_3_Master_HunterZ_3_MechanicZ_3_SaloonZ_3_Trader

What the file looks like

{
    "economy-override": {
        "traders-unlimited-funds": "0",
        "fully-restock-tradeable-hours": "6.0",
        "traders": {
            "A_0_Armory": [
                {
                    "tradeable-code": "Weapon_AK47",
                    "base-purchase-price": "4500",
                    "base-sell-price": "900",
                    "delta-price": "-1.0",
                    "can-be-purchased": "default",
                    "required-famepoints": "-1",
                    "available-after-sale-only": "default"
                }
            ]
        }
    }
}
Have this file checked

Drag it into the configurator – on its own or with the whole folder. Checking happens in your browser, nothing is uploaded.

To the configurator →

← All config files