
Hand Shaker
Solution for server owners or modpack developers to disconnect users with unwanted mods, allow or require mods
- Загрузки
- 22K
- Подписчики
- 47
- Обновлён
- 19 мая 2026 г.
- Лицензия
- MIT
Опубликован 6 сентября 2025 г.
⚠️ This project requires to be set up on both sides, client and server side ⚠️
🤝 HandShaker 7.0.0 (alpha) Wiki is there!
📋 What is HandShaker?
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.
🎯 Core Functionality
- Fabric/Neoforge Client → Sends your active mod list to the server upon join
- Paper/Fabric/NeoForge Server → Validates mod lists against configured rules and enforces restrictions
- Multi-platform Support → Works across Fabric, Paper, and NeoForge
- Cryptographic Integrity → Prevents tampered or self-compiled HandShaker mods
- Flexible Configuration → Per-mod rules: Required, Allowed, or Blacklisted
✨ Key Features
| Feature | Description |
|---|---|
| 🔐 Per-Mod Configuration | Individually set mod allowance to Required, Allowed, or Blacklisted |
| 🚫 Customizable Enforcement | Configurable kick messages and auto-ban capabilities |
| 📊 Player History Database | Store and query player mod histories |
| 👀 Player Mod Viewing | Administrators can see other players' mod lists |
| ✔️ Integrity Verification | Cryptographic signatures prevent spoofed mod reports |
| 🔐 Custom Actions | Allows to setup custom events (commands) for triggered mods |
🏗️ Platform Comparison
✅ Supported/Working ⚠️ Issues/Unsupported ❌ Unsupported/Broken
| Features | Paper (1.x - 6.x) | Fabric (2.x - 6.x) | NeoForge (6.x+) |
|---|---|---|---|
| Integrity Checking | ✅ 6.x+ ⚠️ 3.x - 5.x |
✅ 6.x+ ⚠️ 3.x - 5.x |
✅ 6.0.0+ |
| Configurable Rules | ✅ 6.0.0+ | ✅ 6.0.0+ | ✅ 6.0.0+ |
| Database Storage | ✅ 5.0.0+ | ✅ 5.0.0+ | ✅ 6.0.0+ |
| GeyserMC/Floodgate | ✅ 5.2.0+ | ✅ 5.2.0+ | ❌ |
| Permissions | ✅ 5.0.0+ | ✅ 5.0.0+ | ❌ |
| Folia Compatibility | ✅ 6.0.0+ | ❌ | ❌ |
| Clickable text in chat | ✅ | ❌ | ❌ |
🚀 Quick Start
Commands
Installation
Download the appropriate mod/plugin for your platform:
- Fabric Client: Place JAR in
mods/folder - Paper Server: Place JAR in
plugins/folder - NeoForge Client: Place JAR in
mods/folder
- Fabric Client: Place JAR in
Configure the mod/plugin
Basic Configuration
config: v4
# Behavior: "strict" - Force requires client-side mod or "vanilla" allow also non-mod clients
behavior: strict
# Integrity Mode: "signed" or "dev" - allow unsigned mods (if you are building own client/server fork)
integrity-mode: signed
# Whitelist mode: true = only allowed mods (inside whitelisted.yml), false = allowed by default.
# To work properly set "mods-whitelisted-enabled" must be true
whitelist: false
# Allow Bedrock players
allow-bedrock-players: false
# Player Database: Store and track player mod history (requires playerdb to be enabled)
playerdb-enabled: false
# Mod List Toggles: Enable/disable each mod list without losing configuration
mods-required-enabled: true
mods-blacklisted-enabled: true
mods-whitelisted-enabled: true
# Kick Messages - customize as needed (use {mod} for mod name)
messages:
kick: "You are using a blacklisted mod: {mod}. Please remove it to join this server."
no-handshake: "To connect to this server please download 'Hand-shaker' mod."
missing-whitelist: "You are missing required mods: {mod}. Please install them to join this server."
invalid-signature: "Invalid client signature. Please use the official HandShaker client mod."
ban: "You have been banned for using a blacklisted mod: {mod}."
bedrock: "Bedrock players are not allowed on this server."
# custom messages for actions can be added here
# placeholders are {mod} - mod which triggered, {player}
test_action: "Hi, {player}! You are using {mod}! Thanks for using it!"
actions:
# System actions (Uses hardcoded functions, not recomended to copy these)
kick:
commands:
- "kick {player} {messages.kick}"
ban:
commands:
- "ban {player} {messages.ban}"
log: true
log:
missing: "{player} tried to join but missing required mod/mods: {mod}"
blacklisted: "{player} tried to join with blacklisted mod/mods: {mod}"
# Examples of custom actions
# placeholders are {mod} - mod which triggered, {player}, {messages.name_from_config.yml}
test_action:
commands:
- "msg {player} {messages.test_action}"
- "give {player} minecraft:diamond 1"
- "say Say Hello to {player}, who is using {mod}!"
watchdog:
commands:
- "ac increase_alert_level {player} 1000"
📝 Permissions
| Permission | Description | Default |
|---|---|---|
handshaker.admin |
Access to admin commands | Operator |
handshaker.bypass |
Bypass mod restrictions | False |
🎮 Supported Versions
| Loader | Versions | Status | Versions | Status |
|---|---|---|---|---|
| Fabric | 1.21 - 1.21.10, 1.21.11 | ✅ Supported | N/A | N/A |
| Paper | 1.21+ | ✅ Supported | N/A | N/A |
| NeoForge | 1.21 - 1.21.10, 1.21.11 | ✅ Supported | 1.20.1 | Planned |
📚 Documentation
- 📖 Full Wiki
- ⬇️ Installation Guide
- ⚙️ Configuration Guide
- 💬 Commands Reference
- 🔨 Building from Source
- 📋 Changelog
Roadmap
- More QoL features
🤝 Contributing
Issues, pull requests, and suggestions are welcome! Check the GitHub repository for contribution guidelines.
Центр версий
23 из 61Ченджлог
7.0.1-1.21+PaperРелиз26.1.1, 26.1.2, 26.2 · 19 мая 2026 г.
This version is not compatible with previous alpha
Core updated to 1.0.5
- Improved security
- Fixed DB always used time zone UTC-0
- Fixed
handshaker-enforcement: false - Added hwid hash fingerprint to core module for other projects (Placeholder, doesnt do and will not do anything for HandShaker except sending hashed hwid to server on join. If you want, you make own logic that will catch hwid from logs and ban users with same hwid)
Paper
- (Experimental) Added
/handshaker gui
6.0.2-1.21+Бета1.21.9, 1.21.10, 1.21.11 · 28 февраля 2026 г.
- Fixed issue with bedrock player being kicked out
6.0.1-1.21+Бета1.21.9, 1.21.10, 1.21.11 · 24 февраля 2026 г.
- Fixed critical issue
- fixed velton triggering actions second time
6.0.0-1.21.11Альфа1.21.11 · 6 февраля 2026 г.
v6.0.0 - Road to Modularity & Improvements
Starting from this version, Hand-Shaker will slowly start to become more modular and more customizable.
v6.0.0 ISN'T BACKWARDS COMPITIABLE WITH OLDER SERVER OR CLIENTS DUE BIG REWRITES AND SECURITY IMPROVEMENTS
New config system
Json file was big mistake but in 6.0.0 yml files are back (even for fabric). Instead of 1 config file, its splited into multiple yml files with comments. Added support for user created messages.
Actions
Actions is new way to custom actions for each mod, stored inside mods-actions.yml, and then adding then adding actions to the any mod to run if detected
Config migration (Beta)
New feature of converting v3 configs (v5.x+) to convert into new format of configs
New configs
New configs to disable database, enable/disable lists to disable them without deleting mods from lists More info here
Improved integrity
Commands
Reorganized commands under sub-commands manage, info, manage, mode.
More info here
Neoforge & Folia support
5.2.0-paperБета1.21.9, 1.21.10, 1.21.11 · 14 января 2026 г.
GeyserMC/Floodgate Support (Experimental)
Added config "allow_bedrock_players" for new generated configs (manually can be also added) to allow bedrock players to bypass "Hand Shaker" verification
NOTE: It Should work on Both Paper/Fabric, But Fabric server must be Vanilla friendly (Only server-side mods, No big mods). This mod wont with a magic allow bedrocks players to join heavy-moded server
Fixed Issues
- Fixed issue with crashes caused by missing "client" part
- Fixed fabric server for 1.21.11 missing permission for commands
- Fixed that even settings
BehaviortoVanillaplayers would been still checked for Integrity and blacklisted/required mods
Client-5.1.1Альфа1.21.9, 1.21.10, 1.21.11 · 14 января 2026 г.
Works with v3.x+ Servers
Fixed crash on game start caused by misconfiguration of fabric-mod.json
Can be fixed by editing
"client": [
"me.mklv.HandShaker"
]
to
"client": [
"me.mklv.handshaker.HandShaker"
]
5.1.0-1.21.1Релиз1.21, 1.21.1 · 4 января 2026 г.
Limited version ranges (v5.1 Release for 1.21 & 1.21.1)
This is only a technical change related to fabric servers, but because of that, Fabric and paper got splitted away due fabric server-side and dependecy for fabric servers changing code over versions and implementing new features for mod fully broke 5.x version of mod (Fabric server only) meanwhile client-side and paper works perfect.
From this patch/announce instead of universal files would be fully seperated and wont include big range of versions due Fabric servers and sadly I cant split client and server because then it could lead to confusions for modpack creators who will copy paste from clients mods folder
fabric-5.1.0-1.21.6-1.21.10Альфа1.21.8, 1.21.9, 1.21.10 · 31 декабря 2025 г.
Fabric Client and Server for 1.21.6 to 1.21.10
Комментарии
Загружаем…