This package implements a well-known game as a client/server Unix application. You are expected to know how to play it. However, you are not expected to magically guess how the program code itself works. There are two actual programs included: scrabtty and scrabserve. scrabserve is the server, that is, it sits around waiting for people to connect and actually runs the game. scrabtty is the client; you run it to connect up to the server and play. scrabserve takes no arguments. When run, it listens on port 7096 for clients connecting and runs games forever until either it crashes (which doesn't happen too much) or gets killed. It does not background itself like some daemons; but it can safely be backgrounded manually. When you run scrabtty you can give it arguments to tell it what server to connect to and what name to use. Basically, you type scrabtty [options] name@server The [options], if present, can be one of: -8 Allow typing 8-bit characters while chatting -b Implement "bold" as green (only in color mode) -c Enable color mode (see below) If you leave out the name, scrabtty uses your login name or the setting of $IRCNICK. If you leave out the server, scrabtty uses "localhost". If you leave out the @ sign, but give a string, it tries to guess whether you meant "string@" or "@string" and behaves accordingly. It will not necessarily guess right. When you run scrabtty, it will try to connect up to the server. If it can't, it will print an error message and exit. Common error messages include: Server foo not found (The specified server does not exist.) connect: Connection refused (There was no scrabserve running on the specified server) connect: Connection timed out connect: Network is unreachable (The network is having problems, or you may be on the wrong side of a firewall) Ill-formed server banner (Something other than scrabserve is probably running on the scrabserve port.) Protocol version was 3, expected 2 (Your copy of scrabtty is out of date and cannot talk to the scrabserve.) Server refused to talk to us, saying ... (The scrabserve doesn't want you for the reasons stated.) After connecting, scrabtty will put up its main screen. There are four basic areas in the screen: - The upper left - The upper right - The middle right - The bottom The bottom part of the screen is always a message log, showing messages the server has sent as well as communications from other players. Below this is a status line, and below that is a user-input line. The middle right part of the screen comes up showing tile scoring information. It can be toggled to show letter frequency information instead by typing M-s. (See below for more information on keys if you don't know what this means.) The top right part of the screen holds the player list and scores of the game you are in, or the last game you were in, and shows whose turn it is. It starts blank when you connect. The top left part of the screen holds the game board, or, if you are not in a game, the game list. Note: servers before v11 do not support multiple games. If you connect to an older server, it will behave as if it had selected a game for you. When you connect, the top left part of the screen will show the current list of available games, whether they're playing or forming, and how many people are in each. You can join one, or start another. It is better to join an empty game if one is available than start a new one. Note that "join" does not imply "play in." You can join a game and observe it. When you join a game that is already in progress, scrabtty will automatically switch to observer mode. This lets you see the board and scores. If you join a game that's still forming, scrabtty will prompt you to type ^R to start. Typing ^R says that you want to play in the game, and you are ready to start. If you want to observe, type ^W (watch) instead. When everyone who's joined the game is ready or has switched to observer mode, and there are at least two players, the game starts. When you type ^R, the system draws a tile for you. These tiles are used to determine the order of play. If there are ties, you may be told that the system has drawn more tiles. 7 tiles each are drawn in order of play; then it's the first player's turn. You play by placing letters onto the board and then pressing return. After you play, the other players will be expected to approve your play, based on whether it is legal or not. If they won't, you must withdraw it. The following keys can be used to move around the board: ^P or UP Move up. ^N or DOWN Move down. ^F or RIGHT Move right. ^B or LEFT Move left. ^A or HOME Move to left side. ^E or END Move to right side. You can use the TAB key to switch between the board area and your rack (the letters you have to play.) In the rack, you can use the same keys as on the board to move, except up and down, which are meaningless. If you type M-b and M-f instead of ^B and ^F, the tile under the cursor is moved left or right respectively along with the cursor. If you need to approve a move, scrabtty will prompt you to type ^O. If you cannot type ^O (some terminals apparently have a problem with this) you can type M-o instead. You can use M-s to switch the middle right part of the screen between letter score information and letter count information. You can change the board appearance on the fly: if your terminal supports color (or at least if scrabtty thinks it does, see the README for a more complete discussion) you can use M-c to toggle color on and off, regardless of whether you used the -c command-line option. (All that does is start with color on instead of off by default.) You can also use M-h to toggle display of the bonus squares on the board. If you don't have color support, and scrabtty is unable to display them in "dim" or "halfbright" mode, you will pretty much need to use this in order to see what's going on. Finally, whether or not you're in a game or not, you can talk to the other players. For the time being at least, there's only one "chat" channel, so that people in different games all see the same messages. The following keys are useful for talking: / begins a public message to everyone. > begins a private message to one person. : begins a public "emote" message. Note that "private" is relative - a "private" message will only go to the player you specify, but it can easily be read by anyone eavesdropping on the network, or by whoever's running the server, if he or she cares enough. Keep the top-secret stuff elsewhere. After you begin a message, scrabtty will let you type on the bottom line. You get basic emacs-like editing commands. When you press return, the message gets sent. If you want to abort and not send a message, delete all the text; empty lines are thrown away. You can perform some game operations, like approval, while entering messages. The same edit mechanism can also be used in connection with two other commands: < lets you enter a new name to use. \ lets you enter a raw server command. In order to perform certain game operations you must use some raw server commands. These are: \beep name Page the player "name". \who List who's connected to the server. \withdraw Take back your move. \forfeit Pass your turn if you can't play. \exchange tiles Exchange old tiles for new (as your turn). \leave Leave the game and go back to the game list. \quit Disconnect from the server. The direct use of other raw server commands is possible, but not recommended. Setting your name with raw server commands is almost certain to confuse scrabtty, for instance. The complete protocol is documented in "protocol.doc". Note that the name you're using is somewhat important in that if you get disconnected, you can rejoin the game if you reconnect with the same name. You can also take over for another player who's disconnected and not coming back by changing to their name (and presumably then changing back to avoid confusion.) If you reconnect or take over for someone you will be warped directly into the appropriate game. Other keys: M-n Scroll message log down M-p Scroll message log up M-< Scroll message log to top M-> Scroll message log to bottom M-r Randomize tiles in rack