Troubleshooting
Detailed solutions for common issues. If your problem isn’t here, check the FAQ or open an issue on Modrinth.
Plugin Not Loading
Section titled “Plugin Not Loading”Symptoms
Section titled “Symptoms”- No
[InviteMe]messages in server console on startup /inviteand/imcommands don’t exist/pluginsdoesn’t show InviteMe
Checklist
Section titled “Checklist”1. Check Java version
java -versionInviteMe requires Java 21 or higher. If you see Java 17 or lower, upgrade your Java installation.
2. Check server software InviteMe requires Paper (or a Paper fork). Pure Spigot and CraftBukkit are not supported.
Verify your server version in the console startup line:
[Server] Starting Paper version git-Paper-...3. Check the JAR is in the right place
plugins/├── InviteMe-x.x.x.jar ← must be here└── ... other plugins4. Check console for errors Look for lines like:
[ERROR] Could not load 'plugins/InviteMe-x.x.x.jar'The error message will tell you exactly what’s wrong.
5. Run debug If the plugin loads but something’s wrong:
/im debugPlayers Can’t Join Despite Being Invited
Section titled “Players Can’t Join Despite Being Invited”Quick Checks
Section titled “Quick Checks”/invite list ← confirm the player is actually in the list/im debug ← check access control mode and storage status/im sync ← resync whitelist with InviteMe databaseCase 1: Player not in the list
Section titled “Case 1: Player not in the list”/invite listCheck the action log for removals:
/im log list PlayerNameCase 2: Whitelist out of sync (native mode)
Section titled “Case 2: Whitelist out of sync (native mode)”In native mode, InviteMe writes to whitelist.json. If it got out of sync:
/im syncThis adds any missing players back to whitelist.json.
Case 3: Plugin mode with whitelist still enabled
Section titled “Case 3: Plugin mode with whitelist still enabled”In plugin mode, server.properties must have:
white-list=falseIf white-list=true, Minecraft will reject the player before InviteMe can allow them.
Restart the server after changing server.properties (reload alone is not enough).
Case 4: Invitation expired
Section titled “Case 4: Invitation expired”Temporary invitations expire silently. Check:
/im log list PlayerNameTo re-invite:
/invite add PlayerName/invite add PlayerName 30Commands Not Working
Section titled “Commands Not Working””Unknown command”
Section titled “”Unknown command””- Verify InviteMe is loaded:
/plugins→ look forInviteMe [enabled] - Check the exact spelling:
/inviteand/im(not/invitesor/iminvite) - If just installed, the server needs to be restarted (not just reloaded)
“You don’t have permission”
Section titled ““You don’t have permission””Run /im debug and check the permissions section. Then:
For /invite add not working:
# If you changed defaults, restore:/lp group default permission set invite.use trueFor /invite add Player 7 (days) not working:
/lp user PlayerName permission set invite.temp true/lp group vip permission set invite.temp trueFor /invite remove not working:
/lp user PlayerName permission set invite.admin trueCommand works but nothing happens
Section titled “Command works but nothing happens”Check storage status:
/im debug# If "Error" or "Disconnected", see Database Issues belowInvitation Limit Issues
Section titled “Invitation Limit Issues”Player hits their limit too quickly
Section titled “Player hits their limit too quickly”Check their current limit:
/im profile PlayerNameIf using LuckPerms group limits:
/im debug
/lp user PlayerName infoIncrease limit in config.yml:
default-invite-limit: 10 # increase thisOr grant a per-player override:
/lp user PlayerName permission set invite.number.10 trueThen reload:
/im reloadPlayer has invite.admin but still shows a limit
Section titled “Player has invite.admin but still shows a limit”invite.admin bypasses all limits. If the profile still shows a limit, the permission may not be active:
/lp user PlayerName permission check invite.adminDatabase Issues
Section titled “Database Issues””Connection failed” (MySQL/PostgreSQL)
Section titled “”Connection failed” (MySQL/PostgreSQL)”Step 1: Verify config.yml credentials
storage: type: mysql remote: host: your-host.com ← correct? port: 3306 ← correct port? database: inviteme ← database exists? username: inviteme_user ← correct username? password: "password" ← correct password?Step 2: Test from the server machine
mysql -h your-host.com -u inviteme_user -p inviteme
psql -h your-host.com -U inviteme_user invitemeIf this fails, the issue is network connectivity or credentials — not InviteMe.
Step 3: Check firewall
- MySQL: port 3306
- PostgreSQL: port 5432
- Both must be open from your Minecraft server’s IP
Step 4: Verify the database user has correct permissions
-- MySQLSHOW GRANTS FOR 'inviteme_user'@'%';-- Should include: GRANT ALL PRIVILEGES ON inviteme.*
-- PostgreSQL\du inviteme_user”Data seems to be missing after migration”
Section titled “”Data seems to be missing after migration””After migrating backends, run sync to verify:
/im sync/im debugThe original data is preserved:
- SQLite:
plugins/InviteMe/invites.db.migrated - JSON:
plugins/InviteMe/invites.json.migrated
If data is missing, you can migrate back from the .migrated file by renaming it and running the migration again.
SQLite “database locked” error
Section titled “SQLite “database locked” error”SQLite uses file locking. This happens when:
- Two processes access the same file simultaneously
- A previous crash left a lock file
Fix:
# Delete the lock file if it exists:rm plugins/InviteMe/invites.db-shmrm plugins/InviteMe/invites.db-walGUI / Inventory Menu Issues
Section titled “GUI / Inventory Menu Issues”Menu opens empty despite having invitations
Section titled “Menu opens empty despite having invitations”/invite listIf /invite list shows invitations but the GUI is empty, try:
/im reload/invite menuRight-click doesn’t open confirmation dialog
Section titled “Right-click doesn’t open confirmation dialog”- Make sure you’re right-clicking the player head, not an empty slot
- Check you have the
invite.usepermission - Close and reopen the menu
Heads show as Steve (default skin)
Section titled “Heads show as Steve (default skin)”Player heads use Minecraft’s skin system. They’ll show as Steve if:
- The player never joined the server (offline-mode issue)
- The skin API is temporarily unavailable
This is cosmetic only — functionality is not affected.
LuckPerms Integration Issues
Section titled “LuckPerms Integration Issues”Group limits not applying
Section titled “Group limits not applying”/im debugIf it shows “Not installed”:
- LuckPerms may not have loaded before InviteMe
- Restart the server (don’t just reload)
If installed but limits wrong:
/lp user PlayerName info
# Group names must match EXACTLY (case-sensitive)invite.admin always bypasses limits
Section titled “invite.admin always bypasses limits”This is intentional behavior. Players with invite.admin:
- Bypass all invite limits
- Can see all players in the GUI
- Can remove any invitation
If you want to restrict a specific admin, remove invite.admin and grant individual permissions instead.
Configuration Issues
Section titled “Configuration Issues”Changes to config.yml not taking effect
Section titled “Changes to config.yml not taking effect”/im reload/im debug ← verify new values are shownIf values still don’t change, check for YAML syntax errors. Common mistakes:
password: P@ssw0rd!
password: "P@ssw0rd!"storage:type: mysql ← must be indented
storage: type: mysqlUse an online YAML validator (search “YAML lint”) to check your file.
config.yml keeps getting reset
Section titled “config.yml keeps getting reset”InviteMe only creates config.yml if it doesn’t exist. If it’s being overwritten:
- Check for other plugins that might be managing config files
- Verify file permissions:
plugins/InviteMe/config.ymlmust be writable
Performance Issues
Section titled “Performance Issues”Server lag after installing InviteMe
Section titled “Server lag after installing InviteMe”InviteMe runs all storage operations asynchronously and should not cause server lag. If you notice lag:
-
Enable debug mode and check for slow queries:
debug-mode: trueThen
/im reloadand watch for slow operation warnings in console. -
For MySQL/PostgreSQL, increase pool-size if you have many players:
storage:remote:pool-size: 20 -
Switch from JSON to SQLite or MySQL — JSON reads the entire file on every operation.
Getting More Help
Section titled “Getting More Help”If these steps don’t resolve your issue:
- Run
/im debugand copy the full output - Check recent server console logs for InviteMe errors
- Open an issue at Modrinth Discussions with:
- Your server version (
/version) - InviteMe version (
/im debug) - The full error from console (if any)
- Steps to reproduce the issue
- Your server version (
See Also
Section titled “See Also”- ❓ FAQ — quick answers to common questions
- ⚙️ Config Reference
- 📊 Storage Backends
- 🔗 LuckPerms Integration