CollaboKeys supports a set of commands that can be entered either directly in the terminal on the host machine or through the admin panel’s custom command box. Both surfaces use the exact same command parser, so any command that works in the terminal works identically in the browser-based admin panel.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/tinkerer9/CollaboKeys/llms.txt
Use this file to discover all available pages before exploring further.
Terminal input is only active when
console.enabled is set to true in src/config.json (default: true). The admin panel command box is available whenever the admin page is enabled, regardless of this setting.Command Parsing
Commands are split into tokens by whitespace. Quoted strings — either single quotes ('...') or double quotes ("...") — are treated as a single token, which is useful for key names or text that contains spaces.
Command Reference
stop
Aliases: exit, quit
Terminates the CollaboKeys process. All player connections are dropped immediately.
echo
Prints all provided arguments back as output, joined by spaces — similar to the Unix echo command. Useful for testing the command pipeline.
One or more words to echo back. Quoted strings are treated as a single token.
uri
Aliases: ip
Prints the full server URL — the host machine’s local IP address combined with the active port. Share this URL with players so they can connect.
enable
Aliases: e
Enables either key emulation or automatic key reservation.
What to enable. Accepted values:
emulation(alias:e) — allows keypresses to be forwarded to the active applicationreservation(alias:r) — allows players to claim unassigned keys on first press
disable
Aliases: d
Disables either key emulation or automatic key reservation.
What to disable. Accepted values:
emulation(alias:e) — stops all keypresses from reaching the active applicationreservation(alias:r) — prevents players from claiming new keys (existing assignments remain)
press
Aliases: type
Manually emulates a key event on the host system, bypassing player assignment checks. Useful for testing key support or triggering a keypress without a connected player.
The key name to emulate. Must be a valid key from the keycodes table (see
keycodes command). Use quotes for keys with spaces, e.g. 'caps lock'.The type of key event. Defaults to
press if omitted.press— a full key press and releasedown— key held downup— key released
list
Aliases: ls
Lists all connected players or a filtered subset. For each player, the output includes their name (or player number if unnamed), internal ID, IP address, and currently assigned keys.
Which players to show. Defaults to
all if omitted.all— every connected clientactive— players with a name set who are not in the waiting roomwr— players currently in the waiting room (also acceptswaitingroom)nameless— players who haven’t entered a username yet
waitingroom
Aliases: wr
Admits or dismisses a player (or all players) from the waiting room.
The action to perform:
admit(alias:a) — moves the player out of the waiting room so they can press keysdismiss(alias:d) — sends the player back to the waiting room, blocking their input
- A numeric player ID (visible from
list wr) all— applies the action to every connected player
key
Aliases: k
Modifies a key’s assignment or enabled status.
The action to perform:
assign(alias:a) — looks up the key’s current state and prints guidance. If the key is already reserved, the server suggests usingkey revokefirst; otherwise it instructs you to ask the player to press the key once so it auto-reserves to them. Note: direct assignment via this command is not supported — keys are claimed by players pressing them (auto-reservation).revoke(alias:r) — clears the key’s player assignment so anyone can claim it againenable(alias:e) — marks the key as available for emulationdisable(alias:d) — blocks emulation for this key even if a player has it assigned
- A valid key name (e.g.
a,space,return,'caps lock') all— applies the action to every key in the keycodes table (not meaningful forassign)
keycodes
Aliases: kc
Prints a table of all keys in the keycodes list, including their keycode, human-readable name, current enabled/disabled status, and assigned player ID.
When run from the admin panel, this command does not print the table in the Responses panel. Instead, it opens the
/keycodes page in a new browser tab, which displays the same information in a formatted layout.logs
Aliases: l
Shows the file path and URL for a log file.
Which log file to reference. Defaults to
combined if omitted.combined— all log levels (error, warn, info, http)error— error-level logs onlywarn— warning-level logs only
When run from the admin panel,
logs and its variants open the corresponding log page (/logs, /logs/error, /logs/warn) in a new browser tab rather than printing to the Responses panel.Quick Reference Table
| Command | Aliases | Arguments | Description |
|---|---|---|---|
stop | exit, quit | — | Terminate the process |
echo | — | <text...> | Echo input back as output |
uri | ip | — | Print server URL |
enable | e | <emulation|reservation> | Enable emulation or auto-reservation |
disable | d | <emulation|reservation> | Disable emulation or auto-reservation |
press | type | <key> [press|down|up] | Manually emulate a key event |
list | ls | [all|active|wr|nameless] | List players |
waitingroom | wr | <admit|dismiss> <id|all> | Admit or dismiss players |
key | k | <assign|revoke|enable|disable> <keyname|all> | Manage key assignment or enabled status |
keycodes | kc | — | Show keycodes table |
logs | l | [combined|error|warn] | Show log file path and URL |