Skip to content

Configuration

The config.yml file lives in plugins/OpenEco/. OpenEco auto-migrates legacy currency.* keys into currencies.* on startup and /eco reload.

Click any option below to view additional information.

Apply most changes without a restart

After editing config.yml, run /eco reload to apply messages and most runtime rules. Storage backends, cross-server.enabled, and accounts.load-strategy still require a restart.

currencies:
default:openeco
definitions:
<currency-id>:
name-singular:Dollar
name-plural:Dollars
decimal-digits:2
starting-balance:0.00
max-balance:-1
storage:
type:sqlite
sqlite:
file:economy.db
h2:
file:economy
mysql:
host:localhost
port:3306
database:openeco
username:root
password:
pool-size:10
mariadb:
host:localhost
port:3306
database:openeco
username:root
password:
pool-size:10
postgresql:
host:localhost
port:5432
database:openeco
username:postgres
password:
pool-size:10
migration:
source-type:sqlite
source-folder:
source-file:
accounts:
load-strategy:eager
autosave-interval:30
pay:
cooldown-seconds:0
tax-percent:0.0
min-amount:0.01
baltop:
page-size:10
cache-ttl-seconds:30
history:
retention-days:-1
cross-server:
enabled:false

Messages

The messages section contains MiniMessage-formatted chat strings. Placeholders like &lt;player&gt;, &lt;balance&gt;, &lt;amount&gt;, and &lt;currency&gt; are replaced at runtime.

Run /eco reload after editing messages. No restart needed.

Full example

yaml
currencies:
  default: openeco
  definitions:
    openeco:
      name-singular: "Dollar"
      name-plural: "Dollars"
      decimal-digits: 2
      starting-balance: 0.00
      max-balance: -1

storage:
  type: sqlite
  sqlite:
    file: economy.db

accounts:
  load-strategy: eager

autosave-interval: 30

pay:
  cooldown-seconds: 0
  tax-percent: 0.0
  min-amount: 0.01

baltop:
  page-size: 10
  cache-ttl-seconds: 30

history:
  retention-days: -1

cross-server:
  enabled: false

See Production guide for recommended starting values on live servers.