# Download and Install The Bub's Brothers

Instructions for release 1.6

- On Windows
- On MacOS X
- On Linux / Unix
- On iPAQ
- Make your own levels
- Notes on the server
- Notes on the client
- Troubleshooting
- Network ports configuration

## On Windows

- Download the file called `bubbros-1.6-win.zip` from the latest release on SourceForge.
- Unpack it. On modern Windows all you need to do is open the compressed folder and extract its content to a new folder. You can also use a ZIP-extraction tool, e.g. WinZip or any of its better and open-source equivalents like 7-Zip.
- Run it by double-clicking on the `BubBob` program with the nice icon. You may need to tell your firewall to let BubBob have Internet access.

That's it! If you want very slightly better graphics (translucent bubbles), you may want to consider downloading and installing Pygame. This might also be a tad faster, depending on your hardware. You can choose the sound and display drivers to use in the `Display and sound settings` link on the main page in BubBob.

Client-only: if you don't want to download the big (11.9MB) release for Windows and are only interested in connecting to a Bub & Bros server that someone else started, you can get the smaller "client only" pack `bubbros-1.6-win-clientonly.zip` from the release. (This is only recommended if the connexion between you and the Bub & Bros server is high-speed, because your client will download all the graphics and sound from the game server while playing.)

Bug: on machines that are not connected to a network, BubBob might not start, or (with luck) start very slowly.

## On MacOS X

- On recent MacOS X distributions, MacPython 2.3.0 is already installed. You must only install Pygame from here. If you cannot find the application PackageManager mentionned in that page, then you don't have a recent distribution. You better have a fast internet connection then, because you should grab and install the big pygame-1.3.4-osx-kitchensink archive.
- Download the file called `bubbros-1.6.tar.gz` from the latest release on SourceForge.
- Unpack it (by double-clicking on it).
- Optional step: to enable one more cool bonus (the Clock) you have to download the MacOS X version of `statesaver.so` and put it into the `bubbob` subdirectory (there is already a `statesaver.c` file there).
- Run it by double-clicking on `BubBob.py`.

That's it!

Client-only: if you don't want to download the big (11MB) release and the big (35MB) kitchensink and are only interested in connecting to a Bub & Bros server that someone else started, you can get the tiny "client only" pack `bubbros-1.6-clientonly.zip` from the release. (This is only recommended if the connexion between you and the Bub & Bros server is high-speed, because your client will download all the graphics and sound from the game server while playing.)

With custom Python/Pygame installation, you need to make sure that the Finder will open the correct version of Python to run the client. The game uses the PythonLauncher to do that. To check and fix which version of Python is run, type the following line in a terminal:

    /usr/bin/open -a PythonLauncher

## Linux (and others X-Window Unix)

- You need Python 2.2 or 2.3. It doesn't work with older versions of Python for very good reasons (not just because I was lazy to port it there): the whole game logic is done with generators, a feature only introduced in Python 2.2. Recent distributions come with Python 2.2 or 2.3 preinstalled; otherwise see www.python.org.
- Download the source file, either `bubbros-1.6.tar.gz` or `bubbros-1.6.tar.bz2` from the latest release on SourceForge.
- Unpack it with `tar xfz bubbros-1.6.tar.gz` or `tar xfj bubbros-1.6.tar.bz2`, and then `cd bubbros-1.6` to change to this new directory.
- Type `make` to build the two small C extension modules. Regular Python code does not have to be compiled, so this should be fast. However, you will need a `-dev` installation of Python to do this. If you get an error message, Linux users on PCs can download precompiled versions: `statesaver.so` (to put in `bubbros-1.6/bubbob`) and `xshm.so` (to put in `bubbros-1.6/display`).
- Execute `./BubBob.py` to start it. You can also type `python BubBob.py`.

That's it!

Client-only: if you don't want to download the big release (8.5MB in bz2, 11MB in gz) and are only interested in connecting to a Bub & Bros server that someone else started, you can get the tiny "client only" pack `bubbros-1.6-clientonly.zip` from the release. (This is only recommended if the connexion between you and the Bub & Bros server is high-speed, because your client will download all the graphics and sound from the game server while playing.)

## On iPAQ

Huh?

Yes, it works just fine on a networked iPAQ under Linux `:-)` (It probably runs just fine almost anywhere, actually.) Here is how you can have a client (display part) on your iPAQ. You need to install Python and the PyGTK bindings using the regular package manager tools, and then all you need is the `bubbros-1.6-clientonly.zip` from the release.

Start a server on some other machine, and then run the client on the iPAQ with
`cd bubbros-1.6/display`
`python Client.py --display=gtk --zoom=50% servername`

Adjust the zoom factor to fit your screen.

If something goes wrong, see the technical documentation.

The Bub's Brothers Home page