PalMarket

How PalMarket works

Setting it up

Three steps, once. After that the website is the only thing you touch.

  1. Install the PalMarket mod on your dedicated server.
  2. Build a configuration here and publish it. You get an id.
  3. 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.

Adding an item costs a slot. Removing one frees a slot.

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.

support.doodesch.de/palmarket