/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 debugPermissions
Section titled “Permissions”invite.admin- Required
Full Debug Output
Section titled “Full Debug Output”══════════ InviteMe Debug ══════════
1. Plugin Info: Version: 1.2.0 Language: en LuckPerms: Enabled
2. Invite Statistics: Total Invites: 47 Total Inviters: 12 Max Invites (config): 5
3. Top Inviters: 1. Alice — 8 invites 2. Bob — 6 invites
4. Your Invite Info: ← only shown when run by a player Has Unlimited: No Max Invites: 5 Used Invites: 3 Remaining: 2
5. PlaceholderAPI: Status: Installed
6. Mutual Boost Manager: Status: Enabled Your Boost Active: No Boost Partners: 1
7. Data File: Location: plugins/InviteMe/invites.db Exists: Yes Size: 68.00 KB Last Modified: 2024-01-20 16:45:00
(Remote storage backends show "MYSQL (remote — no local file)" instead)
8. Whitelist Sync: Status: Enabled Total Whitelisted: 47 Total Invites Tracked: 47 Console Invites: 2 Missing Invites: 0 (synced) Next Sync: 60 minutes
══════════════════════════════════════Reading Debug Output
Section titled “Reading Debug Output”- Section 4 only appears when executed by a player (not from console)
- Data File section adapts to the active backend: SQLite shows
invites.db, remote backends show the backend type instead - LuckPerms
Enabled: group-limits in config.yml are active - PlaceholderAPI
Installed: placeholders like%inviteme_count%work
Common Debug Scenarios
Section titled “Common Debug Scenarios”Players can’t join despite being invited:
/im debug# Check: Access control mode correct?/im syncLuckPerms limits not working:
/im debug# Check section 1: LuckPerms status# If Disabled: verify LuckPerms is loaded before InviteMe/im reloadBOOST - 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.
Permission Summary
Section titled “Permission Summary”| Permission | Grants Access To | Default |
|---|---|---|
invite.admin | sync, reload, migrate, debug, boost, report, 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