User Manual
Samuraïs playing Go

The IGS Client

The Console

This main window is the console, which is basically like a telnet session in an xterm window. You can type all the IGS commands here, including the 'help' command that you can also review the contents of in the 'Summary' file. The additional benefit of the RubyGo console to the IGS command interaction is the ability to make your own commands, much like scripts are run from an xterm window but driven by Ruby here. This is in a sense more powerful than adding many menus or buttons because by typing a few characters you can access whatever it is you would like to function. The scripts are stored in the file 'scripts.rb', which also includes definitions for the programs text colors which you can change to your desired preference. A short help is provided when you hit 'CTRL-h'. Some examples on how to add your own scripts are provided in the directory 'rubygo.sample'. You can, of course, send me requests by mail and I can add them to the FAQ and extend the base RubyGo distribution.
The indicator on the upper left shows you if the client is receiving data from the server.

Next there is two buttons:

Next there is a little message showing the date and time when you receive the last bytes from the server. If you are unsure about your connection, just have a look to it. If the clock is not updated, that probably means the connection is broken. The time is IGS local time. This can be useful for some events scheduled on igs, like pro games. There is a command history that you access with the 'up' and 'down' arrows. You can use the mouse to cut and paste text from the console (unix only).

console predefined key bindings:

rubygo predefined key bindings:
Control-h : this help
Control-s : status of last player requesting a match
Control-r : results of that player
Control-m : send 'match' to that player
Control-d : decline match
Control-t : reply to the last player talking to you

 rubygo predefined commands:
  set_auto_reply <text>      : reply to a user when your are not there
  cancel_auto_reply          : guess ?
  chat  <player | channel>   : talk with a player/channel
  match  <player>            : open match window
  auto_load  <game>          : load/observe an adjourned game

The auto_load command will be automatically set by RubyGo in two cases: If you use auto_load at the console, <game> is in the form 'white-black'

When the console is connected to the server, it send the 'stored' command to see if you have unfinished games stored on the server. Next, if one of your opponents connects you will be notified (a chat window is opened)

Note that how to make your own commands is explained in Customizing RubyGo

The Players list

The players list is the result of the 'user' command at the console, showing almost all the players connected. Because it take some time to receive and sort the list, it is not updated automatically, but only when you needed by depressing the reload button. You can save time by invoking a specific query using the options of the 'user' command at the console, like 'user 3k-5k' or 'user fr'. You can use the entry in the players list to set parameters of the reload button so that clicking on it will conveniently load the specific user range or user country you prefer. When receiving the list, you can filter it to make only displayed some kind of players:

Typically if these three options are off, you get a list of players that you can ask for a game.



When using the right mouse button on the line of a player, you get a popup menu for that player.

By default, 'guest' users will not be shown (a filter is configurable, see Customizing RubyGo)

Warning: Depending on the speed of your system the list can take some time to be updated and RubyGo will hang during this time. This is because Ruby is an interpreted language and there may be more than 1000 players connected at a time on IGS. Please see the 'who' command and 'help who' text to retrieve a shorter list at the console.

The Games list

This window shows the games actually played on IGS. Its identical to the result of the 'games' command at the console, and the window will automatically open if needed.
In case the window is already open, you have to use the reload 'reload' button to get an updated list from the server.


A popup menu on the right mouse button allow you to observe that game.

wallpaper open a game to observe and put it on the background of the window. It is a window without decoration. When it is opened, all other windows are withdrawn from the screen. You get a popup menu when clicking on the goban with the right mouse button:

see also The game window

The Reviews list

There is a new command on IGS, 'review', which allow players to review games with a more convenient interface. This command is not yet documented on IGS, so you can just observe such games, and send messages. Click on the reload reload button to get a list of reviews actually on IGS, and click with the left mouse button to observe this game. You open this list with the button of the console.

Note RubyGo will remember if these windows were opened or not, and their position, the next time you will launch it. The windows will not open when receiving a listing from the server (when typing 'user' or 'games' at the console).

The Chat window

If a user sends you a message (using the 'tell' command) the default behavior is for a chat window to automatically open allowing you to talk with the individual. It will not open if you use 'tell' directly at the console, but there is a builtin command 'chat <player>' that will bring it up. See the 'scripts.rb' file for other builtins. If you use a number instead of a name, you will talk into a channel. See 'help channels'. Only one channel is active at a time, so you will receive messages only in the last window you talked through. There is an entry in the players list menu for accessing chat as well.

The Match window

When a player requests a game with you, this window will automatically open. You can accept the match or decline it, or you can modify some fields and send a return request. If you want to request a match, you can either use the popup menu of the Players list, or type 'match <player>' with no parameter at the console. You can have a pre-defined message to send to the player (using the 'tell' command) automatically when sending the match request, to be more 'user-friendly'. If you click on the name of the player, you get the 'stats' window for that player (see below).
If a player use the 'automatch' command, (help automatch), you will get a window slightly different. In this case only the opponent can change the number of byo-yomi stones, and the color is automatically choosen by the server. You can accept as is with automatch, or modify the parameters and choose a color, in which case it will be changed to a normal 'match' command.

The Stats window

The 'stats' command (see 'help stats') gives you informations about a player. You can open this window from the popup menus of the players and games lists too. In addition to the informations given by the server, this window allows you to give a 'head' (icon) to that player, and take notes about him.click on the button containing a question mark. This informations will be stored on your computer. click on the button displaying the head (or nothing) to change it. This head will appear into the list of players too in front of the name. You have two checkboxes :
  • Notify me when connected At the connection, RubyGo will look at the list of players connected to see if you have friends there. if the player is not already connected, and if the 'quiet' option is off, you will be notified when he connect during your session. In both cases a chat window will appear.
  • Decline match requests(automatically) Useful if you don't want to be annoyed by that player. Note that I give some nice heads for escapers :-)
Feel free to send me other suggestions.

For further information, send me a mail