Configuration
The config.yml file is located at plugins/RewardPro/config.yml. It is created automatically on first startup.
Almost everything is configured in the web editor. The config.yml only holds server side settings like storage and the cloud connection.
Full default config
# -------------------------------------------------------
# Reward Pro Configuration
# Docs: https://docs.elandgames.com/reward-pro
# -------------------------------------------------------
storage:
# Backend type: "yaml", "mysql" or "postgresql"
type: yaml
mysql:
host: localhost
port: 3306
database: rewardpro
username: root
password: ""
# Set to false only if your MySQL server does not support SSL
use-ssl: true
postgresql:
host: localhost
port: 5432
database: rewardpro
username: postgres
password: ""
# Set to false only if your PostgreSQL server does not support SSL
use-ssl: true
cloud:
# Your server token, generated by /rewardpro connect
token: ""
website-url: "https://elandgames.com"
update-checker:
# Checks SpigotMC once on startup for a newer version of RewardPro and any
# installed add-on, and notifies ops on join if one is available. No data
# about your server is sent, it's one outbound GET per plugin checked.
enabled: trueOptions reference
storage.type
| Value | Description |
|---|---|
yaml | Stores each player’s data in a separate file under plugins/RewardPro/player/. Default and recommended for single servers. |
mysql | Stores all player data in a MySQL database. Recommended for networks with shared player data. |
postgresql | Stores all player data in a PostgreSQL database. Same use case as MySQL, pick whichever database you already run. |
MySQL options
Only used when storage.type: mysql.
| Key | Default | Description |
|---|---|---|
host | localhost | MySQL server hostname or IP |
port | 3306 | MySQL server port |
database | rewardpro | Database name (must already exist) |
username | root | MySQL username |
password | "" | MySQL password |
use-ssl | true | Enables SSL for the MySQL connection. Set it to false only for local development servers without SSL certificates. |
Always use use-ssl: true in production. Disabling SSL exposes player data to network interception.
PostgreSQL options
Only used when storage.type: postgresql.
| Key | Default | Description |
|---|---|---|
host | localhost | PostgreSQL server hostname or IP |
port | 5432 | PostgreSQL server port |
database | rewardpro | Database name (must already exist) |
username | postgres | PostgreSQL username |
password | "" | PostgreSQL password |
use-ssl | true | Enables SSL for the PostgreSQL connection. Set it to false only for local development servers without SSL certificates. |
Always use use-ssl: true in production. Disabling SSL exposes player data to network interception.
cloud.token
The server token generated when you run /rewardpro connect. This is set automatically. You should not need to edit it manually.
If you need to reconnect, run /rewardpro connect again.
cloud.website-url
The base URL of the Eland Games API. Do not change this unless you are running a local development environment.
update-checker.enabled
Checks SpigotMC’s own update API once on startup for a newer version of RewardPro and any installed add-on, no requests are made to elandgames.com for this. If one is found, it’s logged to the console and any online staff member with rewardpro.admin is notified in chat with a clickable download link (staff who join later get the same notice). Set to false to disable the check entirely.
Local crash-safety cache
When storage.type is mysql or postgresql, RewardPro also keeps a real local copy of every player’s data under plugins/RewardPro/player-cache/, written on every save alongside the database write. This isn’t the primary storage (the database is still what every server in a network reads from), it exists purely so a hard server crash between the periodic 5-minute safety flushes never loses more than the last change. If the database is briefly unreachable, RewardPro also reads from this local cache instead of failing outright.
Anonymous usage statistics
RewardPro uses bStats to report anonymous, aggregate install statistics (server count, Minecraft version, storage backend type), the same free service most Bukkit/Spigot plugins use. No player data is included. This is controlled by the server-wide plugins/bStats/config.yml file (shared by every plugin using bStats on your server, not a RewardPro-specific setting), set enabled: false there to opt out entirely.
Switching to MySQL
Use MySQL instead of the default per-file storage if you run a network and want every server sharing one player database (so streaks, playtime and quest progress follow the player between servers).
Create an empty database
Using your MySQL server’s own tools, create a database (for example rewardpro) and a user with
full access to it. Reward Pro creates its own tables inside it on first connect, don’t create
tables yourself.
Stop the server
Storage type is only read on startup.
Edit config.yml
Set storage.type to mysql and fill in host, port, database, username and password
under storage.mysql. Leave use-ssl: true unless your MySQL server genuinely has no SSL support.
Start the server
Check the console for "Failed to initialise player storage". If you see it, double check the
credentials and that the database exists. See Troubleshooting.
Switching storage type does not migrate existing player data between yaml and mysql, players start fresh under the new backend. Do this before launch, not on a live server with progress you care about.
Switching to PostgreSQL
Same idea as MySQL, use PostgreSQL instead if that’s the database you already run.
Create an empty database
Using your PostgreSQL server’s own tools, create a database (for example rewardpro) and a user
with full access to it. Reward Pro creates its own table inside it on first connect, don’t create
tables yourself.
Stop the server
Storage type is only read on startup.
Edit config.yml
Set storage.type to postgresql and fill in host, port, database, username and password
under storage.postgresql. Leave use-ssl: true unless your PostgreSQL server genuinely has no SSL support.
Start the server
Check the console for "Failed to initialise player storage". If you see it, double check the
credentials and that the database exists. See Troubleshooting.
Switching storage type does not migrate existing player data between backends, players start fresh under the new one. Do this before launch, not on a live server with progress you care about.
After changing config.yml
Run /rewardpro reload to apply changes without restarting the server.