QSmack Frontend Commands


When the frontend is in command mode (switch between command mode and the smack modes with Ctrl-T), you can enter as a command any built-in frontend commands, any alias that the server has stuffed to you, or any alias that you have created yourself (using the "alias" built-in command). This page describes the built-in commands. Remember that you can use TAB for command completion, and double-tap TAB to get a list of all possible command completions. That means that a double-tap TAB at a blank entry line will show all commands.

Each command description below shows the command word followed by arguments (if any). Only the command word is to be taken literally; the arguments represent other things. For example, the "stagename" command is shown as "stagename yourname". If you want a name of "ServerGod", then you would not literally type "stagename yourname"; instead you would of course type "stagename ServerGod". Any optional arguments are contained in square brackets.


alias disconnect nslookup say
ban exec pause say_team
ban_color exit ping servername
ban_exclude fire qsmack_connect stagename
ban_ip impulse qsmack_disconnect status
ban_name jump qsmack_quit tell
clear kick quake unalias
color lockban quit unban
connect name reread_banfile unlockban
who

alias [command] [what]

Create an arbitrary alias, like the Quake console command. If the second argument (the stuff the alias should invoke) is multiple words, enclose it in quotes. If you use "alias" with no arguments, all the currently defined aliases and their values are printed. With one argument, the value (if any) of that alias is printed. With two arguments, it creates or replaces an alias. See also "unalias".

ban [playerid]

Ban a player. The single argument is the playerid, as with the "kick" command or the QSmack in-game ban command. That player's IP address is banned. With no arguments, "ban" displays all current ban information. See also "ban_color", "ban_exclude", "ban_ip", "ban_name", and "unban".

ban_color shirtcolor [pantscolor]

Ban a color combination, e.g. "crossdressing". The color is described as in the Quake "color" console command. With no arguments, "ban_color" displays all current ban information. See also "ban", "ban_exclude", "ban_ip", "ban_name", and "unban".

ban_exclude [ipaddr]

Specify an IP address (or addresses) to not ban. The IP address is described as in the ban_ip command. Any excluded IP will be safe from any IP bans. However, it will still be affected by name and color bans. With no arguments, "ban_exclude" displays all current ban information. See also "ban", "ban_color", "ban_ip", "ban_name", and "unban".

ban_ip [ipaddr why]

Ban an IP address. The first argument is a IP address, perhaps wildcarded, as in the QSmack ban file. The second is a text string explaining who or why this IP address is banned. With no arguments, "ban_ip" displays all current ban information. See also "ban", "ban_color", "ban_exclude", "ban_name", and "unban".

ban_name [regex why]

Ban a name. The first argument is a regular expression desribing the kinds of names to ban, as in the QSmack ban file. The second argument describes why this name is banned. With no arguments, "ban_name" displays all current ban information. See also "ban", "ban_color", "ban_exclude", "ban_ip", and "unban".

clear [windowname]

Clear the text from a particular output window. The choices are "server", "smack", or "command". With no arguments, the text in all three windows is cleared.

color shirtcolor [pantscolor]

Sets the color of the QSmack player on the Quake server. This acts exactly like the "color" command at the Quake console. The current QSmack color is displayed at the top of the frontend display, next to the current servername. See also "servername"

connect qsmack_machine:port

Connects to a QSmack, not to a Quake server. Many QSmack frontend commands will do nothing until you are connected. The argument must include the port number; there is no assumed port. Up to 10 QSmack frontends can be connected to any QSmack (an arbitrary number we picked). See also "disconnect"

disconnect

Disconnects you from QSmack. This does not disconnect QSmack from the Quake server. If you want to do that, use the "qsmack_disconnect" command instead. See also "connect"

exec file

Execute the commands in "file" as if they had been typed in the console. Note that most .cfg files will have many undefined commands since the QSmack frontend doesn"t support all graphics oriented commands (ie. gamma, +mlook). Also note that commands like "ban", if they are in a .cfg file, must be "exec"ed while connected to a QSmack or else they have no effect.

exit

Quit out of the frontend. Same as "quit". This will of course disconnect you from QSmack, but it does not affect QSmack otherwise. If for some reason you actually want to cause QSmack itself to quit, use the "qsmack_quit" command instead.

fire

Makes the QSmack player on the server actually do an attack. Not much good for anything except goofing around. Be aware that this may bring the QSmack player out of observer mode.

impulse number

Send an impulse to the Quake server. The number must be between 0 and 255.

jump

Makes the QSmack player on the server jump. Not much good for anything except goofing around. Be aware that this may bring the QSmack player out of observer mode.

kick playerid

Kicks the player given by playerid. The playerid is from the status display at the top. Typing in the playername instead of the playerid does not work. Note: this is directly using the QSmack kick impulse that QSmack uses for banning, so it has the same safeguards for not accidentally kicking the wrong player. This means that there is a small chance that the kick will not occur, if the server thinks that the player list changed just before you pressed return. If this happens, just try the kick again (use the up arrow key to get the command back quickly).

lockban

Tells QSmack to resume its business. See "unlockban" for details.

name yourname

Sets your personal name. This is the name that people will see when you "say" something. The default name is nothing (""). This command is identical to the "stagename" command. You must be connected to use this command. See also "say", "say_team", and "tell".

nslookup playerid

Tries to find the DNS name of the computer that player #playerid is connected from. If you use the word "all" instead of a playerid, the frontend will perform an nslookup on all currently connected players. "nslookup" is enabled in the Windows version of the frontend, if you have placed libtcl_qsmackfe.dll in the same directory as the frontend script; otherwise it will not work. For non-Windows platforms you must have compiled this extension yourself, or nslookup will not be enabled. Even if nslookup is enabled, sometimes the lookup fails. That's DNS for ya.

pause

Pauses the game, if the server was set up to be pausable.

ping

List player ping times.

qsmack_connect quakeserver:port

This command causes QSmack to connect to the named Quake server, disconnecting from the current Quake server if necessary. You might need to do this one twice for it to take effect. We're not real fired up about finding out why you sometimes need to do it twice, because we never use this command, and you probably won't either. See also "qsmack_disconnect" and "qsmack_quit".

qsmack_disconnect

This command causes QSmack to disconnect from the Quake server. Are you sure that you really mean to do this command and not just "disconnect"? Anyway, this is currently kind of a useless command because the recent versions of QSmack automatically try to reconnect to a server when they get disconnected by any means. If you're really desperate to remove QSmack from your server and you can't think of any other way to do it, use "qsmack_connect" and tell it to connect to some other, perhaps non-existent, server. As you perhaps can tell, we never have occasion to use this command. See also "qsmack_connect" and "qsmack_quit".

qsmack_quit

This command causes QSmack to disconnect all frontends, disconnect from the Quake server, and quit. Make sure you know what you're doing before you invoke this command! Are you sure that you really mean to do this command and not just "quit"? See also "qsmack_connect" and "qsmack_disconnect".

quake command

The "quake" command can be used to send arbitrary commands directly to the Quake server. QSmack simply passes the command along to the Quake server.

quit

Quit out of the frontend. Same as "exit". This will of course disconnect you from QSmack, but it does not affect QSmack otherwise. If for some reason you actually want to cause QSmack itself to quit, use the "qsmack_quit" command instead.

reread_banfile

Exactly the same as doing an in-game reread_banfile command. Not much utility to this command when you're using the frontend.

say what

Say something to all players. See also "stagename", "say_team" and "tell".

say_team what

Say something to all players with the same pantscolor as QSmack. See also "color", "stagename", "say" and "tell".

servername name

Sets the "real" name of the QSmack you are connected to. This is the name that people will see when they check the playerlist of the Quake server. This command is not used very often. If you are wanting to set the name used when you talk to people, use the "name" or the "stagename" (they are identical) command instead. See also "color"

stagename yourname

Sets your personal name. this is the name that people will see when you "say" something. The default stagename is nothing (""). This command is identical to the "name" command. You must be connected to use this command. See also "say", "say_team", and "tell".

status

Prints all the information about all the players in the game.

tell playerid what

Say something to just one player. This is different from the Quake console command in that you use the playerid, not the name. Also unlike the Quake command, this will actually work if the player has special characters in his/her name. A side effect of this robustness, though, is that each "tell" message will start out with 2 bogus characters. (Not something we can fix; it's part of the Quake engine itself.) If you're trying to "tell" something to yourself, maybe to communicate only with other frontends connected to this QSmack, your stagename must be the same as the servername. See also "stagename", "say" and "say_team".

unalias [command]

Delete the alias given in the first argument. With no arguments, all the current aliases are deleted. See also "alias".

unban number

Removes an entry from the ban information. Use the number next to the entry in the ban information list, which you can see by using any of the ban commands without arguments. See also "ban", "ban_color", "ban_exclude", "ban_ip", and "ban_name".

unlockban

QSmack sends impulses to the Quake server very frequently. Occasionally this can get in your way, for example if you are manually trying to send a sequence of impulses to the Quake server. To tell QSmack to stop sending impulses, use the unlockban command. Of course, since QSmack is not communicating with the Quake server while it is "unlocked", it cannot do any banning. So when you are finished with your business, use the "lockban" command to tell QSmack that it can resume sending impulses.

who

Lists all the people (including you) that are currently connected to the QSmack. It will list who they actually are (username@hostname) and what their stagename is as well.