Setting it up
Three steps, once. After that the website is the only thing you touch.
- Install the PalMarket mod on your dedicated server.
- Build a configuration here and publish it. You get an id.
- Put a sync.json carrying that id into your server's Pal\Saved\PalMarket folder.
Your server fetches the configuration itself from then on.
The sync file
Interval is in seconds, 60 by default, and never below 15.
{
"url": "https://palmarket.doodesch.de/api/v1/market/<your id>",
"intervalSeconds": 60
}What applies without a restart
Buy price, stock, amount per purchase, whether a merchant offers an item at all, and which item a slot sells. Your server applies all of it on its next poll, and a player with an unmodified game sees it.
Items a merchant only buys
Set Stock to Not for sale and the merchant buys the item off players without ever selling it, still listed in the shop and marked sold out. Nine gems already work that way at every general trader.
Currencies
35 merchants take Gold. The medal counter takes Dog Coins, the bounty counter takes Successful Bounty Tokens, and the arena takes Battle Tickets.
VillagePal MerchantDesertVolcanoWanderingCaravanDungeon
Medal
Bounty
Arena
At those three, set a buy price on every item. Left at 0, the merchant charges the item's Gold base value in tokens instead.
What a merchant pays for an item
Not configurable. The rate lives where a Lua mod cannot write, so a control for it would move a number nothing reads.
Measured on a running server: with the rate published as 0.2 and again as 1.0, a merchant paid the same for the same item both times.
Buy prices do work. Set one on the merchant that should sell it cheaply.
The Pal Merchant's counters
One of three counters is drawn each time the Pal Merchant loads. Weights are 100, 50 and 50.
An edit there can stay invisible across several merchant loads.
Slots
When your server loads a merchant it builds a fixed number of product slots. Any slot can be pointed at any item while the server runs, and no slot can be created while it runs.







The number of slots is smaller than the number of rows in the game's table, and only your server knows it. It reports the real number the first time it polls.
Fewer slots on purpose
A merchant can be capped in the Merchant panel: set Slots to 30 and it offers 30 items, whatever the game built. The roster is written to that number too.
Measured on a dedicated server: a roster of 200 rows built 191 slots, and all 191 stood in the shop. 200 is the ceiling, not a target.
What needs a restart
Selling more items at one merchant than the game built slots for. The site hands you a roster file for that.
The roster file replaces the whole shop list. Download it again after every change.
Keeping it off the gallery
Publishing gives your server an address to poll. It does not put the configuration in the gallery: new ones are unlisted, and only people you hand the id to can open it.
The gallery is a switch on the configuration's page, either way, at any time.
Something is wrong
The mod writes what it did into the UE4SS log, one line per applied revision.