Database Troubleshooting
Diagnostic Flow — "Database error / data lost"
- Check
database.ymlType/Host/Database/User/Password - For MySQL: database must exist (created manually), user needs full permissions
- Check console for connection errors or slow warnings
Common Mistakes
- MySQL must use
utf8mb4_unicode_520_cicollation — other collations break unicode/emoji characters. CheckcharacterEncoding=UTF-8in connection string - Connections >100ms are logged as warnings — causes proxy server-switch delays. Co-locate MySQL server or switch to SQLite for single-server setups
CLEAR_DATA_IF_INACTIVEsilently purges data — players who haven't been online for the configured period lose all data (tags, channels, ignore lists, etc.). Users report "player data disappeared" — check this setting- Nick column is indexed for
/realnamelookups — database-level optimization. Not user-facing but relevant for slow/realnamequeries - Migrator auto-migrates SQLite→MySQL on startup — changing Type from
localtoremotetriggers automatic migration. Monitor console for progress - Multiple PlayerCache entries = bug indicator — if console logs warn about duplicate PlayerCache entries, it indicates a synchronization bug