config.yml walkthrough Every section of config.yml, what it does, its default, and the page that explains it in full.
plugins/Emberstore/config.yml holds every switch that is not about a single item. Most sections have their own page, so this one is the map: what each section is for and where to read more. Change a value, then run /store admin reload.
A value that cannot be read (a word where a number belongs, an unknown choice) is replaced by its default and the console names the key. Only a config.yml that cannot be read at all stops the plugin.
Key Default What it does languageen_USLanguage file from lang/, without .yml. See Messages and language . price-currency"usd"The currency every item price is written in. currenciesusd $, eur €, gbp £, inr ₹Symbol shown for each currency code. A code without one shows the code. currency-conversionon, live Converting prices for gateways that bill in another currency. See Prices and currencies .
Key Default What it does checkout.use-dialogstrueShow checkout as a dialog. When false, or when a client cannot show dialogs, the chest menu is used. See Checkout dialogs . checkout.expire-minutes30Minutes before a payment link stops being valid. Also how long an unpaid order holds its stock and code use. success-url"https://yourdomain.com/thanks"Page buyers land on after paying. cancel-url"https://yourdomain.com/cancelled"Page buyers land on after cancelling. fees.showfalseShow an estimated gateway fee in checkout. Display only, it never changes what is charged. fees.percentnowpayments: 0.5, stripe: 2.9Estimated fee per gateway as a percentage of the price, keyed by gateway id. gifts.enabledtrueLet players buy an item for another player. See Stock, limits and gifts .
Key Default What it does webhook.enabledtrueRun the webhook listener on this server. webhook.listen-address"127.0.0.1"Address the listener binds to. webhook.listen-port8443Port the listener binds to. webhook.public-base-url"https://yourdomain.com"Public HTTPS address of the listener. Gateways post to it plus /webhook/<gateway id>. nowpayments ... litepayonly NOWPayments on One section per gateway. See Payment gateways . reconciliation.enabledtrueRe-check stuck orders with their gateway. reconciliation.poll-interval-seconds120Seconds between checks. reconciliation.stale-after-minutes5Only orders older than this are re-checked. revocation.on-refundtrueTake the reward back on a refund. See Refunds . revocation.on-disputetrueTake the reward back on a dispute or chargeback.
Key Default What it does offline-delivery.enabledtrueHold rewards for offline players until they join. See Offline delivery . offline-delivery.notify-on-jointrueTell players about rewards delivered on join. subscriptions.renewal-reminder-days[3, 1]Days before a timed item ends when the player is reminded. See Timed items . discordoff Post order events to a Discord webhook. See Notifications . purchase-log.enabledtrueWrite every order event to a daily log file. notify.in-gametrueTell players with emberstore.notify when a sale completes.
Key Default What it does storagesqliteWhich database to use and how to reach it. See Storage . networkoff Share one store between several servers. See Networks . dashboardoff The read-only web dashboard. See Web dashboard . proxy.real-ip-header""Header carrying the real visitor address when a reverse proxy sits in front. Empty to ignore it. proxy.trusted-addresses["127.0.0.1", "::1"]Addresses or CIDR ranges of proxies allowed to set that header. Used by the dashboard and the webhook listener.
Key Default What it does dashboard.enabledfalseTurn the dashboard on or off. dashboard.listen-address"127.0.0.1"Address it listens on. Anything else logs a warning that traffic is unencrypted unless a TLS proxy is in front. dashboard.listen-port8444Port it listens on. dashboard.public-url"https://dashboard.yourdomain.com"Address admins open, used to build login links. dashboard.login-link-minutes5Minutes a login link stays valid. Each link works once. dashboard.session-minutes120Minutes of inactivity before a session ends. dashboard.allow-insecure-httpfalseAllow a plain http:// public-url. Without it the dashboard refuses to start on one. dashboard.show-test-ordersfalseInclude test orders in the figures by default.
Key Default What it does lists.entries-per-page8Rows per page in /store history, /store top and /store admin orders. help.entries-per-page5Commands per page in /store help and /store admin help. test-mode.enabledfalseTurns on the admin test tools and marks new orders as tests. See Test mode . test-mode.fake-invoicesfalseSkip the gateway and hand out a dummy link.
Every shipped file has a version key (config-version, categories-version and so on). When an update adds new keys, Emberstore adds them to your file and keeps your values. Your file is not touched on a normal restart. Items, sales and codes you deleted never come back.