Content generated with AI — it may contain mistakes.

Systems

Administration

The /marketadmin panel, editing every module's settings in game, the moderation lists, the market log and the stats screen, demo data, wiping and resetting, reloading, and the staff log.

The panel

/marketadmin (also /exyliamarket) opens one panel for everything staff manage. It opens for anybody holding any of the plugin's staff nodes; each card then asks for its own. From the console it prints the usage.

CardOpensNode
Server shopThe shop editor.exyliamarket.shop.admin
BazaarIts settings, and the products editor and offers.exyliamarket.bazaar.admin
Auction houseIts settings, and every listing.exyliamarket.auctionhouse.admin
AuctionsIts settings, and every running auction.exyliamarket.auctions.admin
Buy ordersIts settings, and every open order.exyliamarket.orders.admin
TradeIts settings.exyliamarket.trade.admin
SellIts settings.exyliamarket.sell.admin
Sell wandsIts settings.exyliamarket.sellwands.admin
Worth listThe worth editor.exyliamarket.worth.admin
Price checksThe price index and retention settings.exyliamarket.prices.admin
Price auditThe price audit screen.exyliamarket.sell.admin
Market logThe log.exyliamarket.admin.logs
StatsThe stats screen.exyliamarket.admin.logs
Reload/marketadmin reload.exyliamarket.admin.reload

Each card shows whether its module is on, and live counts: listings, auctions, orders, offers, shops, priced items and today's deals.

Settings in game

Each module's card opens its settings in themed pages — Fees & tax, Limits, Rules, Broadcasts, Bidding, Durations and so on. Click a value to change it: numbers, money, percentages, hours and seconds are typed with their range shown, switches flip, the blocked materials open a list. Values that bound each other are checked against each other (a minimum never above its maximum).

A change is written to the module's own file, under the same key as by hand, and that module reloads at once. Nothing is stored anywhere else. The shop's config.yml (celebrations included), discord.yml, the module switches and the network groups are only edited in the files. The shop's catalogue, coupons and sales are edited from its own editor.

Moderation lists

CommandListWhat staff do
/ahadminEvery listing, newest first.Left-click takes one down (the item goes back to the seller); right-click opens its log.
/auctionadminEvery running auction, ending soonest first.Left-click removes it, refunding the top bidder; right-click opens its log.
/ordersadminEvery open order, newest first.Left-click cancels and refunds it; right-click opens the buyer's log.
/bazaaradminThe products editor and every open order and offer.Right-click cancels an order or offer.

Every removal asks first, tells the owner, and is written to the market log as market-remove, auction-remove, order-remove or bazaar-remove. See each module's page for the commands that do the same by id.

The market log

/marketadmin log [player] opens the log of the whole network, or of one player as the one who acted or the one it happened to. It needs exyliamarket.admin.logs.

Each line is who did what, with which item, for how much, to whom, on which server and when. Click a name to open that player's log. Filter by module and by action, left-click forward and right-click back.

ModuleActions
auction-housemarket-listed, market-buy, market-remove
auctionsauction-opened, auction-bid, auction-auto-bid, auction-sale, auction-remove
ordersorder-fill, order-complete, order-collect, order-cancel, order-remove
bazaarbazaar-fill, bazaar-cancel, bazaar-remove
shopshop-buy, shop-sell
tradethe swap: what each side gave, items and money, one side per line

Lines are kept logs.keep-days (30 by default, 0 forever). The same records also go to the ExyliaLib staff log every Exylia plugin shares, browsed with /exylialib logs.

The stats screen

/marketadmin stats shows today and the last seven days: volume and deals per module and currency, the taxes taken, the items that moved most, and the players who sold and bought most (ranked in the default currency). The figures are worked out from the log every logs.stats-refresh-seconds (60 by default) and the screen says how long ago.

Demo data

/marketadmin demo seed fills the market with believable activity from eight fake players, so every screen can be photographed on a test server: auction house listings, auctions, buy orders, bazaar offers, a week of price history and, run by a player, a few entries in their own /collect. Rows go through the same storage as real ones, so they survive a restart, but no money is withdrawn or deposited. /marketadmin demo clear deletes everything the fake players own, refunding nobody; an auction a real player has bid on is left to end normally. Both need exyliamarket.admin.demo and run from the console too.

Test servers only

The demo sellers are fake and their listings can be bought with real money. Never seed a live server.

Wiping and resetting

ExyliaMarket has no wipe or reset command of its own. Every table declares what it holds, so ExyliaLib's /exylialib wipe ExyliaMarket <table|*> and /exylialib resetplayer <player> [ExyliaMarket|all] cover the market: listings, auctions, orders and bazaar offers are world data, the shop and bazaar catalogues and coupons are setup, limits and daily volume are progress, who used which coupon is account data, and logs, history and the price index are history. After a player reset, the market reads its listings, auctions, orders and offers again. See ExyliaLib commands.

Reloading

/marketadmin reload (or the panel's button) re-reads config.yml, discord.yml, every module's files, the worth list and every menu. Turning a module on or off still needs a restart; the reload names the modules waiting for one. /exylialib reload also re-reads this plugin's menus.

Discord

discord.yml posts the market's big moments to a channel: an auction house sale, an auction won, a buy order completed, a bazaar trade, a large shop purchase and a removal by staff. It is off until enabled is true and a webhook URL is set.

discord.yml
enabled: true
webhook: https://discord.com/api/webhooks/<id>/<token>
auction-house-sale:
  enabled: true
  above: 10000
  webhook: ''
  template:
    title: AUCTION HOUSE SALE
    description: '**%player%** bought **%amount%x %item%** from **%counterparty%**.'
EventDefault above
auction-house-sale10000
auction-won10000
order-completed10000 (the whole order's price)
bazaar-sale10000
shop-purchase50000
admin-removal— (above is not read)

above is in the default currency; 0 posts every deal, and a deal in another currency only posts when it is 0. Each event may name its own webhook. Templates are ExyliaLib's webhook cards — title, description, fields, colour, buttons, footer — with %player%, %player_head%, %counterparty%, %item%, %amount%, %price%, %tax%, %currency%, %module%, %action% and %server%. What players typed is escaped, so it never pings.

Something missing on this page? Tell us on Discord