Chapter 8: Setting Up a Game Server with BZFlag

November 7th, 2006 by Christopher Negus in

Excerpt from Linux Toys II by Christopher Negus. All-new toys in this edition include a MythTV entertainment center, eMoviX bootable home movies, a BZFlag game client and server, and an Icecast Internet radio station, plus five more. Companion Web site, LinuxToys.net, provides information for further enhancing the projects. Includes a CD-ROM with scripts, packages, and code fo
Your rating: None Average: 3 (8 votes)

While the number of popular commercial computer games for Microsoft Windows still far outstrips those available for Linux, as a gaming server, Linux is an extremely popular platform. Linux server software is available for hundreds of commercial games, allowing your Linux server to bring together dozens or hundreds of online gamers at a time.

From the pure, open source standpoint, there are some fun games that have completely free client and server software that you can set up and play against others on your LAN or over the Internet. These include board games (such as Go and Atlantik), strategy games (such as freeciv), and battle games (such as BZFlag).

To try your hand at setting up and playing from your own gaming server, I describe how to configure Battle Zone capture the Flag (BZFlag). BZFlag is a fun 3D tank battle game, designed to be played against others over a network. After you set up a BZFlag server, you can have players battle each other over the network using clients on other Linux, BSD, Mac OS X, or Windows systems.

Figure 8-1 illustrates the BZFlag Start Server screen and tanks that might appear on BZFlag clients that run on Linux, Mac OS X, Windows, and BSD systems.

Figure 8-1: Play BZFlag tank battles from your Linux server on different clients.

Understanding Battle Zone capture the Flag

Like many open source projects, BZFlag was begun by a single person as a small idea that just took off. Chris Schoeneman started what became BZFlag as part of his graduate studies in computer graphics at Cornell University in 1993. The project started as a demo program to spin a 3D model with a mouse.

When a friend suggested that Schoeneman make the demo into a game, he created tank models, added the ability to shoot the tanks, and made it so the game could be played against other players on a LAN. The game grew in popularity at Cornell and, over time, features were added such as flags, team bases, and Capture-the-flag–style game play. With the addition of capture-the-flag, the game's name changed from bz to BZFlag.

More than a dozen years later, BZFlag (BZFlag.org/) has a thriving community, with more than 3,000 registered users and 34,000 articles at the BZFlag forums (my.BZFlag.org/bb). At any given time, there are dozens of public BZFlag servers running and waiting for you to join in. New worlds and new features are constantly being created and made available for BZFlag.

The current BZFlag maintainer is Tim Riker. Many other contributors to the project are listed as well. These include Daniel Léonard, Jeremiah â __________________________


Special Magazine Offer -- Free Gift with Subscription
Receive a free digital copy of Linux Journal's System Administration Special Edition as well as instant online access to current and past issues. CLICK HERE for offer

Linux Journal: delivering readers the advice and inspiration they need to get the most out of their Linux systems since 1994.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Alexander Boyd's picture

Update on user count

On December 30th, 2008 Alexander Boyd (not verified) says:

There are now over 19,000 registered users, and BZFlag has been downloaded over 1,800,000 times.

Dennis Møllegaard Pedersen's picture

Using Global Login

On November 15th, 2006 Dennis Møllegaard Pedersen (not verified) says:

Just a clarification:

The next time you join a BZFlag game (as described earlier in this chapter), enter your user name (callsign) and password. You will see the message Global Login Approved! when you connect to the game. You may be asked again to identify yourself to the server. If so, type /identify password (using your password of course).

Please never use your password with /identify, infact never use /identify at all. The server might be patched to capture your username/password, allowing the server owner to use your account - including whatever admin/cops permissions you may have gotten on other servers.

/identify is the old (decentralized) authentication mechanism from earlier BZFlag versions. The new global auth is preferred as the password is not exposed to the bzflag servers - only to the central server, performing the authentication.

Having said that, thanks for a great article

Dennis Møllegaard Pedersen's picture

Using Global Login

On November 15th, 2006 Dennis Møllegaard Pedersen (not verified) says:

Just a clarification:

The next time you join a BZFlag game (as described earlier in this chapter), enter your user name (callsign) and password. You will see the message Global Login Approved! when you connect to the game. You may be asked again to identify yourself to the server. If so, type /identify password (using your password of course).

Please never use your password with /identify, infact never use /identify at all. The server might be patched to capture your username/password, allowing the server owner to use your account - including whatever admin/cops permissions you may have gotten on other servers.

/identify is the old (decentralized) authentication mechanism from earlier BZFlag versions. The new global auth is preferred as the password is not exposed to the bzflag servers - only to the central server, performing the authentication.

Having said that, thanks for a great article

Post new comment

Please note that comments may not appear immediately, so there is no need to repost your comment.
The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <pre> <ul> <ol> <li> <dl> <dt> <dd> <i> <b>
  • Lines and paragraphs break automatically.

More information about formatting options

Newsletter

Each week Linux Journal editors will tell you what's hot in the world of Linux. You will receive late breaking news, technical tips and tricks, and links to in-depth stories featured on www.linuxjournal.com.
Sign up for our Email Newsletter

Tech Tip Videos

From the Magazine

July 2009, #183

News Flash: Linux Kernel 3.0 to include an on-the-go Expresso machine interface! Ok, maybe not, but Linux is definitely going mobile, from phones to e-readers. Find out more inside about Android, the Kindle 2, the Western Digital MyBook II, The Bug, and Indamixx (a portable recording studio). And if you've gone mobile and you been wanting more Emacs in your life then check out Conkeror.


To compliment the mobile we've got the stationary: parsing command line options with getopt, checking your Ruby code with metric_fu, and building a secure Squid proxy. How is this stationary you ask? What can we say? It's not. We just wanted to see if anybody actually read this part of the page :) .


All this and more, and all you have to do is get your hot sweaty hands on the latest copy of Linux Journal.





Read this issue