# Playing Go
on an Internet Go Server

### Introduction

The Internet Go Servers are machines somewhere in the Internet, which let people watch or play games of Go. The first server was IGS (igs.nuri.net) located in Korea. The server software was then re-programmed by some enthusiastic people and NNGS was established (nngs.cosmic.org). Since these sources are free, other servers have opened bye and bye. At this time, the author knows of four operating servers.

A server is a machine, which listens for connections on a specified port at a specified internet address. Local machines connect to the server and are able to send text to it and receive output from the server. The server manages all games and coordinates the connected players.

### Notation in this Manual

I will use the preformatted style for commands, you have to send to the server, like in

    stats

If you have to provide a detail to the command, it will be in italic, as in

    observe game_number

You have to replace game_number by the number of the game, you wish to observe.

### A first Try

The easiest way to connect to a server is with the telnet program. We will explain such a connection, and encourage you to try it. Later, you may wish to use a client program, which makes your connection more pleasant.

In any case, you will need a full functioning Internet connection. You get such a connection through an Internet Service Provider (ISP), unless you are connected to a network by cable, which in turn is connected the Internet. If you are connected to an ISP (usually by modem, using a protocol named PPP or SLIP), you can also connect to a Go server. Some people use the server connection only through an Internet browser like Microsoft Internet Explorer or Netscape Communicator. If this is the case, open your browser and connect to the net. Then minimize the browser and open a command shell (DOS window on Windows). Your connection will stay alive and you should be able to use the Internet.

On most operating systems, you simply have to type

    telnet igs.nuri.net 6969

in a command line. Here, igs.nuri.net is the internet address (by name) of the IGS server, and 6969 is the port. If you are properly connected to the internet, telnet will soon start displaying the server welcome message and prompt you for your password. For a first try, type in "guest" and press return. You will then be logged into the server and can send commands to it by simply typing the commands and pressing return. The server will react on your commands by sending text to you, which is displayed on your terminal.

You should now try to observe a game. To do this, send the command

    games

You will see a long list of games, which are currently played. Each game has a number. To watch game 55, you send the command

    observe 55

You will then see a simple board display. At each move, a new board will scroll up. This is not very nice to watch, but shows the basics. To really have fun with the server, you need a client program. Exit from the server by sending

    exit

### Clients

A client is a program, which runs on your local machine and handles the connection for you. It will display a board in graphical beauty, and lets you set a stone by simply clicking on the board. It may also display the lists of games and players in a nicer way, provide assistance in various commands or filter off server output.

This description is based on the JagoClient program, but I try to be general by explaining the basic procedures.

A client needs to be installed on your machine. Refer to the installation procedures, which should come with your client.

In general, a client has an output area for server output, and an input line to let you enter your commands. Usually the command is sent to the server, when you press return.

### Connecting to the Server

As I said, a Server has an address and a port. Your client program should have some place to store this information. For IGS, use igs.nuri.net as the server address and 6969 as a port. You may use several servers in one client program, but usually you can connect only to one server (JagoClient is an exception to this) at any time. JagoClient contains the four servers preconfigured. All you have to do is choose one and press the connect button.

The client will then try to connect to the server, which may take some time. The welcome message of the server should appear, and you will be prompted to enter your user name. The server will also tell you about the procedure for unregistered players. On IGS, use "guest" as user name. You cannot play games as guest, but you can observe them.

### Registering on the Server

To get a full account, you need to register with the server. Type

    help register

to learn more about this. In the same way, you can get information about any command. The server will display its help on your terminal. To register, enter

    register your-name your-email

Of course, you need to substitute your pseudonym and your E-mail address. If you are unable to enter @ in Windows or DOS, hold down the ALT key and press 64, then release it. Most players use fancy names, but you can as well use your first name, if it is unique.

The server will send you an E-mail with your password. You may then enter your user name and password in your client and use an automatic login.

### Observing Games

First, you should try to watch a game. To get a list of games, press the "games" button, if your clients supports this. If not, you will have to enter

    games

manually. You will soon see the list of all currently played games. On may servers, you can simply pick one of them with the mouse and press an "observe" button. If not, you will have to enter

    observe game_number

manually. You can get the game number from the list of games.

JagoClient will then display a new window and present the board. It will take some time to load the moves of this game from the server. Other clients choose a different strategy. They download a static view of the board without the game history and change this view move by move. In JagoClient, a static view is available with the "status" button. This is certainly faster, but you cannot replay the game then.

The client will display new moves and show the remaing times for each player. It will also display Kibitz comments. JagoClient displayes these comments in a big window beside the board. You can send such comments yourself with the Kibitz command

    kibitz This is my comment!

The comment is sent to all players, which are observing this game. In JagoClient, you can press the "send" button beside the game board, enter your comment in the dialog and press the "kibitz" button.

To stop observing a board, simply close the board window. In other clients, you may have to enter

    unobserve game_number

manually.

### Setting your Account

I assume, you are now a registered player and have logged into the server with your name and password. You may the wish to change your password with

    password new_password

To get help on any command, enter

    help command

You may even enter

    help help

to get help on help. You should now look at your status with

    stats your_name

You can view the information about other peoples in the same way. Notice, that the information does not contain a rank. You should set your rank with

    rank 2k

This will set your rank to 2 Kyu. IGS ranks are usually quite high. E.g., they are about 2 degrees higher than german ranks. You can get more information about the output of "stats" with

    help stats

as usual. You may wish to declare yourself as looking for a game. To do this, use

    toggle looking

This will toggle the looking variable from true to false. The variables are displayed in the last line of the "stats" output.

### Playing a Game

There are two ways to start a game. Either you send a match command to someone else or you get a match command.

Let us first assume the second case. If another player wants to play with you, he may match you. Usually, however, he will first ask you, if you want a game. You get a line on your terminal, looking like this

    *Alf*: Want a 30/10 game?

This is a message from Alf, who wants to play a game with you. 30/10 means: game in 30 minutes with 10 minutes byoyomi (that is: after you have used your 30 minutes, you have to do 24 for moves in 10 minutes, and you get additional 10 minutes, if you have completed the 24 moves, but you loose the game, if you do less than 24 moves in 10 minutes). Most offers will be fast games like 1/10.

JagoClient will open a new window for messages, unless you un-check "show messages" in the connection menu.

You should now answer Alf. In JagoClient, type in your answer into the dialog, which displays the message, choose Alf in the drop down selection (unless it isn't already chosen) and press "answer". Or use the tell command

    tell Alf This is to fast for me!

This will send the string to Alf, and display on Alf's terminal in the same way as you got Alf's message. This way you could start a little chat with Alf.

If you agreed upon a game, Alf will match you. In JagoClient, you get a new window containing the match request, and you press "accept" or "decline". In other clients, you might read about the match request in the terminal window. The server will tell you exactly what to type to either accept or decline the match command. Type these strings accurately and send them. You may use cut and paste in many operating systems.

If you accept the game, a board will open, and after a while JagoClient will display a count down timer. Your stone color depends on the "match" command. I will explain that in a minute. If it is your move, you can click on the board to make a move. The client will send the move coordinates to the server (like b5), the server notes the move and sends the move to both players, and the client will display it.

If you want to set a handicap, send the command

    handicap 9

to the server. The server will automatically set 9 handicap stones onto your board. In JagoClient, you can use the send text field below the comment area to enter this string and press return. Or you can use the terminal window.

If you want to undo one of your moves, ask your oppent to undo his move first. Use tell or say to talk to him. In general,

    say Please undo!

will send the string to your opponent. You can only undo your own moves. So your partner must undo his move first and then you can undo your last move. In JagoClient there is an "undo" button in the board window, but you can also send the command

    undo

### Sending a Match Request

You first need a list of available players. In JagoClient, press the "who" button. In other clients, you may have to enter

    who

to get all players or

    who 3k-1d

to get a list of players in a specific range. In JagoClient, you can enter the range into the text field besides the "who" button.

The players, which are looking for a game (i.e. have there looking variable set to true) are marked with "!". Players, which do not want a game are marked "X". Note that players, which have a number in the fourth column are already playing a game. The third column contains the number of the game, which the player is observing. Details are avaible with

    help who

as usual.

You may now pick a player from the list. Assume, it is Alf. As in the last section, you should first ask Alf, if he wants a game. In JagoClient, select his name with the mouse and press the "tell" button. A dialog appears, which lets you enter and send your message. Otherwise, use the tell command as in

    tell Alf Want a game?

If you agree with Alf about a game, match him. In JagoClient, you can pick his name with the mouse from the list of players and press the "match" button. In the dialog, enter the game parameters. You will have to provide the board size, your color, the total time and the byoyomi time as explained in the last section. You could also use the command

    match Alf W 19 10 10

to match Alf. This means that you want a 19x19 game with Alf in 10 minutes with 10 minutes for 24 moves extra time. You want the white stones. Alf will have to accept or decline your game request. If he accepts, the client will open a playing board.

### Finishing a Game

As you play the game, watch your time. If you run out of time with less than 24 moves in byoyomi, you will loose your game. JagoClient will send clicks in the last seconds of your time in progressive speed.

If the game ends, click "pass" from the board menu, or send

    pass

in the terminal window. If Alf passes too, the game will end. The server will send a message to you, that you can now remove dead groups. In JagoClient, you should choose "Remove Groups" (not "Delete") from the board menu and click on all dead groups. Be careful not to make mistakes here! It may happen that your opponent removes groups too and those groups will disappear from your board.

If you are satisfied with the result, use "Local Count" in JagoClient. This will display a local count and lets you check the territory visually. If everything is OK, choose "Send done" from the board menu or send the command

    done

in the terminal window. The server will do its own count and send the result to you. Don't forget to thank your opponent for the game

    tell Alf Thanks for the game! CU.

### Aborted Games

It may happen that you or your opponent loose the connection to the server. JagoClient will inform you about this. In any case, you will no longer be able to communicate with the server. If you are playing a game, the game will be adjourned.

You can also ask your opponent to adjourn a game. However, this is an emergency measure. To do this type

    adjourn

If your partner agrees, hew will type the same and the game will be stored.

To reload a stored game, you first need its name. You can get a list of your stored games with

    stored

Pick the right one and send

    load game_name

to restore it. JagoClient will automatically open a playing board and load the previous moves from the server. Other clients may use a more static board.

A sad fact of life is that some players simply disconnect, when the notice that they will loose a game. As a countermeasure, you could avoid players with an extraordinary high number of stored games. You can display the game list of any player with

    stored player_name

A player with an unreliable connection is no fun to play with anyway. However, this is only my personal oppinion.

After you have completed several games, the server will assign a rank to you. You will get a rank with a star (e.g. 4k*). The serer computes these ranks automatically on the basis of your games. A game will only count towards your rank, if it is completed and not free. You can play a free game with the command

    free

Enter this command after you started the game, but before the first move.

### Other Server Commands

We will shortly mention some other important server commands. One is

    shout Anybody for a game?

This sends a message to all players. Since this is disturbing, do not abuse it! It may be OK to shout once for a game, but do not repeat it. Some people have toggled their Quiet variable to false and do not see shouts at all.

If you want to send a message to someone, who is not logged in right now, use

    message Alf I will be back at 18.00 CET.

Alf will be informed about this message, when he logs in. He can use the message command to read all his messages and the remove command to clear them.

### Logging Off

In JagoClient, simply close the connection terminal window. Otherwise, send the

    exit

command.

### General Rules

Be aware, that people from different cultures meet at the server. Especially, what you think might be a good joke is simply rude to other players. So be careful and gentle. Try to be helpful and patient with unexperienced players. You will not be able to solve their problems in most cases, so do not try to teach them. They will ask you.

Moreover, and this is my personal oppinion, do visit also the other servers. The most prominent server is "nngs.cosmic.org" at port "9696". This support these servers and will eventually keep IGS from charging for their service.