{"id":79006,"date":"2026-06-04T16:21:04","date_gmt":"2026-06-04T13:21:04","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/hand-shaker\/"},"modified":"2026-06-04T16:21:04","modified_gmt":"2026-06-04T13:21:04","slug":"hand-shaker","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/hand-shaker\/","title":{"rendered":"Hand Shaker"},"content":{"rendered":"<p>### **\u26a0\ufe0f This project requires to be set up on both sides, client and server side \u26a0\ufe0f**<\/p>\n<p># \ud83e\udd1d HandShaker 7.0.0 (alpha) Wiki is there!<\/p>\n<p>![Modrinth](https:\/\/modrinth.com\/plugin\/hand-shaker)<br \/>\n![CurseForge](https:\/\/www.curseforge.com\/minecraft\/mc-mods\/hand-shaker)<br \/>\n![Paper](https:\/\/papermc.io\/)<br \/>\n![Purpur](https:\/\/purpurmc.org\/)<br \/>\n![Wiki](https:\/\/icevallishstudios.gitbook.io\/docs\/hand-shaker\/hand-shaker-7.x)<br \/>\n![Ko-fi](https:\/\/ko-fi.com\/icevallish)<br \/>\n![Fabric API](https:\/\/modrinth.com\/mod\/fabric-api)<br \/>\n![Neo Forge](https:\/\/raw.githubusercontent.com\/Hyperbole-Devs\/vectors\/8494ec1ac495cfb481dc7e458356325510933eb0\/assets\/cozy\/supported\/neoforge_vector.svg)<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udccb What is HandShaker?<\/p>\n<p>HandShaker is a **cross-platform mod\/plugin verification system** for Minecraft servers and clients. It enables servers to detect which mods players are running and enforce mod restrictions with customizable policies.<\/p>\n<p>### \ud83c\udfaf Core Functionality<\/p>\n<p>&#8211; **Fabric\/Neoforge Client** \u2192 Sends your active mod list to the server upon join<br \/>\n&#8211; **Paper\/Fabric\/NeoForge Server** \u2192 Validates mod lists against configured rules and enforces restrictions<br \/>\n&#8211; **Multi-platform Support** \u2192 Works across Fabric, Paper, and NeoForge<br \/>\n&#8211; **Cryptographic Integrity** \u2192 Prevents tampered or self-compiled HandShaker mods<br \/>\n&#8211; **Flexible Configuration** \u2192 Per-mod rules: Required, Allowed, or Blacklisted<\/p>\n<p>&#8212;<\/p>\n<p>## \u2728 Key Features<\/p>\n<p>| Feature                         | Description                                                         |<br \/>\n| &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- | &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- |<br \/>\n| \ud83d\udd10 **Per-Mod Configuration**    | Individually set mod allowance to Required, Allowed, or Blacklisted |<br \/>\n| \ud83d\udeab **Customizable Enforcement** | Configurable kick messages and auto-ban capabilities                |<br \/>\n| \ud83d\udcca **Player History Database**  | Store and query player mod histories                                |<br \/>\n| \ud83d\udc40 **Player Mod Viewing**       | Administrators can see other players&#8217; mod lists                     |<br \/>\n| \u2714\ufe0f **Integrity Verification**   | Cryptographic signatures prevent spoofed mod reports                |<br \/>\n| **\ud83d\udd10 Custom Actions**           | Allows to setup custom events (commands) for triggered mods         |<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83c\udfd7\ufe0f Platform Comparison<\/p>\n<p>\u2705 Supported\/Working<br \/>\n\u26a0\ufe0f Issues\/Unsupported<br \/>\n\u274c Unsupported\/Broken<\/p>\n<p>| Features                   | Paper (1.x &#8211; 6.x)            | Fabric (2.x &#8211; 6.x)      | NeoForge (6.x+) |<br \/>\n| &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; |:&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-:|:&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;:|:&#8212;&#8212;&#8212;&#8212;&#8212;:|<br \/>\n| **Integrity Checking**     | \u2705 6.x+<br \/>\u26a0\ufe0f 3.x &#8211; 5.x<br \/> | \u2705 6.x+<br \/>\u26a0\ufe0f 3.x &#8211; 5.x | \u2705\u00a06.0.0+        |<br \/>\n| **Configurable Rules**     | \u2705\u00a06.0.0+                     | \u2705\u00a06.0.0+                | \u2705\u00a06.0.0+        |<br \/>\n| **Database Storage**       | \u2705\u00a05.0.0+                     | \u2705 5.0.0+                | \u2705 6.0.0+        |<br \/>\n| **GeyserMC\/Floodgate**     | \u2705 5.2.0+                     | \u2705 5.2.0+                | \u274c               |<br \/>\n| **Permissions**            | \u2705\u00a05.0.0+                     | \u2705 5.0.0+                | \u274c               |<br \/>\n| **Folia Compatibility**    | \u2705 6.0.0+                     | \u274c                       | \u274c               |<br \/>\n| **Clickable text in chat** | \u2705                            | \u274c                       | \u274c               |<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\ude80 Quick Start<\/p>\n<p>## Commands<\/p>\n<p>### Installation<\/p>\n<p>1. **Download** the appropriate mod\/plugin for your platform:<\/p>\n<p>   &#8211; **Fabric Client**: Place JAR in `mods\/` folder<br \/>\n   &#8211; **Paper Server**: Place JAR in `plugins\/` folder<br \/>\n   &#8211; **NeoForge Client**: Place JAR in `mods\/` folder<\/p>\n<p>2. **Configure** the mod\/plugin<\/p>\n<p>### Basic Configuration<\/p>\n<p>&#8220;`yaml<br \/>\nconfig: v4<\/p>\n<p># Behavior: &#8220;strict&#8221; &#8211; Force requires client-side mod or &#8220;vanilla&#8221; allow also non-mod clients<br \/>\nbehavior: strict<\/p>\n<p># Integrity Mode: &#8220;signed&#8221; or &#8220;dev&#8221; &#8211; allow unsigned mods (if you are building own client\/server fork)<br \/>\nintegrity-mode: signed<\/p>\n<p># Whitelist mode: true = only allowed mods (inside whitelisted.yml), false = allowed by default.<br \/>\n# To work properly set &#8220;mods-whitelisted-enabled&#8221; must be true<br \/>\nwhitelist: false<\/p>\n<p># Allow Bedrock players<br \/>\nallow-bedrock-players: false<\/p>\n<p># Player Database: Store and track player mod history (requires playerdb to be enabled)<br \/>\nplayerdb-enabled: false<\/p>\n<p># Mod List Toggles: Enable\/disable each mod list without losing configuration<br \/>\nmods-required-enabled: true<br \/>\nmods-blacklisted-enabled: true<br \/>\nmods-whitelisted-enabled: true<\/p>\n<p># Kick Messages &#8211; customize as needed (use {mod} for mod name)<br \/>\nmessages:<br \/>\n  kick: &#8220;You are using a blacklisted mod: {mod}. Please remove it to join this server.&#8221;<br \/>\n  no-handshake: &#8220;To connect to this server please download &#8216;Hand-shaker&#8217; mod.&#8221;<br \/>\n  missing-whitelist: &#8220;You are missing required mods: {mod}. Please install them to join this server.&#8221;<br \/>\n  invalid-signature: &#8220;Invalid client signature. Please use the official HandShaker client mod.&#8221;<\/p>\n<p>  ban: &#8220;You have been banned for using a blacklisted mod: {mod}.&#8221;<br \/>\n  bedrock: &#8220;Bedrock players are not allowed on this server.&#8221;<br \/>\n  # custom messages for actions can be added here<br \/>\n  # placeholders are {mod} &#8211; mod which triggered, {player}<br \/>\n  test_action: &#8220;Hi, {player}! You are using {mod}! Thanks for using it!&#8221;<\/p>\n<p>&#8220;`<\/p>\n<p>&#8220;`yaml<br \/>\nactions:<br \/>\n# System actions (Uses hardcoded functions, not recomended to copy these)<br \/>\n  kick:<br \/>\n    commands:<br \/>\n      &#8211; &#8220;kick {player} {messages.kick}&#8221;<\/p>\n<p>  ban:<br \/>\n    commands:<br \/>\n      &#8211; &#8220;ban {player} {messages.ban}&#8221;<br \/>\n    log: true<\/p>\n<p>  log:<br \/>\n    missing: &#8220;{player} tried to join but missing required mod\/mods: {mod}&#8221;<br \/>\n    blacklisted: &#8220;{player} tried to join with blacklisted mod\/mods: {mod}&#8221;<\/p>\n<p># Examples of custom actions<br \/>\n# placeholders are {mod} &#8211; mod which triggered, {player}, {messages.name_from_config.yml}<\/p>\n<p>  test_action:<br \/>\n    commands:<br \/>\n      &#8211; &#8220;msg {player} {messages.test_action}&#8221;<br \/>\n      &#8211; &#8220;give {player} minecraft:diamond 1&#8221;<br \/>\n      &#8211; &#8220;say Say Hello to {player}, who is using {mod}!&#8221;<\/p>\n<p>  watchdog:<br \/>\n    commands:<br \/>\n      &#8211; &#8220;ac increase_alert_level {player} 1000&#8221;<\/p>\n<p>&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udcdd Permissions<\/p>\n<p>| Permission          | Description              | Default  |<br \/>\n| &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- | &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; | &#8212;&#8212;&#8211; |<br \/>\n| `handshaker.admin`  | Access to admin commands | Operator |<br \/>\n| `handshaker.bypass` | Bypass mod restrictions  | False    |<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83c\udfae Supported Versions<\/p>\n<p>| Loader       | Versions                | Status      | Versions | Status  |<br \/>\n| &#8212;&#8212;&#8212;&#8212; | &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; | &#8212;&#8212;&#8212;&#8211; | &#8212;&#8212;&#8211; | &#8212;&#8212;- |<br \/>\n| **Fabric**   | 1.21 &#8211; 1.21.10, 1.21.11 | \u2705 Supported | N\/A      | N\/A     |<br \/>\n| **Paper**    | 1.21+                   | \u2705 Supported | N\/A      | N\/A     |<br \/>\n| **NeoForge** | 1.21 &#8211; 1.21.10, 1.21.11 | \u2705 Supported | 1.20.1   | Planned |<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udcda Documentation<\/p>\n<p>*   \ud83d\udcd6 **Full Wiki**<br \/>\n*   \u2b07\ufe0f **Installation Guide**<br \/>\n*   \u2699\ufe0f **Configuration Guide**<br \/>\n*   \ud83d\udcac **Commands Reference**<br \/>\n*   \ud83d\udd28 **Building from Source**<br \/>\n*   \ud83d\udccb **Changelog**<\/p>\n<p>&#8212;<\/p>\n<p>## Roadmap<\/p>\n<p>&#8211; More QoL features<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83e\udd1d Contributing<\/p>\n<p>Issues, pull requests, and suggestions are welcome! Check the GitHub repository for contribution guidelines.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Solution for server owners or modpack developers to disconnect users with unwanted mods, allow or require mods<\/p>\n","protected":false},"featured_media":79007,"template":"","meta":{"_minecraft_slug":"hand-shaker","_minecraft_project_id":"pdGDkQiy","_minecraft_author":"Suskese","_minecraft_license":"MIT","_minecraft_downloads":16766,"_minecraft_follows":35,"_minecraft_client_side":"required","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"hand-shaker.zip","_minecraft_size_bytes":262702242,"_minecraft_version_count":56,"_minecraft_updated_at":"2026-05-15T19:18:13.740889Z","_minecraft_date_created":"2025-09-08T19:38:14.441945Z","_minecraft_date_modified":"2026-03-30T23:24:05.035405Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/hand-shaker","_minecraft_icon_attachment_id":79007,"_minecraft_imported_at":"2026-06-04T13:21:04+00:00","_minecraft_import_hash":"7c030ec05c1e505f8e907b68307db3a6","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[97,125,126,158,127,128,92],"mod_loader":[99,131,160,132,133],"minecraft_version":[62,37,40,41,73,74,38,78,79,80,81,82,83,167,163],"class_list":["post-79006","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-fabric","mod_category-folia","mod_category-management","mod_category-neoforge","mod_category-paper","mod_category-purpur","mod_category-utility","mod_loader-fabric","mod_loader-folia","mod_loader-neoforge","mod_loader-paper","mod_loader-purpur","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>Hand Shaker - 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\/hand-shaker\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hand Shaker - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Solution for server owners or modpack developers to disconnect users with unwanted mods, allow or require mods\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/hand-shaker\/\" \/>\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\\\/hand-shaker\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hand-shaker\\\/\",\"name\":\"Hand Shaker - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hand-shaker\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hand-shaker\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/hand-shaker-icon-0d080420a0f53fa5eb499a4b369379d4cd2216f8_96.webp\",\"datePublished\":\"2026-06-04T13:21:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hand-shaker\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hand-shaker\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hand-shaker\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/hand-shaker-icon-0d080420a0f53fa5eb499a4b369379d4cd2216f8_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/hand-shaker-icon-0d080420a0f53fa5eb499a4b369379d4cd2216f8_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hand-shaker\\\/#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\":\"Hand Shaker\"}]},{\"@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":"Hand Shaker - 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\/hand-shaker\/","og_locale":"en_US","og_type":"article","og_title":"Hand Shaker - Minecraft","og_description":"Solution for server owners or modpack developers to disconnect users with unwanted mods, allow or require mods","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/hand-shaker\/","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\/hand-shaker\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/hand-shaker\/","name":"Hand Shaker - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/hand-shaker\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/hand-shaker\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/hand-shaker-icon-0d080420a0f53fa5eb499a4b369379d4cd2216f8_96.webp","datePublished":"2026-06-04T13:21:04+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/hand-shaker\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/hand-shaker\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/hand-shaker\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/hand-shaker-icon-0d080420a0f53fa5eb499a4b369379d4cd2216f8_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/hand-shaker-icon-0d080420a0f53fa5eb499a4b369379d4cd2216f8_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/hand-shaker\/#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":"Hand Shaker"}]},{"@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\/79006","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\/79007"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=79006"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=79006"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=79006"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=79006"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}