{"id":99019,"date":"2026-06-05T19:33:18","date_gmt":"2026-06-05T16:33:18","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/mc-data-bridge\/"},"modified":"2026-06-05T19:33:18","modified_gmt":"2026-06-05T16:33:18","slug":"mc-data-bridge","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/mc-data-bridge\/","title":{"rendered":"MC-Data-Bridge"},"content":{"rendered":"<p># MC Data Bridge<\/p>\n<p>MC Data Bridge is a robust, high-performance hybrid plugin for PaperMC (Spigot), **Folia**, BungeeCord, and Velocity. It is designed to seamlessly synchronize player data across multiple Minecraft servers, ensuring that players have a consistent experience by retaining their health, hunger, experience, inventory, **Ender Chests, Advancements, Statistics, and Persistent Data** as they move between linked servers.<\/p>\n<p>## Compatibility<\/p>\n<p>* **Minecraft Version:** `1.21.x` and `26.1.x`<br \/>\n* **Server Platforms:** PaperMC (Purpur), **Folia**, Spigot<br \/>\n* **Proxy Platforms:** BungeeCord, Waterfall, Velocity<br \/>\n* **Java Version:** 25+<\/p>\n<p>This plugin is a hybrid build and the same JAR file works on all supported platforms, automatically activating the correct functionality for each platform.<\/p>\n<p>## Features<\/p>\n<p>* **Hybrid Plugin:** A single JAR file works on your PaperMC\/Spigot\/Folia servers and your BungeeCord\/Velocity proxy.<br \/>\n* **SHA-256 Data Integrity:** Implements cryptographic checksums with server-side salting to detect and prevent manual database tampering or corruption.<br \/>\n* **Industrial Identity Protection:** Tracks `last_known_name` and secure identity hashes to prevent identity hijacking and manage UUID transitions in hybrid (Cracked\/Premium) environments.<br \/>\n* **Zero-Tick Identity Verification:** Database locks and identity checks are performed during the `AsyncPlayerPreLoginEvent`, ensuring that player state is verified and ready before they even reach the server&#8217;s &#8220;Join&#8221; state.<br \/>\n* **Regionalized Folia Support:** Built with `SchedulerUtils` to handle regionalized threading, ensuring safe execution on Folia&#8217;s multi-threaded clusters.<br \/>\n* **Administrative Inspector GUI (NEW):** A visual interface for administrators to inspect saved player data (inventories, stats, PDC) even when the player is offline.<br \/>\n* **Proxy-Initiated Saves:** The proxy (BungeeCord\/Velocity) orchestrates the data saving process, ensuring that a player&#8217;s data is saved from their source server *before* they connect to the destination server. This eliminates race conditions.<br \/>\n* **Fully Asynchronous:** All database and serialization operations are performed on a separate thread, ensuring that your server&#8217;s main thread is never blocked.<br \/>\n* **Robust Locking Mechanism:** A database-level locking mechanism with an automatic timeout and heartbeats prevents data corruption.<br \/>\n* **Version-Independent Item Serialization:** Player inventories are serialized using native binary methods (Paper\/Folia) or NBT-API fallback (Spigot), ensuring 100% integrity across updates.<br \/>\n* **Cross-Server Player Data Sync (Granular Control):**<br \/>\n    * Health (Attribute-aware)<br \/>\n    * Food Level, Saturation, &#038; **Exhaustion**<br \/>\n    * Experience (Total XP, current XP, and Level)<br \/>\n    * Inventory &#038; Armor Contents<br \/>\n    * Active Potion Effects<br \/>\n    * **Ender Chest Contents**<br \/>\n    * **Advancements &#038; Recipes**<br \/>\n    * **Player Statistics** (Vanilla stats)<br \/>\n    * **Persistent Data Container (PDC)** (Custom metadata)<br \/>\n    * **Flight &#038; GameMode** status<br \/>\n* **Resilient Connection Pooling:** Uses HikariCP with optimized settings for resilience against network jitter.<br \/>\n* **Flexible Storage:** Support for **MySQL\/MariaDB** or local **SQLite** databases.<br \/>\n* **Granular Sync Control**: Enable or disable synchronization for any specific data type via `config.yml`.<br \/>\n* **Server\/World Blacklist**: Prevent synchronization on specific servers or worlds.<\/p>\n<p>## Installation<\/p>\n<p>1.  **Download the Plugin JAR:**<br \/>\n    * Download the latest release JAR (`mc-data-bridge-*.jar`) from this page (Modrinth) or the official GitHub Releases.<br \/>\n2.  **Deploy to Servers:**<br \/>\n    * Copy the single `mc-data-bridge-*.jar` file into the `plugins\/` folder of **each PaperMC\/Folia server** you wish to synchronize.<br \/>\n    * Copy the **same JAR file** into the `plugins\/` folder of your **BungeeCord or Velocity proxy server**.<br \/>\n3.  **Optional: Manual Build (For Developers)**<br \/>\n    * To build from source, clone the repository and run `mvn clean package`.<\/p>\n<p>## Commands &#038; Permissions<\/p>\n<p>| Command | Description | Permission |<br \/>\n| :&#8212; | :&#8212; | :&#8212; |<br \/>\n| `\/databridge inspect <player>` | Opens a GUI to view offline player data. | `databridge.admin.inspect` |<br \/>\n| `\/databridge migrate <src> <dest>` | Securely move data between two identities. | `databridge.admin.migrate` |<br \/>\n| `\/databridge unlock <player>` | Manually release a stuck data lock. | `databridge.admin.unlock` |<br \/>\n| `\/databridge reload` | Reloads the configuration and DB pool. | `databridge.admin.reload` |<\/p>\n<p>**Proxy Commands:**<br \/>\n&#8211; `\/databridge unlock <player>` (Bungee\/Velocity): Releases a lock across the network.<br \/>\n&#8211; `\/databridge forceunlock <player>` (Bungee\/Velocity): Relays a signal to the backend server to drop the lock immediately.<\/p>\n<p>## Configuration<\/p>\n<p>A `config.yml` file will be generated in the `plugins\/mc-data-bridge\/` folder after the first run. **Existing configs will be safely auto-updated.**<\/p>\n<p>&#8220;`yaml<br \/>\n# Database Configuration<br \/>\ndatabase:<br \/>\n  type: mysql # &#8220;mysql&#8221; or &#8220;sqlite&#8221;<br \/>\n  host: localhost<br \/>\n  port: 3306<br \/>\n  database: minecraft<br \/>\n  username: user<br \/>\n  password: password<br \/>\n  sqlite-file: &#8220;player_data.db&#8221;<\/p>\n<p>  # A list of JDBC properties to apply.<br \/>\n  properties:<br \/>\n    useSSL: false<br \/>\n    allowPublicKeyRetrieval: true<\/p>\n<p>  # HikariCP Connection Pool Settings<br \/>\n  pool-settings:<br \/>\n    maximum-pool-size: 10<br \/>\n    minimum-idle: 10<br \/>\n    max-lifetime: 1800000 # 30 minutes<br \/>\n    connection-timeout: 5000 # 5 seconds<br \/>\n    idle-timeout: 600000 # 10 minutes<\/p>\n<p># A unique name for this server. This is CRITICAL for data locking.<br \/>\nserver-id: &#8220;default-server&#8221;<\/p>\n<p># Toggle specific data to sync<br \/>\nsync-data:<br \/>\n  health: true<br \/>\n  food-level: true<br \/>\n  experience: true<br \/>\n  inventory: true<br \/>\n  armor: true<br \/>\n  potion-effects: true<br \/>\n  ender-chest: true<br \/>\n  advancements: true<br \/>\n  statistics: true<br \/>\n  pdc: true<br \/>\n  flight-gamemode: true<\/p>\n<p># Security &#038; Identity<br \/>\nsecurity:<br \/>\n  verify-data-integrity: true<br \/>\n  seed: &#8220;change-me-to-a-long-random-string&#8221; # SALT FOR CHECKSUMS<\/p>\n<p>identity:<br \/>\n  mode: PREMIUM # PREMIUM or HYBRID<br \/>\n  auto-migrate-fastlogin: false<br \/>\n  auto-migrate-authme: false<br \/>\n&#8220;`<\/p>\n<p>### Detailed Configuration Breakdown<\/p>\n<p>*   **`database.type`**: Choose between `mysql` (external) or `sqlite` (local file).<br \/>\n*   **`server-id` (Required):** You **must** set a unique name for each backend server.<br \/>\n*   **`security.seed`**: A secret string used to salt all SHA-256 hashes. Change this immediately!<br \/>\n*   **`identity.mode`**: Choose between `PREMIUM` (strictly enforces UUID consistency) or `HYBRID` (allows flexible identity shifts). Note: **`HYBRID` mode is required** to enable auto-migration features like `auto-migrate-fastlogin`.<br \/>\n*   **`sync-data`**: Individual toggles for every data type.<br \/>\n*   **`sync-blacklist`**: Define servers or worlds where synchronization should be skipped.<\/p>\n<p>## \ud83d\udcca Technical: Database Schema<\/p>\n<p>| Column | Type | Description |<br \/>\n| :&#8212; | :&#8212; | :&#8212; |<br \/>\n| `uuid` | VARCHAR(36) | The player&#8217;s Unique ID (Primary Key). |<br \/>\n| `data` | LONGBLOB | The serialized binary data snapshot. |<br \/>\n| `data_checksum` | VARCHAR(64) | SHA-256 integrity hash of the data packet. |<br \/>\n| `is_locked` | BOOLEAN | Prevents concurrent writes from multiple servers. |<br \/>\n| `locking_server` | VARCHAR(255) | The ID of the server holding the lock. |<br \/>\n| `lock_timestamp` | BIGINT | Heartbeat to detect and recover from crashes. |<br \/>\n| `last_known_name` | VARCHAR(16) | Used for identity tracking and migration. |<br \/>\n| `identity_hash` | VARCHAR(64) | Salted hash of Name+UUID+Seed for verification. |<\/p>\n<p>&#8212;<br \/>\n_For more detailed information, please refer to the official documentation._<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seamlessly sync player inventory, health, XP, and effects across your BungeeCord\/Velocity network.<\/p>\n","protected":false},"featured_media":99020,"template":"","meta":{"_minecraft_slug":"mc-data-bridge","_minecraft_project_id":"oYE8njDp","_minecraft_author":"XvGwest","_minecraft_license":"GPL-3.0-only","_minecraft_downloads":387,"_minecraft_follows":4,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"mc-data-bridge.zip","_minecraft_size_bytes":30321336,"_minecraft_version_count":11,"_minecraft_updated_at":"2026-05-16T11:02:28.391198Z","_minecraft_date_created":"2025-09-08T07:53:45.029776Z","_minecraft_date_modified":"2026-04-29T16:56:16.504159Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/mc-data-bridge","_minecraft_icon_attachment_id":99020,"_minecraft_imported_at":"2026-06-05T16:33:19+00:00","_minecraft_import_hash":"1f5634032c5c9ad57f2d839784299d60","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[124,894,125,873,126,127,128,129,91,92,985,992],"mod_loader":[130,895,131,132,133,134,986,993],"minecraft_version":[62,37,40,41,73,74,38,78,79,80,81,82,83,167,163],"class_list":["post-99019","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-bukkit","mod_category-bungeecord","mod_category-folia","mod_category-library","mod_category-management","mod_category-paper","mod_category-purpur","mod_category-spigot","mod_category-storage","mod_category-utility","mod_category-velocity","mod_category-waterfall","mod_loader-bukkit","mod_loader-bungeecord","mod_loader-folia","mod_loader-paper","mod_loader-purpur","mod_loader-spigot","mod_loader-velocity","mod_loader-waterfall","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9","minecraft_version-26-1","minecraft_version-26-1-1","minecraft_version-26-1-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>MC-Data-Bridge - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/mc-data-bridge\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MC-Data-Bridge - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Seamlessly sync player inventory, health, XP, and effects across your BungeeCord\/Velocity network.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/mc-data-bridge\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mc-data-bridge\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mc-data-bridge\\\/\",\"name\":\"MC-Data-Bridge - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mc-data-bridge\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mc-data-bridge\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/mc-data-bridge-icon-4a6799cbdc4665266dec111db1230419f16f002f_96.webp\",\"datePublished\":\"2026-06-05T16:33:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mc-data-bridge\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mc-data-bridge\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mc-data-bridge\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/mc-data-bridge-icon-4a6799cbdc4665266dec111db1230419f16f002f_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/mc-data-bridge-icon-4a6799cbdc4665266dec111db1230419f16f002f_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mc-data-bridge\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"MC-Data-Bridge\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MC-Data-Bridge - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/mc-data-bridge\/","og_locale":"en_US","og_type":"article","og_title":"MC-Data-Bridge - Minecraft","og_description":"Seamlessly sync player inventory, health, XP, and effects across your BungeeCord\/Velocity network.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/mc-data-bridge\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/mc-data-bridge\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/mc-data-bridge\/","name":"MC-Data-Bridge - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/mc-data-bridge\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/mc-data-bridge\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/mc-data-bridge-icon-4a6799cbdc4665266dec111db1230419f16f002f_96.webp","datePublished":"2026-06-05T16:33:18+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/mc-data-bridge\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/mc-data-bridge\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/mc-data-bridge\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/mc-data-bridge-icon-4a6799cbdc4665266dec111db1230419f16f002f_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/mc-data-bridge-icon-4a6799cbdc4665266dec111db1230419f16f002f_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/mc-data-bridge\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"MC-Data-Bridge"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/99019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/99020"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=99019"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=99019"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=99019"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=99019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}