{"id":137609,"date":"2026-06-08T06:18:31","date_gmt":"2026-06-08T03:18:31","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/serverpatch\/"},"modified":"2026-06-08T06:18:31","modified_gmt":"2026-06-08T03:18:31","slug":"serverpatch","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/serverpatch\/","title":{"rendered":"ServerPatch"},"content":{"rendered":"<p># ServerPatch <\/p>\n<p>A plugin updater for PaperMC servers, designed for stability, security, and determinism. It checks your installed plugins for updates, creates an encrypted snapshot, and executes updates with zero background usage when idle.<\/p>\n<p>## Key Features <\/p>\n<p>### \ud83d\udd12 Snapshot Update System<br \/>\nUpdates are now **deterministic**.<br \/>\n1.  **Check**: `\/serverpatch check` scans plugins and saves an **encrypted snapshot** of the update plan. No files are downloaded yet.<br \/>\n2.  **Verify**: You can review pending updates with `\/serverpatch snapshot-status`.<br \/>\n3.  **Run**: `\/serverpatch run` executes the snapshot exactly as planned. If the server environment changes (e.g., you switch from Paper to Spigot), the snapshot is invalidated for safety.<\/p>\n<p>### \ud83d\udee1\ufe0f Enhanced Security &#038; Stability<br \/>\n&#8211;   **Strict Loader Matching**: Enforces compatibility. Paper servers will reject plugins marked only for Spigot unless explicitly allowed.<br \/>\n&#8211;   **Hash Verification**: Verifies SHA-256 hashes against remote sources (Modrinth) to prevent tampering and incomplete downloads.<br \/>\n&#8211;   **Duplicate Prevention**: Automatically detects and prevents duplicate jars (e.g., `Plugin-1.0.jar` vs `Plugin.jar`) after updates.<br \/>\n&#8211;   **Zero Idle Usage**: No background threads or tasks run when the plugin is idle.<\/p>\n<p>### \ud83d\udce6 Modrinth &#038; Hangar Support<br \/>\n&#8211;   **Deep Integration**: Fetches detailed metadata, including load compatibility and stability.<br \/>\n&#8211;   **Smart Fallback**: Prioritizes Modrinth\/Hangar, falling back to SpigotMC only for free resources if needed.<\/p>\n<p>## Installation<\/p>\n<p>Drop `ServerPatch-1.1.0.jar` into your `plugins\/` folder and restart the server.<\/p>\n<p>**Requirements**:<br \/>\n&#8211;   PaperMC 1.20+ (or forks like Purpur)<br \/>\n&#8211;   Java 17+<\/p>\n<p>## Commands<\/p>\n<p>All commands require the `serverpatch.admin` permission.<\/p>\n<p>### Check for updates<br \/>\n&#8220;`<br \/>\n\/serverpatch check<br \/>\n&#8220;`<br \/>\nScans all plugins, resolves updates, and **saves a snapshot**. Does NOT download or modify files.<\/p>\n<p>### View Snapshot Status<br \/>\n&#8220;`<br \/>\n\/serverpatch snapshot-status<br \/>\n&#8220;`<br \/>\nShows the pending updates stored in the current snapshot, including versions and target files.<\/p>\n<p>### Apply updates<br \/>\n&#8220;`<br \/>\n\/serverpatch run<br \/>\n&#8220;`<br \/>\nLoads the secure snapshot, verifies integrity, downloads the updates, and replaces the plugin JARs. **A server restart is required to load new versions.**<\/p>\n<p>### Mute restart warnings<br \/>\n&#8220;`<br \/>\n\/serverpatch silent<br \/>\n&#8220;`<br \/>\nMutes the generic &#8220;Restart Required&#8221; broadcast that appears after updates are applied.<\/p>\n<p>### Restore from backup<br \/>\n&#8220;`<br \/>\n\/serverpatch backup restore <folder><br \/>\n&#8220;`<br \/>\nStages a restore from a timestamped backup folder (tab-complete available).<br \/>\nConfirm with `\/serverpatch backup confirm`.<\/p>\n<p>## Configuration (`config.yml`)<\/p>\n<p>| Setting | Default | Description |<br \/>\n|&#8212;|&#8212;|&#8212;|<br \/>\n| `mode` | `CHECK_ONLY` | `CHECK_ONLY`, `DOWNLOAD_ONLY`, or `AUTO_UPDATE` |<br \/>\n| `sources.modrinth` | `true` | Enable Modrinth source |<br \/>\n| `sources.hangar` | `true` | Enable Hangar source |<br \/>\n| `compatibility.allowSpigotOnPaper` | `false` | If true, allows Spigot-only plugins on Paper |<br \/>\n| `security.verifyChecksum` | `true` | Enforce hash verification |<br \/>\n| `network.timeoutSeconds` | `30` | Connection timeout for update checks |<\/p>\n<p>## Permissions<\/p>\n<p>| Permission | Default | Description |<br \/>\n|&#8212;|&#8212;|&#8212;|<br \/>\n| `serverpatch.admin` | OP | Access to all ServerPatch commands |<\/p>\n<p>## Author<br \/>\nMade by Shiraken12T<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ServerPatch is a plugin that manually checks and updates other plugins from Modrinth, Hangar, and SpigotMC.<\/p>\n","protected":false},"featured_media":137610,"template":"","meta":{"_minecraft_slug":"serverpatch","_minecraft_project_id":"odapE4VV","_minecraft_author":"Shiraken12T","_minecraft_license":"MIT","_minecraft_downloads":30,"_minecraft_follows":1,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"serverpatch.zip","_minecraft_size_bytes":312451,"_minecraft_version_count":2,"_minecraft_updated_at":"2026-05-15T22:09:45.387849Z","_minecraft_date_created":"2026-02-11T02:21:05.075702Z","_minecraft_date_modified":"2026-05-08T19:42:43.213257Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/serverpatch","_minecraft_icon_attachment_id":137610,"_minecraft_imported_at":"2026-06-08T03:18:32+00:00","_minecraft_import_hash":"0bfea1f1daa9afb7a7e87787bacd3b46","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[124,126,127,128,129,92],"mod_loader":[130,132,133,134],"minecraft_version":[62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-137609","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-bukkit","mod_category-management","mod_category-paper","mod_category-purpur","mod_category-spigot","mod_category-utility","mod_loader-bukkit","mod_loader-paper","mod_loader-purpur","mod_loader-spigot","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"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ServerPatch - 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\/serverpatch\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ServerPatch - Minecraft\" \/>\n<meta property=\"og:description\" content=\"ServerPatch is a plugin that manually checks and updates other plugins from Modrinth, Hangar, and SpigotMC.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/serverpatch\/\" \/>\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=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/serverpatch\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/serverpatch\\\/\",\"name\":\"ServerPatch - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/serverpatch\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/serverpatch\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/serverpatch-icon-4e5eef88029fe8fada26ece7a06fdb15976283fd_96.webp\",\"datePublished\":\"2026-06-08T03:18:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/serverpatch\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/serverpatch\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/serverpatch\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/serverpatch-icon-4e5eef88029fe8fada26ece7a06fdb15976283fd_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/serverpatch-icon-4e5eef88029fe8fada26ece7a06fdb15976283fd_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/serverpatch\\\/#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\":\"ServerPatch\"}]},{\"@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":"ServerPatch - 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\/serverpatch\/","og_locale":"en_US","og_type":"article","og_title":"ServerPatch - Minecraft","og_description":"ServerPatch is a plugin that manually checks and updates other plugins from Modrinth, Hangar, and SpigotMC.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/serverpatch\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/serverpatch\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/serverpatch\/","name":"ServerPatch - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/serverpatch\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/serverpatch\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/serverpatch-icon-4e5eef88029fe8fada26ece7a06fdb15976283fd_96.webp","datePublished":"2026-06-08T03:18:31+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/serverpatch\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/serverpatch\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/serverpatch\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/serverpatch-icon-4e5eef88029fe8fada26ece7a06fdb15976283fd_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/serverpatch-icon-4e5eef88029fe8fada26ece7a06fdb15976283fd_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/serverpatch\/#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":"ServerPatch"}]},{"@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\/137609","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\/137610"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=137609"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=137609"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=137609"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=137609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}