User

% cq user --help
Operations on your user account

Usage: cq user <COMMAND>

Commands:
  password       Change password
  email-address  Change Email Address
  verify         Validate security sensitive actions
  description    Change User Description
  username       Change User Username
  show           Show User
  notify         Change notification settings in participating games
  ntfy_dm_topic  Change the ntfy.sh topic for DM's of the user (keep secret)
  profile        Operation on profiles
  theme          Change user theme

password

> cq user password --help
Change password

Usage: cq user password [OPTIONS] <NEW_PASSWORD>

Arguments:
  <NEW_PASSWORD>  The new password of the user

Options:
  -s, --server-url <SERVER_URL>  The server url
  -u, --username <USERNAME>      The username of the user

You use this command to change your password. This is a special command in two ways:

  1. If you have forgotten your password you can not log in. So, for this command you do not need to be logged in. For that reason, you must give the username as a mandatory option
  2. This is obviously a security sensitive operation. For this reason a verification code is send to the known email address of this user. Only when this verification code is entered using the verify command from the same computer and user will the password change be completed.

email-address

> cq user email-address --help
Change Email Address

Usage: cq user email-address <NEW_EMAIL_ADDRESS>

Arguments:
  <NEW_EMAIL_ADDRESS>  The new Email Address of the user

You use this command to change your email address. You need to give the new email address as an argument. This command, like password, is also special:

  1. Unlike password you must be logged in for this command.
  2. Like password you will be send a verification code to the NEW email-address. We send it to the new email-address in case the old email-address is no longer working for some reason. An informational email is send to the OLD email-address. Only when the received verification code is entered using the verify command from the same computer and user will the email-address change be completed.

verify

cq verify --help
Validate security sensitive actions

Usage: cq verify --code <VERIFICATION_CODE>

Options:
  -c, --code <VERIFICATION_CODE>  The verification code

The verify command is used to verify security sensitive operations. There are three:

  • Signup
  • Password change
  • Email address change

When any of the above commands are performed, an email is send to the (new) email address with a unique verification code and this code needs to be entered using this command to confirm the requested action. When the verification code entered is wrong then the user can retry max 2 times. After that the account is locked and the user needs to contact a system administrator.

description

> cq user description --help  
Change User Description

Usage: cq user description <NEW_DESCRIPTION>

Arguments:
  <NEW_DESCRIPTION>  The new description for the user

Each user has an optional description. You can put anything you like in here, but please keep it decent.

username

> cq user username --help   
Change User Username

Usage: cq user username <NEW_USERNAME>

Arguments:
  <NEW_USERNAME>  The new Username of the user

We acknowledge a username is for some an important way to express themselves. As such we provide the option to change it. You do need to be logged in for this though. There is no reason to re-login. New sessions do need to login using the new username. Of course the new name must be unique. All references to the old name in the system are changed to the new name.

This change will notify subscribers to the old username topic in the ntfy.sh notification service (if configured).

show

% cq user show --help    
Show User

Usage: cq user show [OPTIONS] [USER_NAME]

Arguments:
  [USER_NAME]  Optional: The name of the user

Options:
  -s, --highscores  Include the users highscore for each game variant

When done without a username argument it will show user related data about yourself. If you do give a username, you get to see that users information, but only what is publicly available.

This command has an option '--highscores' which will provide a table with the highest score this user has reached in each [game variant], together with the id of the game where the user did that.

notify

> cq user notify --help
Change notification settings in participating games

Usage: cq user notify <--game|--action|--turn>

Options:
  -g, --game    Toggle game status change notifications (active/finished/cancelled)
  -a, --action  Toggle action notifications (any pawn move or wall placement)
  -t, --turn    Toggle notification when it is your turn

As the game is a turn based game, it might take some time, like with chess, that your opponents will make a move. So, the system provides various ways to notify you when something of interest is happening so you can do more meaningfull things with your life than waiting on others. You can define what is of interest for you: what do you want to be notified about? The help text for the command is quite clear on the possibilities.

'cq user show' will show you what the current settings are and with the nofify command you can toggle the setting.

ntfy_dm_topic

> cq user ntfy-dm-topic --help
Change the ntfy.sh topic for DM's of the user (keep secret)

Usage: cq user ntfy-dm-topic --ntfy-dm-topic <NTFY_DM_TOPIC>

Options:
  -n, --ntfy-dm-topic <NTFY_DM_TOPIC>  The topic of the user for DM's in ntfy.sh (keep secret)

Set or change the topic for ntfy.sh notifications for DM's. As DM's (Direct Messages) are private, you schould choose a topic that is hard to guess. Regard it as a password or secret. If you do not set this topic, DM's will not be send to ntfy.sh.

profiles

> cq profile --help
Operation on profiles

Usage: cq profile [COMMAND]

Commands:
  list    List Profiles
  switch  Switch Profile

When a user interacts using the CLI client a 'default' profile is stored on the local filesystem in the OS specific application folder. This profile is a file that holds the state of the user, like the gameserver's URL, the username, acces tokens, etc.

With some commands, like with signup and login it is possible to specify a separate profile using the -P or --profile argument. this gives the possibility log-in multiple times using different combinations of username and server. There are two different ways to switch to another profile:

  1. Using the cq profile switch <name> command. this is a permanent switch which means all subsequent commands will use that profile.
  2. Using an environment variable CQ_PROFILE. For example CQ_PROFILE=<name> cq user show is executing the command user show with profile . This does not switch the profile permanently.

The profile system gives users the possibility to play games on multiple gameservers from the same client or play as different users on the same game server (although that will typiccally only be used for testing purposes)

theme

> cq user theme --help
Change user theme

Usage: cq user theme <NEW_THEME>

Arguments:
  <NEW_THEME>  The new theme of the user [possible values: dark, light, translucent]

The CLI client provides a number of themes. a theme is a set of colors for the various objects in the game: pawns, walls, borders, etc. This is to provide the user options depending on the situation in which the player plays the game, such as at night or in a terminal that has an unconvient foreground/background setting. Possible values are: 'dark', 'light' and 'translucent'. You need to try them out and choose one to your liking.