Doom (etc) Networking
Nothing beats having Doom, Heritic or your other favorite wads on the go. But what-about having your favorite ID games on the go? Be the talk of the LAN Party when you pull out your GameShell running Doom! Woah! This post will get you on your feet and in the right direction when it comes to getting your GameShell to network with other devices via Doom.
Theres no doubt in my mind this will be flawless for Heretic, Doom2, and other WADs, but for the sake of this post, I only tested using a retail copy of Doom.
Prerequisites
You’ll want Chocolate-Doom operational on your Clockwork GameShell. If you dont already have those installed and working (for atleast single player), I recommend following this post on getting Chocolate-Doom up and running. I also use WinSCP for getting files to the .
The shortcuts
For my super simple, rough and dirty test, I wrote two scripts. A hosting shell script and a joining shell script.
Hosting
chocolate-doom -iwad /home/cpi/games/Doom/doom.wad -server -privateserver -deathmatch`
Be sure to replace my iwad directory with where your iwad’s are. if you followed the forum post I referenced earlier, this should be the same exact directory. -server
was ran because we want to host a server. Easy. I dont have port forwarding setup, but I ran -privateserver
just in case, to keep my server off the master list. If you wanna get extra fancy, you could even do something like -servername <name>
to give your little server a name. Add -dedicated
if you dont want to play on the Gameshell, but just run a server. Drop -deathmatch
if you want a little Co-op game (I think?).
If you are hosting a game, you’ll find yourself at a little DOS like screen waiting for players. Once everyone has connected, hit SELECT on your gamepad to start the game.
Joining
chocolate-doom -iwad /home/cpi/games/Doom/doom.wad -autojoin
Using -autojoin
here because it makes joining a LAN game easier! Though feel free to use -connect <address>
if you want to bake a IP address into your script.
Make it pretty, damnit!
I love making things look nice. So I made this icon for the related scripts above:
Make sure the *.png
matches the *.sh
names.
Troubleshooting
I see "D_InitNetGame: Failed to connect when trying to join!
Theres several different reasons for seeing this screen:
- Version Mismatch
- Wrong IP Address Provided
- Your
-autojoin
parameter isnt working, try using-connect <IP>
instead. - Your server & client are on different networks
Cool. But what about Heretic, Hexen? Freedoom?
I only tested quickly with what I had available. Toy around with the scripts and you should be able to get it working.
What other nifty parameters are there to use?
Check out the Chocolate-Doom Wiki! They have a page here on that.
The Chocolate-Doom Wiki FAQ is super helpful for anything else.
Happy Fragging!