CLI Client
As a person who has worked a decent part of his live in Open Source the CLI client was (of course!) the first client made. It might be a bit alien to normal computer users these days that only know about the web and graphical user interfaces and apps and such, but the CLI was way before that time and is still widely used. If you do not know it, I invite you to try it out. See it as an adventure and an opportunity to learn something new!
CLI stands for Command Line Interface. It uses a terminal application to enter commands and, in the case of Corridor Quest, send those commands to a game server reachable over a network (typically the Internet). Other types of interfaces exist, like the GUI (Graphical User Interface) or the WebUI (Web User Interface) and Corridor Quest can and will have several other types of clients of various interface types to interact with the system. This section however, is about the CLI client.
The CLI client is meant for people that have a desktop/laptop Operating System like Linux, MacOS or Windows. All these operating systems have a tool available called a 'Terminal'. You have access to the CLI client using this 'Terminal'.
Before you can use the CLI client you first need to install it.
General behaviour
The CLI client is called cq and follows normal semantics for CLI applications. At any level you can specifiy the argument --help to get help at that level. Example:
> cq --help
Usage: cq <COMMAND>
Commands:
signup Signup to a Corridor Quest server (create a user)
login Login to a Corridor Quest server
logout Logout from a Corridor Quest server
server Operations on the game server
user Operations on your user account
game Operations on Games
So, for example, entering cq user show wil give you information about yourself when you are logged in:
> cq user show
Username: alice
Email Address: alice@example.local
Notification method: Email
Notify on Turn: true
Notify on Action: false
Notify on Game: true
Active session
Password changed at: 2025-11-06 20:35:52.155293 UTC
'User' is the subject and 'show' the command. This is how it mostly works. Some often used commands, like login, etc, have been made available at the root level instead of under the 'user' where they semantically would belong. this is done for conviniance.
Commands can have arguments, their purpose is to give data in the context of the command. For example: cq user description "Alice from Wonderland" will change the description of the logged in user. "Alice in Wonderland" is the argument here.
> cq user description --help
Change User Description
Usage: cq user description <NEW_DESCRIPTION>
Arguments:
<NEW_DESCRIPTION> The new Description for the user
Options:
-h, --help Print help
Commands can have options. Their purpose is to give context to a command. For example: cg game show --game-id=43 here the subject is 'game', the command is 'show' and the only and mandatory option is --game-id with value '43' which is to provide the game-id of the game to show. Option have long and short forms. the short form for --game-id is -g, so cg game show -g1 is the same. Note that the long form always begins with '--' and the short form with '-'. cg game show --help (or -h) provides you with all options in their long and short form:
> cq game show --help
Show Game
Usage: cq game show --game-id <GAME_ID>
Options:
-g, --game-id <GAME_ID> The ID of the game to show
-h, --help Print help
auto-complete
The cli client supports a feature called auto-complete. You can, for example, only enter the letter 'cq' and then enter tab. Then it will present the commands to choose from. The you can enter the first letter or letters of a command and press tob again and it will auto complete the command. This also works for options. just enter '--' and press tab. Just play a bit with it to get a feel for it. It is a great aid for fast and error free entry.
If auto-complete does not work for you, something went wrong during the installation. Reach out for troubleshooting.