Configuration
Compact list of config.yml and gui.yml keys loaded in 1.0.3.
Based on GrzybcioRynek 1.0.3 and web 0.1.0 source.
Messages live in config.yml under messages.*. There is no separate messages.yml. /market reload reloads config.yml and gui.yml and reloads stores (blocked while reserved).
config.yml — settings
| Key | Default | Note |
|---|---|---|
settings.max-listings-per-player | 10 | active listing limit |
settings.listing-expiry-days | 7 | 30 min timer |
settings.gui-rows | 6 | loaded, unused |
settings.min-price | 1.0 | |
settings.max-price | 1000000.0 |
market-fee
| Key | Default | Note |
|---|---|---|
enabled | true | false → both fees 0 |
listing-fee-percent | 0.0 | % of price on list |
sale-fee-percent | 5.0 | % of price on sale |
minimum-fee | 0.0 | floor |
maximum-fee | 0.0 | 0 = no ceiling |
sink-account | "" | empty = burn fee |
Feature flags
| Key | Default | Actual effect |
|---|---|---|
history.enabled | true | only command /market history |
history.retention-days | 30 | prune COMPLETED in EDS |
favorites.enabled | true | /market favorites |
price-alerts.enabled | true | /market alerts |
price-alerts.max-per-player | 10 | |
mailbox.enabled | true | mailbox vs pending-returns / drop |
ratings.enabled | true | prompt after purchase |
stats.enabled | true | loaded, never checked |
transactions.logging | true | [TX id] logs |
anti-abuse
| Key | Default |
|---|---|
enabled | true |
max-purchases-from-same-player | 20 |
purchase-window-seconds | 86400 |
max-transaction-value | 10000000 |
listing-cooldown-seconds | 5 |
Counters in memory — lost on restart.
messages — key groups
prefix, no-permission, player-only
sell.* — success, no-item, invalid-price, limit-reached, air-item
buy.* — success, not-enough-money, own-listing, inventory-full, not-available, transaction-failed, seller-notified, listing-locked
remove.* — success, not-found, not-owner
reload.success, expiry.returned, my.no-listings
search.* — prompt, cancelled, no-results
favorites.* — added, removed, disabled
mailbox.* — received, empty, claimed, inventory-full
alerts.* — prompt-query, prompt-price, created, removed, limit, triggered, disabled
fee.* — listing, sale-preview, not-enough-listing
price-hint, price-hint-none
anti-abuse.* — cooldown, max-value, same-player
rating.* — prompt, success, invalid, already
admin.inspect-header, relist.prompt
gui.* — titles, categories, sort, buttons, lore, confirm
usage.* — main, sell, wystaw, remove, search, alerts
Placeholders in texts: {item}, {price}, {min}, {max}, {limit}, {id}, {query}, {fee}, {net}, {seconds}, {seller}, {buyer}, {stars}, {page}, {total}, {sort}, {time}, {reason}, {unit}, {value}, {count}, {avg}.
gui.yml
| Key | Default |
|---|---|
browse.size | 54 |
browse.border-slots | border 0–8, 9, 17, … |
browse.listing-slots | 21 slots (10–16, 19–25, 28–34) |
browse.categories.<id>.slot / .material | categories |
browse.pagination.previous/page/next | 39 / 40 / 41 |
browse.filler.enabled / material / name | true, BLACK_STAINED_GLASS_PANE, " " |
confirm.size | 27 |
confirm.slots.confirm/item/cancel | 11 / 13 / 15 |
confirm.confirm-material | LIME_CONCRETE |
confirm.cancel-material | RED_CONCRETE |
confirm.filler.* | like browse |
Browse bar 45–53 is not in YAML.
Generated files
listings.yml — listings, next-id, expiry-outbox, pending-returns, pending-sales + listings.yml.bak
market-data.yml — favorites, mailbox, alerts, ratings, transactions + .bak