CollaboKeys exposes a CLI console on the host’s terminal so the server can be managed without a separate device or browser. Every command typed into the terminal and every command submitted through the admin page’s custom command box is processed by the sameDocumentation 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.
handleCommand() function in src/console.js, so both interfaces are fully equivalent.
The terminal console only accepts line input when
console.enabled is set to true in src/config.json (the default). The admin page’s custom command box always works regardless of this setting, since it sends commands directly over Socket.IO.Commands
stop — Terminate the server
stop — Terminate the server
Syntax:
stopAliases: exit, quitDescription: Stops the keyboard emulator and exits the Node.js process. Any connected players and admin sessions are disconnected immediately.Arguments: None.Example:echo — Echo text back
echo — Echo text back
Syntax: Output:
echo <text>Aliases: None.Description: Returns the provided arguments as output, similar to the shell echo command. Useful for testing that the command interface is working.Arguments:<text>— Any text. Multiple words are joined with spaces.
hello worldenable — Enable emulation or auto-reservation
enable — Enable emulation or auto-reservation
Syntax:
enable <emulation|reservation>Aliases: eDescription: Enables either keyboard emulation or automatic key reservation globally. When emulation is disabled, no keypresses are forwarded to the OS even if players send them. When auto-reservation is disabled, players cannot claim new keys.Arguments:emulationore— Enable key emulation.reservationorr— Enable automatic key reservation.
disable — Disable emulation or auto-reservation
disable — Disable emulation or auto-reservation
Syntax:
disable <emulation|reservation>Aliases: dDescription: Disables either keyboard emulation or automatic key reservation globally. Disabling emulation is a quick way to pause all key output to the OS without disconnecting players. Disabling auto-reservation freezes the current key assignments.Arguments:emulationore— Disable key emulation.reservationorr— Disable automatic key reservation.
press — Manually emulate a keypress
press — Manually emulate a keypress
Syntax:
press <key> [press|down|up]Aliases: typeDescription: Emulates a single keypress, keydown, or keyup event on the host OS as if the admin triggered it directly. The key name must exactly match an entry in src/keycodes.js. If the press type is omitted, it defaults to press (a full press-and-release).Arguments:<key>— The key name to emulate. Case-sensitive (e.g.a,Enter,ArrowLeft,F1,for space).[press|down|up]— Optional. The type of keypress event. Defaults topress.
uri — Display the server URL
uri — Display the server URL
Syntax: Output:
uriAliases: ipDescription: Prints the full server URL, including the host machine’s local IP address and the port the server is listening on. Share this URL with players so they can connect.Arguments: None.Example:http://192.168.1.10:3000list — List connected players
list — List connected players
Syntax:
list <all|active|wr|waitingroom|nameless>Aliases: lsDescription: Lists connected players and information about each one, including their IP address, assigned keys, and waiting room status. The waitingroom long form is also accepted as a synonym for wr.Arguments:all— Every connected player.active— Players who have set a name and are not in the waiting room.wrorwaitingroom— Players currently in the waiting room.nameless— Players who have not yet set a username.
key — Modify a key
key — Modify a key
Syntax:
key <revoke|enable|disable> <keyname|all>Aliases: kDescription: Modifies the state of a specific key or all keys at once. Revoking a key removes it from the player who owns it, making it claimable again. Enabling or disabling a key controls whether it can be emulated by any player.Arguments:revokeorr— Remove the key from its current owner.enableore— Allow the key to be emulated.disableord— Prevent the key from being emulated.<keyname>— The exact key name (e.g.ArrowUp,Enter,a).all— Apply the action to every key.
waitingroom — Manage the waiting room
waitingroom — Manage the waiting room
Syntax:
waitingroom <admit|dismiss> <id|all>Aliases: wrDescription: Admits or dismisses a player — or all players — from the waiting room. Admitted players are moved into the active session and notified. Dismissed players are moved back to the waiting room and notified.Arguments:admitora— Move the player out of the waiting room.dismissord— Move the player into the waiting room.<id>— The numeric player ID (visible fromlist all).all— Apply the action to every player currently in the waiting room.
keycodes — Print the keycodes table
keycodes — Print the keycodes table
Syntax:
keycodesAliases: kcDescription: Prints the full keycodes table to the console output, showing every supported key name, whether it is enabled, and which player (if any) has it reserved. Admin page users are redirected to the /keycodes HTTP endpoint, which displays the same table in a browser tab.Arguments: None.Example:logs — Show log file location and URL
logs — Show log file location and URL
Syntax:
logs [combined|error|warn]Aliases: lDescription: Prints the filesystem path to the requested log file and the URL where it can be viewed in a browser via the /logs HTTP endpoint. Defaults to combined if no type is provided. Admin page users are redirected to the corresponding log page in a new browser tab.Arguments:combined(default) — The combined log (errors + warnings + info).error— The error-only log.warn— The warning-only log.
Shorthands / Aliases
All command aliases are handled in thecommandCallbacks() function in src/console.js. The following table lists every alias:
| Command | Aliases |
|---|---|
stop | exit, quit |
enable | e |
disable | d |
press | type |
uri | ip |
list | ls |
key | k |
waitingroom | wr |
keycodes | kc |
logs | l |
Key names passed to
press and key must exactly match the names defined in src/keycodes.js. Examples include ArrowLeft, ArrowRight, ArrowUp, ArrowDown, Enter, Shift, F1–F20, and a literal space character ( ) for the spacebar. Key names are case-sensitive — arrowleft will not work; it must be ArrowLeft.