D2X - Multiplayer How-To


Introduction

Generally, there are two ways to play multiplayer games with D2X-XL: Via KALI, an extra program translating IPX communication calls to TCP/UDP and back, or directly via the built-in UDP/IP communication.

There are no dedicated game servers in any D2 version including D2X-XL. There will always be a player offering a game (game host) and configuring it (i.e. chosing the level and any settings; for details see the D2X-XL manual area). Players joining such an offered game (clients) have no direct control over the multiplayer game settings.


KALI

If you play over KALI, you need to install an IPX driver in your network configuration (for MS Windows see the system panel, network options). An argument for using KALI is that people are used to it and KALI has a chat function and easy game launch options. Find it here.


UDP/IP

UDP/IP is similar to TCP/IP insofar as it uses IP addresses and ports to send data to another computer. Unlike TCP/IP, UDP/IP however is 'connectionless', and there is no guarantee that any data sent actually arrives intact and complete at the addressee. For the volatile nature of action game data, this doesn't play much of a role, as there are several updates per second anyway.

UDP communication generally goes via 'ports' (think of them as a key). Each game participant needs to have his own port and needs to know the ports the other participants are using to be able to send data to them. As the game host will communicate all client ports to all clients, you only need to know the game host's port number (28342 by default): Once you've connected to it, it will tell your machine the other players' ports.

Clients need to specify a UDP port they want to use. D2X-XL asks for one when joining a UDP multiplayer game. You can use the default port here (28342), and if that doesn't work, try 0 (zero).

Game hosts will use port 28342 by default; this port number can be modified by the host. If the host does that, clients can (and need to) modify their host port with the PgUp/PgDn keys in the game list.


Using Trackers

Using a tracker makes things much easier. A tracker is kind of a game coordinator. All you need to know is the tracker's IP address and port. D2X-XL has one predefined tracker (tracker provided by the German VEX clan, so its existance depends on the clan's mercy and existance). You can add more trackers in d2x.ini (see the tracker page).

Every D2X-XL out there that is trying to offer a UDP/IP game (host) via tracker will send its IP address and port to all trackers it knows, registering with them so to speak. Every D2X-XL out there that is trying to join a UDP/IP game (client) will ask all trackers it knows for the IP addresses and ports of hosts that have registered with the trackers, and display all hosts the trackers report to it in its game list (actually the number is limited by the game list size), where you can select one. You don't need to manually enter a game host's IP address and port as a client here, and D2X-XL won't ask for them.


Firewalls and Routers

Depending on the type of firewall you're using and the firewall settings, you may need to open the ports KALI and/or D2X-XL are using (for the KALI ports, consult the KALI web site).


Networking Settings

Short Packets

Short packets basically decrease the quality of the player position data to save a few bytes for every position record. That means players will slightly bob around (not very bad, just a little). With broadband connections, you shouldn't need this option anymore.

Packets Per Second (PPS)

This value tells Descent how often per second to send data about any local events that change the game state (like player has moved, fired, picked up stuff etc.) to the other players. As I wrote somewhere else, Descent gathers all this data (which mostly consists of small packets) in a bigger 'pool' (buffer) and sends the buffer contents if it gets full. That means you may get more than X pps (if you set pps to 'X', e.g. 10). From what I can see, the buffer is large enough to rarely let this happen. On broadband, I'd therefore recommend to use at least 10 pps, not less, to have reliable player positions.


News

A new D2X-XL update fixing broken screen resolution persistence is available

There is yet another D2X-XL update is available (the new Pumo Mines broke a few things ...)

Believe it or not: There's a new D2X-XL version online!

Uploaded updated D2X-XL and library source code that compiles with Visual Studio 19

After a really long time, another new DLE version is available

A new DLE version is available (hear, hear!) :D

A new Max OS X version of D2X-XL is available!

D2X-XL now offers a cartoon style render mode!

New D2X-XL and DLE versions are available

Blarget has got his own area in the level spotlight

New D2X-XL and DLE versions are available

A couple of levels have been added to the level spotlight

Hooray! We're finally having a new Mac OS X version of D2X-XL!

D2X-XL now features an observer mode for multiplayer games

A new D2X-XL version with improved multiplayer synchronization is available

A new D2X-XL version fixing out of sync problems in multiplayer games is available

A new D2X-XL version with many multiplayer bug fixes is available

Added high quality (ogg) Descent 1 and 2 music to the downloads area

A new D2X-XL version with important bug fixes is available

D2X-XL compiles and runs on Linux again!

Descent 1 and 2 high res textures are now available as complete downloads

A new DLE version with a ton of bug fixes and improvements is online

A new D2X-XL version is online

A new D2X-XL version with a much needed bug fix is online

A new DLE version is online

Published another DLE version with more bug fixes and improvements by Sirius

Published a new D2X-XL version

Published a new DLE version with tons of bug fixes and improvements by Sirius

D2X-XL now supports Oculus Rift 3D headsets!

Updated DLE and D2X-XL to support new level features requested by Pumo

Added an article about DLE's new tunnel generator to the worklog

DLE's new tunnel generator is finished

Added a new article to the worklog

Published a new DLE version

Added a new article to the worklog

Added two new articles to the worklog

D2X-XL and DLE-XP now support triangular segment sides!

DLE-XP has an OpenGL render and 1st person view!

New DLE-XP version available

Wrote a new worklog article

Check out DarkFlameWolf's level spotlight section!

New DLE-XP and D2X-XL versions are available

A new DLE-XP version is available

Added a worklog article about the way point feature

Added way point support to DLE-XP and D2X-XL

Posted a bunch of new screenshots

Posted a bunch of new screenshots

A New version of DLE-XP is available

New OS X version of D2X-XL is available!

Added article about lightmaps to worklog.

New article and video added to worklog.