All documentation
PLUGIN WIKI

InventorySync PRO — Troubleshooting

Share inventories, EnderChests and XP across worlds and servers, and manage player data whether players are online or offline.

View plugin

Troubleshooting

Current release information
Latest version
1.7.4
Minecraft
26.x
Platforms
Spigot, Paper, Folia, Purpur, Velocity, BungeeCord
Minimum Java version
25+
Release notes

This article was written for 1.7.0. The latest stable release is 1.7.4; use the current requirements above.

Version 1.7.0Last updated: 2026-10-17 22:00
Troubleshooting
Start with the backend console and /isync status. If using the optional bridge, also check the proxy console and /isyncproxy status. Keep the full error message and the affected backend/profile name when asking for help; hide passwords and bridge secrets.

Plugin does not start or a runtime class is missing
Check the Installation requirements and use the Universal distribution. Errors mentioning HikariCP or JDBC classes can indicate an incomplete module JAR or a damaged build. Replace it with the complete Universal JAR and remove duplicates; do not copy random library JARs into the plugins folder.

MySQL connection or session failure
Check host, port, database, credentials, database permissions, network access and SSL configuration from each backend. Duplicate active server IDs or different sync/group/admin settings are rejected. A recently crashed backend may retain a lease until it expires. Fix the cause rather than disabling restore-on-join or kick-on-failure; MySQL mode requires both.

Items are shared between the wrong worlds or servers
Check sync.mode and the resolved base profile. GLOBAL shares everything; PER_WORLD shares matching normalized world names, even across servers. In PER_GROUP, a server mapping overrides every world mapping on that backend. Keep mappings identical across the network, restart after edits, and back up before remapping existing data.

A new world profile starts empty
That is expected for a missing profile during a world/profile switch: the old profile is saved, then missing inventory and enabled EnderChest/XP data start empty. A join with no saved data uses the player's current state. Verify the intended mapping before changing or restoring any data.

Player or saved profile cannot be found
Use the exact player name or UUID. Names enter the shared directory on join. For older offline data, try a UUID and an explicit base profile. An online player's requested profile must match their current active profile. Without a profile, offline commands choose the latest saved profile for the requested data type.

The editor is read-only or saving is denied
Check the command node, .edit node and, for remote players, .remote-edit node. Also check admin.allow-offline-view, admin.allow-offline-edit and admin.allow-remote-edit as applicable. The player may be synchronizing, may have changed profile, or the original data may have changed. Refresh before preparing another edit.

EnderChest or XP commands are disabled
Check sync.ender-chest or sync.xp and restart after enabling it. Disabling synchronization for that data type also disables its administration tool. This differs from denying edit access: use permissions and admin switches when staff should view data without changing it.

Edits disappear when closing the GUI
Close and Cancel intentionally discard unsaved drafts. Use Save to apply changes and wait for confirmation. Refresh also discards the current draft. Selected items are copies for administration; this editor is not a normal item-transfer window.

Conflict, timeout or uncertain save
A conflict means the original data changed. Refresh, inspect the current state and prepare a new edit. For a timeout or uncertain save, check current data before repeating the operation, especially XP additions/removals. Investigate database availability and the owning backend's session state.

Proxy bridge disabled or messages rejected
Enable it on the proxy and backends, use MYSQL, match backend IDs exactly to registered proxy names, and set the same valid secret everywhere. Check allowed-servers, protocol versions, machine clocks and routing counters. Messages need a live player connection to the destination backend; empty backends do not receive old queued requests. Current database-based remote administration does not require the bridge.
The bridge authenticates packets with HMAC-SHA256 and rejects expired or replayed messages. Authentication does not encrypt packet contents. Keep the shared secret private; use at least 32 random characters within the accepted 16–256 range. Higher rejection counts can also indicate the per-backend traffic budget; inspect the cause before changing it.

Edited settings have not taken effect
Restart after manual backend setting changes. /isync reload applies messages after validation, not storage or sync changes. GUI administration switches apply immediately. Use /isyncproxy reload for proxy.properties; invalid proxy settings or invalid messages YAML preserve the previous working configuration.

Backup is unavailable
The built-in command works only with SQLite. For MySQL, use database backup tools. On SQLite, inspect console errors, the plugin data folder's write permissions and available disk space. Keep configuration backups separately. See Updates and backups for recovery steps.

Welcome — language and privacy

Essential cookies keep sign-in secure and remember your choices. Optional statistics and YouTube media stay off until you allow them. You can change this choice in the footer. Privacy