Skip to main content
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.