Cooking with Linux - The Virtual Streets of $HOME

Use Linux to visit virtual consoles, cities and battle zones.

BZFlag is a multiplayer 3-D tank battle game you can play with others across the Internet (Tim Riker is the current maintainer of BZFlag, but the original author is Chris Schoeneman). The name, BZFlag, actually stands for Battle Zone capture Flag. It is, in essence, a capture-the-flag game. To get in on the action, look no further than your distribution's CDs for starters. BZFlag's popularity means it is often included with distros. Should you want to run the latest and greatest version, however, visit the BZFlag site (see Resources). You'll find binaries, source and even packages for other operating systems. That way, you can get everyone in on the action.

Unless you specify otherwise, BZFlag starts in full-screen mode, but you can override this by starting the program with the -window option. The game begins at the Join Game screen. Before finding a server (the first option on the screen), you may want to change your Callsign (or nickname). We'll look at some of these other options after we've selected a server. For now, move your cursor to the Find Server label and press Enter.

You won't have any trouble finding people to play with—you'll get a list of dozens of servers currently hosting games (Figure 2). Scroll down the list of names to find one that suits you. Your criteria might be the number of players, how busy a server is or how many teams are involved. When you look at the server list, make sure you pay attention to the type of game being hosted on the server. Some have team-oriented capture-the-flag play, and others host free-style action. You also may be limited by the number of shots at your disposal, so aim carefully.

Figure 2. At any given time, dozens of BZFlag servers are running worldwide and hundreds of people are playing.

When you have made your choice, press Enter, and you'll find yourself back at the Join screen (Figure 3) with a server selected. You could simply start the game, but you may want to fine-tune a few more things before you start up your tank. Cursor down to the Team label, and press your left or right arrow keys. By default, you will be assigned to a team automatically, but you can change that here if you prefer. One of the roles you can play instead of joining a team is that of Observer. This is not a bad idea if you are new to the game, because it lets you watch how others are handling themselves.

Figure 3. The Join screen lets you define your callsign as well as your team.

The Join screen also lets you enter the name of a server manually, rather than search for it. This is useful for hosting private games on a local LAN. Speaking of hosting games, I'm sure you noticed the Start Server option at the bottom of that list. Let's go ahead and join the game. Scroll back up to Connect and press Enter.

I hope you are ready, mes amis, because the action starts immediately, and some of these players are, well, seasoned. Move your tank using your mouse, and fire by clicking with the left-mouse button. These tanks are highly maneuverable and even can jump in some games (you do this by pressing the Tab key). To learn all the keystrokes, by the way, press Esc at any time, and select Help. During play, BZFlag provides an extensive heads-up display with stats on players, kills, personal scores, team scores and more (Figure 4). Keep an eye on the map to your lower left, as it can alert you to enemy tanks. If you can drive, fire and type at the same time, press N to send a chat message to the group, or M to send one only to your teammates. If you see the boss coming, press F12 to exit the game in a hurry. Just a little joke, mes amis. I would never suggest that you play this at work.

Figure 4. The action is fast and tense, with tanks blowing up everywhere you turn. Be careful not to be one of them.

The hour is getting late, mes amis, but I don't want to leave you with the impression that all the virtual worlds that may exist in our systems are built entirely on destruction and mayhem. You can, in fact, build an entire civilization, including a city, its farms, factories, markets and every other trapping of modern (or premodern) civilization. Download Lincity (or check your distribution CDs) and start building. The idea of this highly addictive and time-consuming game is for you to build a city, and in the process, feed and clothe your people, and create jobs so you can build and sustain an economy. Invest in renewable energy as you strive to build a civic Utopia (Figure 5).

Figure 5. Lincity is a computerized city simulation that makes you wonder why creating a Utopia is so darn difficult.

As things get better and better, you can save your game and get back to creating this ideal world of yours. Okay, you're right, it's not as easy at it sounds. The clock is ticking, and the months go by fast. Without careful attention, your world may wither away in its own poisons. I should warn you that starting from scratch may be a bit of a confidence destroyer. Why not start when things are good? When the game begins, click the Menu button in the upper left. The main window then provides you with some choices, including one to Load a saved game. The game comes with two: one is called Good Times and the other (you guessed it), Bad Times. I recommend Good Times to get your virtual flippers wet. When you get so good at this that you feel you can fix anything, go for the Bad Times, and see if you can pull your city back from being $25 million in debt.

The clock, mes amis, it is telling us that closing time is upon us. With all these sounds of artillery and explosions coming from your workstations, it seems obvious that we will have to stay open just a little longer. François will happily refill your glasses one final time before we say, “Au revoir”. The games may be all virtual, but the wine is real. It's a good thing too, but I'd hate to have it spilled every time someone fired a shot. On that note, please raise your glasses, mes amis, and let us all drink to one another's health. A votre santé Bon appétit!

Resources for this article: /article/8882.

Marcel Gagné is an award-winning writer living in Mississauga, Ontario. He is the author of the all-new Moving to Ubuntu Linux, his fifth book from Addison-Wesley. He also makes regular television appearances as Call for Help's Linux guy. Marcel is also a pilot, a past Top-40 disc jockey, writes science fiction and fantasy, and folds a mean Origami T-Rex. He can be reached via e-mail at You can discover lots of other things (including great Wine links) from his Web site at



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.


luke_wilson's picture

You see, what you may not know is that your system keeps track of the contents of those virtual consoles (1-6) in a special device file, /dev/sdaX
Just a little slip but /dev/sdaX refers to a scsi drive not the virtual console /dev/vcs1 mentioned previously in the article.


marcel's picture

Hello Luke,

Well, Sacré Bleu! I knew what I was typing before hand but another device file snuck in there accidentally. You are absolutely correct to point it out. That should have been /dev/vcsX for the virtual console device. And I thought it was such a cool trick, too . . . [ insert appropriate smiley here ].

Thanks again, and take care out there.

-- Marcel

Marcel (Writer and Free Thinker at Large) Gagné AND