Player-configurable keybinds, mapped to chat commands (free)
Your keys, your rules. A clean, visual keyboard UI where players click any key and bind it to a chat command. Press the key in-game — the command fires. Saved per-player on the client, so there's no database and no server load. Works on any framework — and it's free.
Documentation: KEYBINDS | FinalStory Docs
What you get
Visual keyboard UI — click to bind a key, right-click to clear, built in Svelte.
Bind any chat command — map keys to commands like
e medic2, with a per-key cooldown.Per-player persistence — saved via client KVP, survives reconnects, no DB.
Safe firing — ignored while chatting, in the pause menu, or while dead.
Blocked keys — Esc/Tab/Enter/chat/voice protected by default, fully configurable.
Fully localized — dialog and on-screen UI text via
ox_lib; English & Czech included.Why erp_keybinds
Zero server load — everything runs client-side. Nothing to host, nothing to migrate.
No database — binds persist in client KVP and survive reconnects.
Framework-agnostic — no QBox/ESX bridge needed; runs on any server.
Translate in one file — Lua and the entire UI localize from a single locale file; no rebuild required for new languages.
Made to customize — blocked keys, cooldown and limits live in an open
config.lua; the input dialog is a swappable editable hook file.Requirements
ox_lib (free) — no paid dependencies, no framework.
Using it
Players run /createbinds to open the keyboard, click a key, and type the command to bind. A full installation and configuration README ships with the package.
Free · Escrow-protected with intentionally open, editable config & integration files. Requires only the free ox_lib. Support provided through this store. © FinalStory.