Keybind

Keybind

⌨️ Bind keys to server-side commands. Press a key, the server runs a command.

by
165 Downloads
bukkitfabricpaperpurpurspigotgame-mechanicstechnologyutility
Rent Server with this Mod

Screenshots

Keybind Screenshot 1

About this Mod

⌨️ 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

  1. Sync: 1 second after a player joins, the plugin sends all configured actions (name, display name, default key) over the keybind:sync channel.
  2. Registration: The mod registers each action as a native Minecraft keybind under the Keybind category in Settings → Controls.
  3. Trigger: When a key is pressed (and no screen is open), the mod sends the action name over the keybind:main channel.
  4. Execution: The plugin validates the action name (alphanumeric + underscores only), checks permissions and cooldowns, then runs the command.

🛠️ Installation

Server Side

  1. Place KeybindPlugin.jar into your plugins/ folder.
  2. Restart the server — plugins/Keybind/config.yml is generated automatically.
  3. Edit config.yml to define your actions, then run /kbind reload.

Client Side

  1. Place KeybindMod.jar into your .minecraft/mods/ folder.
  2. Requires Fabric Loader 0.18.4+ and Fabric API.
  3. 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: false

Notes:

  • 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 AZ
Numbers 09
Function F1F25
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_0KP_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_4MOUSE_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 build

Project 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.

Available Versions

Keybind 1.0.1release
MC 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, purpur, spigot
May 19, 2026
Keybind 1.0.0release
MC 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11fabric
May 19, 2026
Keybind 1.0.0release
MC 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, purpur, spigot
May 8, 2026
Keybind 1.0.0release
MC 26.1, 26.1.1, 26.1.2fabric
May 8, 2026

How to Install Keybind on Your Server

1

Order Server

Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).

2

Set bukkit Loader

In the panel under "Egg", select the bukkit loader and matching Minecraft version (26.1.2).

3

Install Mod

Open the mod browser in the dashboard and search for "Keybind". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.

Compatibility

Mod Loaders

bukkitfabricpaperpurpurspigot

Minecraft Versions

26.1.2, 26.1.1, 26.1 (+27 more)

Server-side

Unsupported

Recommended RAM

4 GB(min. 3 GB)

Frequently Asked Questions

Keybind server crashes on startup – what to do?

Most common cause: wrong bukkit version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (26.1.2). You can switch loaders with one click in the panel.

Is Keybind compatible with bukkit and fabric and paper and purpur and spigot?

Keybind officially supports bukkit, fabric, paper, purpur, spigot for Minecraft 26.1.2, 26.1.1, 26.1. The Mado dashboard automatically detects incompatible loader combinations.

Server lagging with Keybind – how to optimize performance?

Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Keybind consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.

Rent Modded Server

Install Keybind with just one click on your server.

Recommended RAM
4 GBab €8/mo
Min. 3 GB | +1 GB pro 8 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
MIT License
Server-side
Unsupported

Supported Versions

26.1.226.1.126.11.21.111.21.101.21.91.21.81.21.71.21.61.21.5+20 more