A software program to play Go on the Internet
Copyright (C) 2002 Jean-François Menon
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA see help/GPL.txt
This is version 11 of RubyGo, a program that allows you to play the game of Go with other players over the Internet by connecting to an Internet Go Server (IGS).
For reading and writing to games locally, RubyGo is fully compatible with the SGF (FF) standard and provides a complete editting tool for these files.
RubyGo is written in Ruby, a very nice Object-Oriented scripting language, and is easy to learn. The Ruby language is kind of like a cross between Perl+Java.New: RubyGo is part of the Improving Go Servers Consortium which defines a protocol to add a set of features to the original IGS protocol. See the official IGSCP home page
Ruby is an interpreted language so you need Ruby installed on your machine to run Ruby programs, including RubyGo. After that, you just have to unpack the RubyGo archive anywhere. There is no installation process.
RubyGo is now updated to work with Ruby 1.8
Ruby can be found at:Linux installation:
Windows binaries installers :
- Compiling from sources:
You need the packages tcl, tk, tcl-dev installed on your system. (i.e. files libtclxx.so, libtkxx.so and tcl.h) Get the tarball at: ftp://ftp.ruby-lang.org/pub/ruby/stable-snapshot.tar.gz or see the page: http://www.ruby-lang.org/en/download.html and type (as root):# tar xvzf stable-snapshot.tar.gz # cd ruby # ./configure # make # make test # make install (this will install ruby under /usr/local)
- Installing binaries packages from your distribution:
Install the packages tcl, tk, ruby and ruby-tk. If you don't have them, have a look at rpmfind.net
debian users: don't mix .deb and .rpm packages
Suse users: the ruby package does not include tk, you must re-compile ruby from the sources.
Solaris package: http://wwws.sun.com/software/solaris/freeware/
- You should find the later windows installers at sourceforge.net (please choose 1.8 version)
- You can dowload the ruby 1.8 version directly.
install the ruby-1.6.4 package from the sun's download site (freeware section) you may have to put in your environment (usually in .profile):LD_LIBRARY_PATH=/opt/sfw/lib export LD_LIBRARY_PATHMac OS X: RubyGo should work if you have ruby with tk installed. But I don't know if someone did it yet.
Where to find RubyGo
Just unzip(untar) the archive wherever you want. Usually it can be C:\Program Files or /usr/local/lib. If you are upgrading to a new version, just remove the preceding folder.
- ftp site of IGS: ftp://www.joy.ne.jp/Go/igs_clients/
- Rubyforge web site: http://rubygo.rubyforge.org
- CVS snapshots: http://rubyforge.org/projects/rubygo"
Quick start:Linux users: - In an xterm, go to the 'RubyGo/lib' directory, and run 'ruby go.rb'. Windows users: - open the folder 'RubyGo\lib' and Double-click the icon named 'go.rb'. - or open a DOS window and type: cd C:\RubyGo\lib ruby go.rb you can use the scripts on RubyGo/bin directory, which does the same thing. In case of troubles, see Troubleshooting
- Press "Play on IGS" and select user "guest", no password (this is the default). - the console opens that works like a "telnet" client, but with some little features added ;-> - type "help" for more informations about IGS, and "help register" to get a full account. - type "games" to see the games actually played. - type "observe <game_number>" to observe a game, and a window should open. - hit "Control-h" to get a summary of the console key-bindingsLater, you can make your own command to launch RubyGo from anywhere: see 'rubygo.sh' and 'rubygo.bat' in the 'lib' directory (or put a link on your desktop). The following options are available at the command line:Y:\jef\go\RubyGo\lib>go.rb -h rubygo path is . Usage: ruby go.rb [--edit -e
] [--problem -p ] [--connect -c] [--gnugo -g] [--help -h] filename/URL --edit, -e : edit a SGF file --problem, -p : open a SGF problem --connect, -c : connect directly to the default server --gnugo, -g : play with Gnu Go --help, -h : this message
see http://www.pandanet.co.jp/ for more informations about the game of Go, and about IGS itself, or have a look at the IGS readme
For more details, see the user manual
Many clients already exists for play on IGS, but there was always something that I would like to change, or to add, in the client I used. So I keep that in mind when developping RubyGo, to make that *you* can change it (or improve it) if you like. It is easy with Ruby because it's a scripting language, so you can:
- modify its Graphical Interface (see file lib/TkDefaults.rb),by specifying tk resources ( see a tk manual).
- add your own commands to the console window (see file lib/scripts.rb), just hit "control-h" into the console window.
- modify many parameters and modify/add some actions by making your own scripts (see lib/Defaults). For example if you don't like the way the clock blink when you have few time, you can redefine the "Defaults.clock_alarm" function.
To fully customize RubyGo you'll need to know the Ruby language, see http://www.rubycentral.com for more information about the Ruby language. Some things like setting your user, password or server are simple to do. See the page Customizing RubyGo for a more complete explanation.
Thanks to http://www.grsites.com/textures/ for their nice textures.
Thanks to IGS, the Kiseido, and various GNU programs for pictures and icons.
Comments / Suggestions / QuestionsNB: RubyGo has not been tested much with "IGS compatible" servers other than the main joy-joy site, but it should work well. If you have troubles, send me a mail.
Feel free to send me an email for bug reports or any remarks about some missing features or suggestions you have.
Thanks to Laszlo Vecsey < firstname.lastname@example.org > for reworking these pages.
Thanks to SMauG NoCtuRNuS < email@example.com > for creating the stones.
Thanks to Mark Norton < firstname.lastname@example.org > for creating the RubyGo icon.
Thanks to Paolo Stra < email@example.com > for the Italian translation.
For further information, send me a mail