/im Command - Complete Guide
The /im command (alias: /inviteme) handles all plugin administration tasks. This command is designed for server operators and admins.
Command Syntax
Section titled “Command Syntax”/im <subcommand> [options]STATS - Server Statistics
Section titled “STATS - Server Statistics”Syntax
Section titled “Syntax”/im stats [N]Permissions
Section titled “Permissions”invite.stats- Required (default: op)
Basic Statistics
Section titled “Basic Statistics”/im statsOutput:
══════ Server Invite Statistics ══════ Total invites given: 47 Total invited players: 47 ─────────── Top Inviters ─────────── 1. Alice — 8 invites 2. Bob — 6 invites 3. Steve — 5 invites 4. Charlie — 4 invites 5. Diana — 3 invites════════════════════Custom Top N
Section titled “Custom Top N”Show more or fewer entries in the ranking:
/im stats 10/im stats 3Example: /im stats 10 shows top 10 inviters instead of default 5.
Clear Player Stats
Section titled “Clear Player Stats”Reset all boost statistics for a specific player:
/im stats clear AlicePermission: invite.admin (requires admin, not just invite.stats)
What gets reset:
| Stat | Reset to |
|---|---|
| Boosted vanilla XP | 0 |
| Boost time (seconds) | 0 |
| Net boost XP | 0 |
| XP shared given | 0 |
| XP shared received | 0 |
Use cases:
- Fresh start after testing the boost system
- Wipe stats at the beginning of a season or event
- Remove erroneous or test data
When to Use
Section titled “When to Use”- Monitor server growth and invitation activity
- Find the most active community members
- Decide who deserves VIP status based on activity
LOG - Action Log & Player Profiles
Section titled “LOG - Action Log & Player Profiles”Syntax
Section titled “Syntax”/im log list [player-name] [N]/im log export [global|player-name]Permissions
Section titled “Permissions”invite.log- Required (default: op)
View Global Action Log
Section titled “View Global Action Log”/im log listShows the last 20 actions by default (max: 200).
Output:
══════ Invite Action Log ══════ [INVITE] Alice → Bob (2024-01-20 16:45) [UNINVITE] Admin → Charlie (2024-01-20 15:30) — rule violation [EXPIRED] Console → Tom (2024-01-19 12:00) [SYNC_ADD] Console → Eve (2024-01-17 20:30)════════════════════Custom Entry Count
Section titled “Custom Entry Count”/im log list 50/im log list 100Requests above 200 are automatically capped and a notice is shown.
View Player Profile
Section titled “View Player Profile”Passing a player name shows their full profile instead of the global log:
/im log list AliceOutput:
══════ Invite Profile: Alice ══════ Invited by: Console (2024-01-01 10:00) Has invited: 3 players • Bob (2024-01-15 14:30) • Charlie (2024-01-17 09:00) • Diana (2024-01-19 20:15) ─── Recent Activity ──────────────── [INVITE] Alice → Bob (2024-01-15 14:30) [INVITE] Alice → Charlie (2024-01-17 09:00)══════════════════════════════════════You can also limit the history shown:
/im log list Alice 10Log Event Types
Section titled “Log Event Types”| Type | Meaning |
|---|---|
INVITE |
Player was invited to the server |
UNINVITE |
Invitation was manually removed |
EXPIRED |
Temporary invitation expired automatically |
SYNC_ADD |
Player added during whitelist sync |
Export to CSV
Section titled “Export to CSV”/im log export # full global log/im log export global # explicit global export/im log export Alice # export one player's logFiles created in plugins/InviteMe/logs/:
- Global:
global_log_YYYY-MM-DD_HHmmss.csv - Per player:
user_log_<name>_YYYY-MM-DD_HHmmss.csv
CSV columns: timestamp, action_type, actor_name, actor_uuid, target_name, target_uuid, reason
Use cases:
- Audit trail for rule violations
- Report to server owner
- Import into spreadsheet for analysis
- Evidence when banning a player
SYNC - Synchronize Whitelist
Section titled “SYNC - Synchronize Whitelist”Syntax
Section titled “Syntax”/im syncPermissions
Section titled “Permissions”invite.admin- Required
What It Does
Section titled “What It Does”Forces an immediate whitelist synchronisation and reports the precise delta — no snapshot comparison, the count is calculated during the operation itself.
Output:
⟳ Starting whitelist synchronization...→ Whitelisted: 47 | Tracked: 45 | Missing: 2✓ Synchronization completed: 2 added, 0 removed✓ All whitelisted players are tracked!If players still need manual attention after sync:
⚠ 1 players still need manual attentionWhen to Use
Section titled “When to Use”- After migrating from vanilla whitelist to InviteMe
- After a server crash or plugin error
- After manually editing
whitelist.json - If players report they can’t join despite being “invited”
RELOAD - Hot Reload Configuration
Section titled “RELOAD - Hot Reload Configuration”Syntax
Section titled “Syntax”/im reloadPermissions
Section titled “Permissions”invite.admin- Required
What reloads:
config.yml— all settings including storage type, limits, LuckPerms config- Language files — all locale files in
plugins/InviteMe/locales/ - Permission group mappings — LuckPerms group-limits re-read
- Access control mode — native vs plugin mode
What does NOT reload:
- Active database connections (requires restart)
- Cached player heads in GUI (refreshes on next open)
Workflow
Section titled “Workflow”After editing config.yml:
1. Edit plugins/InviteMe/config.yml2. /im reload3. /im debug ← verify changes appliedMIGRATE - Move Data Between Backends
Section titled “MIGRATE - Move Data Between Backends”Syntax
Section titled “Syntax”/im migrate <sqlite|mysql|postgresql>Permissions
Section titled “Permissions”invite.admin- Required
Validation
Section titled “Validation”Before any data is touched, the command validates:
- The target backend must be
sqlite,mysql, orpostgresql - The target must differ from the currently active backend
/im migrate badname→ ✗ Unknown backend 'badname'. Valid options: sqlite, mysql, postgresql.
/im migrate sqlite (when already on SQLite)→ → Already using sqlite. No migration needed.How Migration Works
Section titled “How Migration Works”Migration runs in 4 phases and reports progress for each:
/im migrate mysqlOutput:
⟳ Connecting to MYSQL and migrating data... This may take up to 30 seconds — please wait...
⟳ [1/4] Verifying source data... Invitations: 47 | Logs: 120 | Stats: 35
⟳ [2/4] Migrating invitations...✓ Invitations migrated (47 records)
⟳ [3/4] Migrating action log...✓ Action log migrated (120 records)
⟳ [4/4] Migrating player stats...✓ Player stats migrated (35 records)
✓ Migration complete! 202 records → mysql→ Now change storage.type to 'mysql' in config.yml and run /im reload.If a phase fails:
✗ Error in phase 2/4: <error message>✗ Migration failed. Original data is intact.After Migration
Section titled “After Migration”storage: type: mysql # ← change this to the target backendThen run /im reload to switch the active connection.
Safety Notes
Section titled “Safety Notes”- Original data is never modified —
/im migrateonly copies records to the target backend - If migration fails at any phase, the copy is aborted and your source data is untouched
- The
.migratedsuffix only appears during automatic startup migration (e.g. upgrading from the JSON backend), not when you run/im migratemanually - Always test migration with a backup first on large servers
DEBUG - Diagnostic Information
Section titled “DEBUG - Diagnostic Information”Syntax
Section titled “Syntax”/im debug # one line per area/im debug <section> # storage | sync | boost | papi | version | config | locale | tasksPermissions
Section titled “Permissions”invite.admin- Required
Overview
Section titled “Overview”══════ InviteMe Debug ══════ InviteMe 26.09.30.0 | Paper 1.21.11 | Java 25 (Eclipse Adoptium)[✓] storage: SQLite (invites.db) | 42 invite(s)[✓] sync: next in 37 min | last 23 min ago (+0/-0)[✓] boost: enabled | 3 player(s) boosted now[-] papi: not installed[!] version: update available: 26.10.01.0 (1 version(s) behind)[✓] config: 4 key(s) changed | 0 unknown[✓] locale: en | 0 key(s) missing[✓] tasks: 9 task(s) scheduled Your invites: 2/5 used ← only when run by a player Details: /im debug <storage|sync|boost|papi|version|config|locale|tasks> Need help? /im report builds a report for support.[✓] works, [-] is off, [!] needs a look — open that section for the detail.
Sections
Section titled “Sections”| Section | Shows |
|---|---|
storage |
Backend, data file with its size and last change (date and time in your date-time-formatting.timezone), MySQL/PostgreSQL connection pool (active, idle, open, waiting), invites, inviters, action log size and the top 5 inviters |
sync |
Status, interval, time left until the next sync, when the last one ran and what it changed, whitelisted players, tracked invites and whitelisted players without an invite |
boost |
Radius per dimension, XP multiplier and its cap, max partners, cooldown, players boosted right now and your own boost |
papi |
Whether the placeholders registered (with the error if not) and a live test of a few placeholders on you |
version |
The update check’s result, last and next check, which version types it notifies for (`release ✓ |
config |
Keys whose value differs from the default — passwords, hosts, users and webhook URLs shown as *** — and unknown keys, which are usually typos |
locale |
Active language, locale files patched this session and keys shown in English because the language lacks them |
tasks |
Every repeating task InviteMe runs and how often, plus how many InviteMe tasks Bukkit’s scheduler holds |
Storage is always read off the main thread, so /im debug does not freeze the server even with a remote database.
Common Debug Scenarios
Section titled “Common Debug Scenarios”Players can’t join despite being invited:
/im debug sync# Whitelisted without an invite > 0? Run /im syncA setting seems to be ignored:
/im debug config# Listed under "Unknown keys (typo?)"? Fix the key name, then /im reloadNo update notice although a new version is out:
/im debug version# "... does not list Minecraft X" means that version is not for your serverBOOST - Boost Diagnostics
Section titled “BOOST - Boost Diagnostics”Syntax
Section titled “Syntax”/im boost/im boost status [player]/im boost check <player1> <player2>Permissions
Section titled “Permissions”invite.admin- Required
Diagnostic tool for the mutual XP boost system.
Global Overview
Section titled “Global Overview”/im boostLists every active boost pair server-wide and shows the multiplier.
Output:
⚡ Invite Boost — Global Status Manager: Enabled Multiplier: 2x
Alice ↔ Bob [ACTIVE] Steve ↔ Diana [ACTIVE]
Total active pairs: 2Player Status
Section titled “Player Status”/im boost status/im boost status AliceNo player argument defaults to yourself (must be a player). Shows whether the target has an active boost, their partners, effective multiplier, and XP sharing percentage.
Verify Invite Link
Section titled “Verify Invite Link”/im boost check Alice BobChecks whether a direct invite link exists between two online players (in either direction) and whether they are eligible for the boost.
Output:
⚡ Invite link check: Alice → Bob: Yes (Alice invited Bob) Bob → Alice: No Direct link exists: Yes (boost eligible)Both players must be online. If either is offline the command reports “Player not found or offline.”
See the Mutual Boost Guide for the full mechanics.
REPORT - Generate Bug Report
Section titled “REPORT - Generate Bug Report”Syntax
Section titled “Syntax”/im reportPermissions
Section titled “Permissions”invite.admin- Required
Generates a diagnostic snapshot of the server and uploads it to the configured paste backend, returning a clickable URL to share with support.
What the Report Includes
Section titled “What the Report Includes”| Section | Content |
|---|---|
| Plugin & server version | InviteMe version, Paper/Spigot build |
| Storage backend | Active backend type |
| config.yml (sanitized) | All settings — credentials replaced with *** |
| Active plugins | Name and version of all loaded plugins |
| InviteMe console log | Last 200 lines mentioning InviteMe (including stack traces) |
Output
Section titled “Output”⟳ Generating bug report...✓ Report generated: https://pastefox.com/abc123The URL is clickable in-game. Share it when opening a support request or bug report.
Upload Backends
Section titled “Upload Backends”| Feature | PasteFox (default) | mclo.gs |
|---|---|---|
| Log highlighting | Generic | ✅ Minecraft-specific |
| Expiry control | ✅ Configurable (default 24 h) | ❌ No control |
| Visibility | ✅ PUBLIC / UNLISTED / PRIVATE | ❌ Always public |
| Password protection | ✅ Optional | ❌ Not supported |
Configure the backend and options under report: in config.yml. See Config Reference.
VERSION - Installed Version & Updates
Section titled “VERSION - Installed Version & Updates”Syntax
Section titled “Syntax”/im version # what the last update check found/im version check # ask Modrinth nowPermissions
Section titled “Permissions”- Requires:
invite.admin
Output
Section titled “Output”══════ InviteMe Version ══════ Installed: 26.09.25.0 | Minecraft: 1.21.11 Update available: 26.09.29.0 You are 3 version(s) behind→ Download: https://modrinth.com/plugin/inviteme/version/v26.09.29.0 Last checked 12 min ago Use /im version check to check now.The download link is clickable in-game and opens that version’s own page on Modrinth.
“Behind” counts the newer versions that list your server’s Minecraft version and are of a type you allow in version-checker.notify-for.
Why there is no update notice
Section titled “Why there is no update notice”/im version also tells you why you were not told about an update:
| Message | Meaning |
|---|---|
| Up to date | No newer version lists your Minecraft version |
X exists but does not list Minecraft Y |
A newer version is out, but not for your Minecraft version, so no notice is sent |
| Last check failed: … | Modrinth could not be reached; the last known result is still shown |
| Not checked yet | The first check runs 5 seconds after startup |
| Update checks are disabled | version-checker.enabled is false in config.yml |
/im version check reuses an answer less than 5 minutes old instead of asking Modrinth again. A failed check is always retried.
Permission Summary
Section titled “Permission Summary”| Permission | Grants Access To | Default |
|---|---|---|
invite.admin |
sync, reload, migrate, debug, boost, report, version, uninvite, stats clear | op |
invite.stats |
/im stats [N] — view only |
op |
invite.log |
/im log list, /im log export |
op |
invite.* |
All of the above | op |
Admin Workflow Example
Section titled “Admin Workflow Example”New Player Investigation
Section titled “New Player Investigation”1. /im log list SuspiciousPlayer → See who invited them, when, and full action history
2. /invite remove SuspiciousPlayer Rule violation → Remove if needed, with reason logged
3. /im log list → Confirm the action was loggedServer Maintenance Routine
Section titled “Server Maintenance Routine”1. /im stats → Weekly check of server activity
2. /im log export → Export logs for archiving
3. /im debug → Verify everything is healthy
4. /im sync → Fix any whitelist discrepancies (after updates)
5. /im report → Generate a shareable diagnostic snapshot for supportTroubleshooting
Section titled “Troubleshooting”“You don’t have permission for /im”
- ✅ You need
invite.adminor op status - ✅ Check:
/im debug(if you can run this, you have admin)
“Migration failed”
- ✅ Check database credentials in config.yml
- ✅ Verify the target database exists and is reachable
- ✅ Check firewall rules for the database port
- ✅ Original data is safe — check
invites.db.migrated
“Reload didn’t apply my changes”
- ✅ Check for YAML syntax errors in config.yml
- ✅ Use a YAML validator online if unsure
- ✅ Run
/im debugto confirm current values
Next Steps
Section titled “Next Steps”- 📖 Player commands: /invite Command Guide
- ⚙️ Configuration: Config Reference
- 🔗 LuckPerms: LuckPerms Integration
- 📊 Storage: Storage Backends Guide
Need help?
Get support and chat with the community