Keybind
Mod⌨️ Bind keys to server-side commands. Press a key, the server runs a command.
Type
Mod
Modrinth Downloads
41
Modrinth ID
yuttqmXl
Last Updated
May 19, 2026
Description
⌨️ Keybind
Bind keys to server-side commands. Press a key, the server runs a command.
Client Mod (Fabric) • Server Plugin (Paper)
Component Environment Platform KeybindMod Client Side Fabric (MC 1.21.x & 26.x) KeybindPlugin Server Side Paper 1.18.2+Note: Both the Server Plugin and the Client Mod must be installed for the mod to function. On servers without the plugin, no keybinds will be registered or available.
✨ Features
- 🔗 Server-Driven: Actions are defined entirely on the server and synced to the client on join.
- 📁 Per-Server Storage: Key assignments are saved per server IP in .minecraft/config/keybind-servers/ and never overwritten on rejoin.
- 🛠️ Dynamic Registration: New server actions appear in your Settings → Controls menu without restarting the game.
- 🏷️ Custom Display Names: Server owners set friendly names (e.g., "Teleport to Spawn" instead of spawn).
- ⏱️ Dual Cooldowns: Both a global cooldown (between any actions) and per-action cooldowns prevent spam.
- 🔐 Permission Support: Each action supports an optional extra permission node on top of keybind.use.
- 📡 Plugin Messaging: Uses keybind:main / keybind:sync plugin message channels. Falls back to /kbind <action> if the packet channel is unavailable.
- 🧹 Stale Action Cleanup: Obsolete actions from previous sessions are automatically removed from the Controls menu and saved config.
- 🌍 Universal Support: Compatible with Minecraft 1.21.x and 26.* using dynamic constructor discovery.
🚀 How It Works
- Sync: 1 second after a player joins, the plugin sends all configured actions (name, display name, default key) over the keybind:sync channel.
- Registration: The mod registers each action as a native Minecraft keybind under the Keybind category in Settings → Controls.
- Trigger: When a key is pressed (and no screen is open), the mod sends the action name over the keybind:main channel.
- Execution: The plugin validates the action name (alphanumeric + underscores only), checks permissions and cooldowns, then runs the command.
🛠️ Installation
Server Side
- Place KeybindPlugin.jar into your plugins/ folder.
- Restart the server — plugins/Keybind/config.yml is generated automatically.
- Edit config.yml to define your actions, then run /kbind reload.
Client Side
- Place KeybindMod.jar into your .minecraft/mods/ folder.
- Requires Fabric Loader 0.18.4+ and Fabric API.
- Launch the game and connect to any server running the plugin.
The mod works on any server. On servers without the plugin, no keybinds are registered.
⚙️ Configuration
plugins/Keybind/config.yml
# Global cooldown between any keybind actions (milliseconds) global-cooldown: 500 actions: spawn: command: "spawn" # Command to run (without /) display-name: "Spawn" # Label shown in Controls menu default-key: "LEFT_BRACKET" # Suggested key for first-time players permission: "" # Optional extra permission node (leave empty for none) cooldown: 1000 # Per-action cooldown (ms); defaults to global-cooldown console: false # true = run as console with {player} replaced by player name home: command: "home" display-name: "Home" default-key: "RIGHT_BRACKET" permission: "" cooldown: 1000 console: falseNotes:
- Action names must be alphanumeric + underscores only (e.g. my_action).
- console: true runs the command as the console sender. Use {player} as a placeholder for the player's name (e.g. command: "tp {player} spawn").
- default-key is only applied the first time a player connects. Their saved binding is used on subsequent joins.
⌨️ Supported Keys
Keyboard
Category Values Letters A–Z Numbers 0–9 Function F1–F25 Arrows UP, DOWN, LEFT, RIGHT Navigation PAGE_UP, PAGE_DOWN, HOME, END, INSERT, DELETE Special SPACE, ENTER, TAB, BACKSPACE, ESCAPE, PAUSE Lock keys CAPS_LOCK, SCROLL_LOCK, NUM_LOCK Other PRINT_SCREEN, MENU Modifiers LEFT_SHIFT, LEFT_CONTROL (or LEFT_CTRL), LEFT_ALT, LEFT_SUPER, RIGHT_SHIFT, RIGHT_CONTROL (or RIGHT_CTRL), RIGHT_ALT, RIGHT_SUPER Numpad KP_0–KP_9, KP_ADD, KP_SUBTRACT, KP_MULTIPLY, KP_DIVIDE, KP_DECIMAL, KP_ENTER, KP_EQUAL Symbols LEFT_BRACKET, RIGHT_BRACKET, BACKSLASH, SEMICOLON, APOSTROPHE, COMMA, PERIOD, SLASH, GRAVE_ACCENT, MINUS, EQUAL — or the character directly: [, ], \, ;, ', ,, ., /, `, -, = World keys WORLD_1, WORLD_2 (locale-specific keys on some keyboards)Mouse
Value Aliases Button MOUSE_LEFT MOUSE_1 Left click MOUSE_RIGHT MOUSE_2 Right click MOUSE_MIDDLE MOUSE_3 Middle click MOUSE_4–MOUSE_8 — Side/extra buttons📜 Commands & Permissions
Command Description Permission /kbind <action> Manually trigger an action keybind.use /kbind list List all configured action names (any) /kbind reload Reload config and re-sync all online players keybind.admin Permission Description Default keybind.use Required to trigger any action true (everyone) keybind.admin Access to /kbind reload op keybind.bypass.cooldown Ignore all cooldowns op🏗️ Building from Source
./gradlew clean buildProject layout:
- keybind-mod-common/ shared loader-agnostic code, config/storage models, packet format, sync planning, and client session state
- keybind-mod-fabric/ Fabric-specific entrypoints, payload glue, mixins, and resources
- keybind-plugin/ Paper plugin
Output jars:
- keybind-plugin/build/libs/KeybindPlugin-1.0.0.jar
- keybind-mod-fabric/build/libs/KeybindMod-1.0.0.jar
Requires Java 17+ for the plugin, Java 21+ for the mod.
Security
- Action names are validated server-side against ^[a-zA-Z0-9_]+$ — arbitrary input is rejected.
- Packet length is capped at 256 bytes.
- All command execution happens on the main server thread.
- Players without keybind.use cannot trigger any action, even via direct /kbind command.
Compatibility
Mod Loaders
Game Versions
Screenshots
Similar Mods
Fretux's Skill Engine
A framework for making skilltrees
Biome O' Plenty Rose Quartz For Create
Adds recipes to makes Create's polished rose quartz using the chunks from Biomes O' Plenty
Chaos Witch's Origin Grimoire__混沌魔女的起源魔导书
A Fabric mod for Minecraft 1.20.1 that significantly reduces the difficulty of obtaining rare resources and advanced equ...
SI: Essentials
The main API, library and toolkit by Soncresity Industries.
Goat Drops│山羊掉落物
Goat will drop Mutton when killed.│山羊被擊殺時會掉落羊肉。
Leaf Decay Instant
Leaves decay instantly when trees are cut. Chain mode, extra drops, in-game commands, 20+ config options. No floating le...