The database.yml file allows you to configure which database system LevelsRM will use to store player data.
Database Selection
# ───────────────────────────────────────────────
# DATABASE CONFIGURATION
#
# Select the database type you want the plugin to use.
# Supported options:
# - SQLite (Best for testing or small servers)
# - MySQL (Recommended for most production servers)
# - MongoDB (Ideal for large networks or scalable setups)
#
# Note:
# - You must restart the server after changing the database type.
# - Only one type can be active at a time.
# ───────────────────────────────────────────────
Database:
Type: SQLite # Options: SQLite, MySQL, MongoDB
MySQL Configuration
# ─ MySQL Configuration ─
MySQL:
Host: localhost # Use your host's IP (e.g., 127.0.0.1 or Docker internal IP)
Port: 3306 # Default MySQL port
User: root # MySQL username
Password: "" # MySQL password (keep it secure!)
Database: levelsrm # Name of the database
Max-Pool-Size: 15 # Max number of concurrent connections
Use-SSL: false # Enable if your MySQL server requires SSL
MongoDB Configuration
# ─ MongoDB Configuration ─
MongoDB:
URI: "mongodb+srv://<username>:<password>@<cluster-url>/?retryWrites=true&w=majority"
Database: levelsrm
Database Recommendations
SQLite
- Best for: Testing or small servers
- Pros: No setup required, file-based storage
- Cons: Limited concurrent connections, not suitable for large networks
MySQL
- Best for: Most production servers
- Pros: Reliable, good performance, widely supported
- Cons: Requires separate database server setup
MongoDB
- Best for: Large networks or scalable setups
- Pros: Excellent scalability, flexible schema
- Cons: More complex setup, requires MongoDB knowledge
Important: You must restart your server after changing the database type. Only one database type can be active at a time.