Contents
English (United Kingdom)French (Fr)Deutsch (DE-CH-AT)
Random Thumbnail
RV_Screenshot113.jpg
Search
Login
Who Is Online?
We have 313 guests online
Navigation
Home Descent 3 Playing Descent 3 online Hosting Descent 3 Game Servers
Most Recent
Featured Articles
Joomla 1.5 Featured Articles
Navigation
Home Descent 3 Playing Descent 3 online Hosting Descent 3 Game Servers
English (United Kingdom)French (Fr)Deutsch (DE-CH-AT)
Hosting Descent 3 Game Servers E-mail
User Rating: / 29
PoorBest 
Descent 3 - Playing Descent 3 online
Written by Thomas   
Thursday, 13 November 2008 22:40
Article Index
Hosting Descent 3 Game Servers
Preparing The Game
The Co-op Mod
Dedicated Servers And In-game Servers
Public And Private IP Address
Direct Connection Or Router
Behind A Router
Gamespy And Tracker
Router Configuration
All Pages

 

This article describes what you need to host your own game servers. It concentrates on co-op games as I believe there are enough servers for anarchy and other game types available already. The differences between co-op and anarchy servers are, however, not that big that the information provided here cannot be used at all.

Descent 3 knows two different types of game servers: Dedicated servers and in-game servers. We will discuss both types, and both have advantages and disadvantages. Don't worry if you don't have any background knowledge about networking and all that stuff. I'll explain it in a very basic way so that literally everybody can host Descent 3 game servers.

Before our server goes online we have to get the Descent 3 installation ready.

 


 

It is important that Descent 3 is patched to version 1.4. This is the version that causes the least issues, and this is the version most people are running. You can find out which version of Descent 3 you have by starting the game.

Descent 3's main menu. The version number is shown in the bottom right corner.

D3's version number can be found in the bottom right corner. If there's something else than "Ver v1.4" you need to obtain the correct patch first. Note that the patches are different for different locale versions of the game. You can download the correct patch for your Descent 3 from the Descent 3 download page.

If you have the Descent 3 version you can download from Dateiliste you already have the correct version.

 



 

It is not known why Outrage have put this dramatic limitation into the game, but when you host co-op servers with Descent 3 you can only have up to 4 players altogether. Altogether here means that if you host an in-game server up to 4 people can play together. If you host a dedicated server the server counts as one player too, hence you can only have up to three players.

In the meantime there are several modifications available. Each has particular characteristics and you have to choose which one suits your server best. The file we are talking about is called "coop.d3m" and located in the folder "netgames" of your Descent 3 installation folder.

As pointed out above already, Descent 3's original coop.d3m file is practically useless. One of the co-op modification files is the coop.d3m from Alexi. You can download it from here. Simply replace your original file \netgames\coop.d3m with that file. If you think you may need Outrage's version again you can rename it to somethinge like "coop_org.d3m" before overwriting it with Alexi's version.

Alexi's coop.d3m contains the following changes to Outrage's original file:

  • It allows an arbitrary amount of players, up to Descent 3's limits.
  • You can hit other players. Alexi called it "teamkill is on".
  • If a player attacks other players several times, the attacker is kicked from the game (disconnected).
  • It blocks the Guidebot which causes server crashes.
  • It removes some objects from the Retribution mission that caused crashes and disconnections.
  • It displays room numbers in the top left corner.
  • Players can be moved by the host or via remote control with "$mplr ".
  • It causes far less player disconnections than the original one.

At some point I will create a little application which installs several of these mod files via mouse click, but until then you have to download and install the file manually.

Download Alexi's coop.d3m

There is another file you will need to download or create, but we'll go through that one later, after explaining what it's actually for.

 

Note that there's no need to download any additional files if you have installed the Descent 3 version from Dateiliste. It already contains all required files.

 




 

A dedicated server is Descent 3 running in a special mode, the dedicated server mode. Descent 3 gives you a white window with black messages in it. You can type in admin commands and of course use the remote console, if it is enabled). The dedicated server cannot be played, it just acts as a server. Because running dedicated servers requires quite a lot of configuration work there are several programs available that help host dedicated servers. One of them (and probably the best)  is Martin Bädeker's server tool.

Descent 3 Running In Dedicated Server Mode

 

An in-game server is a Descent 3 server that can be started from within the game. Select "Multiplayer" in Descent 3's main menu, then "Direct TCP/IP". and finally "Start A New Game". Actually, a few more steps are required, but we'll go through these steps a bit later once everything else has been set up. The images below show how to get there.

Multiplayer

Direct TCP/IP

Start A New Game

 

If you intend to only host anarchy games and its siblings like CTF and other game types that involve players fighting against each other you shouldn't consider an in-game server unless all your opponents are in the same room with you on the same network, for instance connected via a network switch. You can find lots of information on this on the net. The article D3 Dedicated Server on Windows Tutorial (w/o servertool) explains this in detail. Note that you don't need to know all of this if you're using the servertool.


As mentioned before, here we want to concentrate on co-op games, and that implies that in-game servers are as good as dedicated servers, if not even better.

 



Time to find out about our IP address. We need to know whether the computer that's going to run the Descent 3 server has a public or a private IP address.

That sounds quite complicated but it actually isn't. You may wonder "What the h... is an IP address?".

Let me explain it as simple as possible.

Every computer on the internet needs an address at which it can be reached. This address is called "Internet Protocol Address" or, short, IP address. Look at it as if it was your house number. The house number of a computer on the internet. It's unique, no other computer on the net has the same address.

You live in this house, identified by its house number (did I mention that this is called the IP address?). To be more precise, you live in a room of this house, hence you need a room number as well.

If I was to send you a letter I need to know your house number as well as your room number. The internet distinguishes between house numbers and room numbers. Room numbers are called "ports" or "service numbers", or sometimes simply "service".

The house numbers belong to the internet itself (IP = Internet Protocol) while the service ports belong to some sort of transport mechanism on top of IP. This transport mechanisms is called TCP (Transmission Control Protocol) or UDP (User Datagram Protocol), depending on which one is used. Descent 3, by the way, uses both at some point, TCP and UDP. UDP is for the game, and TCP is for the remote console, if used.

Let's get back to the house numbers (IP addresses) and room numbers (port numbers) again. If you open an internet page in your browser (Internet Explorer, Firefox, etc) you need to know the page's house number. The room number for internet pages is usually the same, it's almost always port 80 ("room number" 80). Of course, you don't type in the house number (IP address). Iinstead, you're typing in the name of a server (like "www.dateiliste.com") which is automatically looked up in a table called Domain Name Service (DNS) and finally reduced down to an IP address. Your browser can connect to that page server by assuming it can be reached on port 80.

That's not much different to Descent 3 servers. In other words, your server needs a house number and a room number, i.e. an IP address and a port number.

The default UDP and TCP port (room number) for Descent 3 is 2092. This means that it would be enough for someone who wanted to connect to your Descent 3 server to just know your IP address. But the question is then "How would they know about your server and that it's on at all right now?". This is why port 2092 is not enough, but we're going to dig deeper into this later on. We also want to distinguish more between dedicated servers and in-game servers because the configuration can be different.




For your server on the internet there are generally two different scenarios. The first one is that your computer is directly connected to the internet. The second one is that it's connected via a router. Don't worry if you don't know what a router is for now as I'm going to explain this a bit later on. You can easily find out if you have a direct connection to the internet or not, at least on Windows 2000 and Windows XP. Vista is a nightmare anyway, so I'm not covering this here for the time being.

A "direct connection" is when your computer is directly reachable from the internet. You can obtain your IP address, by visiting http://www.whatisyourip.net. This is your public house number, your public IP address, and this is the address people from the rest of the world can reach your computer. This is also the address other players will need to connect to if they want to join your server.

Is this really your IP address?
That's the 100-million-dollar question. Let's confirm it. Click on "Start", click on "Run" (note that you may have to go through "All Programs" or something similar first if your startmenu is not set up to use "Classic Menus on XP), and type in the "Open" field the word "cmd", then press Enter.

By default, a nice black window appears, which is called a command line window (some people call it a "DOS Window" or "DOS Box", but that is wrong). Type "ipconfig" in this window and press the Enter key again.

Some text should have shown up, starting with "Windows IP Configuration". We're only interested in the line that starts with "IP Address. . . .". It displays your computer's IP address.

If this IP address is the same as the one shown at http://www.whatisyourip.net/ then you belong to the lucky but also doomed group of people who have a "direct internet connection". Simply speaking, the IP adress displayed with both methods is the one people around the world can use to connect to your computer, in our case connect to your Descent 3 server, or - and that's the bad bit - connect to anything else on your computer which has a room number (an open TCP port).

If these both IP addresses are identical you're strongly advised not to turn off your Windows firewall (or any other firewall you might have), at least not for a longer time period, and not without running the latest Windows updates. On the plus side you belong to the lucky group who can run Descent 3 servers without issues if your firewall permits it.

In this case you can hop over the next page and directly go to Gamespy And Tracker.

 


 

So, but what if the IP address shown at  http://www.whatisyourip.net is not the same as the one displayed in the command line windows with "ipconfig"?

This just means that your computer is somehow cut off the internet. It means that it is some sort of part of a village with lots of houses where each house has a house number (and room numbers for the services like Descent 3's server), but the outside world only knows the village's number. The rest of the world thinks that the village's address is a normal house number.

At the entrance to the village is a guardian that takes every incoming letter and delivers it to the actual house and room numbers which only he knows (remember, the rest of the internet only knows the house number for the entire village).

This guardian is quite a busy bloke, and he doesn't trust anyone.

For instance, if you open an internet page (let's assume www.datailiste.com again) with house number and room number you give this information to the guardian by providing your own house number and a room number for the page to come back to your browser. The guarian is now trying to protect you from the rest of the bad world. He replaces your sender house number and room number with the "house number" of the village (we should probably call it a "village number" instead of a "house number" but there's no real difference anyway). As soon as the guardian now sends off your letter it doesn't contain your computer's IP address anymore but rather the village's address. Of course, the guardian makes a quick note that once the page from www.dateiliste.com comes back he has to remember that it was your house number and room number that requested it.

The guardian, by the way, is called "router". A router protects an internal network from the rest of the internet, like a guardian in a little village. The IP addresses or house numbers inside the village are not visible to the rest of the world. Even if they were known they are still useless for anybody outside the village as nobody would know how to deliiver a letter to the right address except the guardian (router) of that particular village.

Having a router may sometimes be a disadvantage (like for instance if you want to host Descent 3 servers) but most of the time it is quite convenient to have it. In order to host a game server you need to tell your router (the village guardian) to forward letters (network packages) addressed to a particular room number to your computer. For the outside world i.e. the internet that means that your computer has now the router's IP address, and it can be contaced just as easy.

Probably the biggest benefit of being behind a router is that your computer doesn't need to run a firewall. Most routers have a built-in firewall and even if they don't they are (almost) still as good as one because of their "village guardiian nature". Nobody from the outside can attack a computer behind a router because the computers in a private network are not even known to the internet.

All we have to do to host Descent 3 game servers is telling the router where to send Descent 3 network packages. In order to do that we need to know what the router is supposed to forward to the game server computer.

 


 

As mentioned before, it's not just starting a server and hoping that someone finds it accidentally. We need to tell the game trackers that a new server is on and where to find it.

When a dedicated Descent 3 server or an in-game server is started Descent 3 looks up this information in a file. By default, this file is called "Gamesyp.cfg" and is located in Descent 3's main directory. Unfortunately, Outrage have forgotten to provide this file originally. Better yet, they have provided it, and it is shipped with Descent 3, but it has the wrong name. This is explained on page 60 of Descent 3's manual.

This is what the file should look like, but you can download it from here:

0
master0.gamespy.com:27900
0
tracker.descent.cx:27900
0
tracker.kali.net:22999

Save the file as Gamespy.cfg in your Descent 3 main folder (the directory where main.exe is located). If you are in Europe you can use different settings.

  • Download Gamespy.cfg for the U.S.
  • Download Gamespy.cfg for Europe (don't forget to rename that file to Gamespy.cfg when you save it in Descent 3's main folder).

Descent 3's manual describes the file and its contents on page 60.

I have created a little application to create and maintain the Gamespy.cfg file. It has the promising name Descent 3 Game Tracker Publisher and creates the file for you. It's also a piece of cake to turn game server publishing off and back on again, and it lets you easily change your server's location. For a full list of features, and to download it, go to its homepage: Descent 3 Game Tracker Publisher

 

Descent 3 Servers On Vortex

 

What the file Gamespy.cfg actually does is telling Descent 3 to provide game tracker information and contact the computers on the provided ports. For example by looking at the first two lines of the above example file, Descent 3 is going to contact the machine master0.gamespy.com on port 27900 to let it know that a game server is running. With the file like the one above, all three important trackers are informed: Gamespy, the Descent 3 tracker, and Kali. The Descent 3 Game Tracker Publisher lets you do this with a nice user interface.

What Descent 3 tells these trackers depends in turn on some settings. Inside the server tool you can specify the port on which they can reach the running game server (under Tracker Options). If you run an in-game server and you don't change anything manually, the UDP port the trackers can "call back" is 20142.

And here we go, now all pieces of information are collected, and we are ready to configure the village guardian, the router, if there is one in our network.

 


 

Everything could be so easy if it weren't for the router manufacturers to invent new names for the same known thing over and over again.

Descent 3 runs servers by default on UDP port 2092 and the initial connection is made on the same port. It also opens a "call-back" port for game trackers on UDP port 20142, and again, TCP is used too for the remote console.

Whenever someone connects to the router's public IP address to one of these ports from the outside world, we would like this connection request and later the data packets to be passed on to the computer running the Descent 3 server.

This functionality is actually called "Port Forwarding". Unfortunately, this is not what the router manufacturers called it consistently. Sometimes it can be found under "Virtual Servers", sometimes under "Applications and Games", sometimes really under "Port Forwarding" in the router's configuration. Some routers even provide the games' names for forwarding, like the Belkin router used here. But don't rely on that. For example, although Descent 3 is in the list of games to configure port forwarding automatically, the entries it creates for Descent 3 are almost completely wrong, so don't use this function, at least not without altering it appropriately first.

Click on the images below to view them in their full size.They will then open in a new browser window.

Open a command line window again (Start->Run, then "cmd" and Enter) and type "ipconfig".

ipconfig

The numbers we're interested in are our "IP Address" and the "Default Gateway". What windows calls "Default Gateway" is the router, the village guardian.

Now open a browser window (Internet Explorer, Firefox, etc) and type the address found as "Default Gateway" into the URL (address) field. Then, after logging on of course, try to find settings called "Virtual Servers", "Applications and Games", or even "Port Forwarding".

Port Forwarding

Now forward the TCP and UDP ports 2092 and 20142 to your computer's IP address. If your router lets you distinguish between TCP and UDP you can go for UDP only.

Note that I have put the IP address ending in 101 into the router's forwarding IP field, although 'ipconfig' reported it ending in 100. This is because I captured the screenshots from two different computers at different times. Make sure you enter the IP address reported by 'ipconfig' so that both are identical.

Port Forwarding For Descent 3

Every Descent 3 server needs to run on its own ports for Gamespy and the game itself, and that port 2092 is reserved for the game itself if you're hosting more than one server on the same machine.

Another important thing to know when testing your server is that Vortex doesn't always update the list with running servers automatically. To be safe, close Vortex and re-open it again. It should then list your server too.

Last Updated on Thursday, 31 January 2013 04:09
 
You need to login or register to post comments.
Discuss this item on the forums. (0 posts)
Discuss (0 posts)