bb.py - the bub-n-bros server.
bb.py [ level-file.bin ] [options]
python bb.py [ level-file.bin ] [options]
Note that this script is in the bubbob/
subdirectory of the original
starts an http server that acts as a control panel for the server.
The server listens on port 8000
by default. The url for the control
panel is http://server:port/0xN
is a random hex number (acts as minimal protection). This url
is printed when the server starts. You can start and view games and kill the
server from this panel. The control panel also allows you to type in the
address of a server to connect to, the script will then open a client to that
server. The http server also servers java applet clients for those players who
wish to use one.
When a game is started the script opens a port for the game server. This port
can then be connected to by a client. Clients autodetect servers running on
the local network with UDP ping on port 8056
The client forms a tcp connection to the server. Or, when using the metaserver,
the server forms a connection to the client. If this fails, the client and
server try a simultaneous SYN connect. This sometimes works if the server and
client are behind firewalls. The server then tries to transmit the data over
udp. If it gets no response from the client it will fall back to the existing
- -b N, --begin N, --start N
- Start at board (level) number N. The default is 1. See also the
- -h, --help
- Display help.
- -i, --infinite
- Restart the server at the end of the game. Normally the server quits after
a certain period of inactivity. This is useful when used with the
-m option to make a public server that is available for a long
- -l N, --lives N
- Limit number of lives to N. If this option is not specified the
number of lives will be infinite.
- -m, --metaserver
- Register server with the Metaserver (currently) at
codespeak.net:8050. This makes your server visible to everybody,
and also facilitates joining through a fascistic firewall.
- TYPE=N Sets default listening ports. If type is
LISTEN , sets the game server port to N. The game server
port is chosen randomly by default. If the type is HTTP , sets the
http server port to N. The http server port defaults to
8000. Another port will be chosen if none was specified and
8000 is already in use. The server also listens to UDP ping
on port 8056.
- -s N, --step N
- Increase board number with N when a board is completed. Defaults to
1. see also the -b option.
The server outputs helpful debug information concerning the http and game