Odamex Message Boards
Community Discussion => General Discussion => Topic started by: andrewwan1980 on September 28, 2008, 18:05:07
-
CURIOUS: Source-port's portforwarding madness....
Just curious about the cross-compatibility after I noted down the port numbers a server requires to portforward on his NAT router. I got these port numbers from the server launcher (or forums for Doomsday which I think is outdated because it contradicts the port found in-game).
Doomsday 1337 TCP/UDP http://forums.newdoom.com/showthread.php?t=27578
Doomsday 13209 TCP/UDP In-game Start Server
Odamex 10666 TCP/UDP Odamex Server
Skulltag 10666 TCP/UDP Internet Doom Explorer
Vavoom 26000 TCP/UDP vavoom.txt
ZDaemon 10666 TCP/UDP Server Launcher
Odamex, Skulltag & ZDaemon all share the same port 10666. All 3 were forked/branched off ZDoom 1.22 (Odamex is continuation from csDoom which was off ZDoom 1.22). Does that mean they could actually play against each other? Eg. A Odamex client plays with a Skulltag server. Or a Skulltag client play on a ZDaemon server? Etc, etc. The permutations are endless!
Even if they don't do cross-compatibility, it would be nice that they did under certain conditions. Nice to keep the Doom online internet gaming strong and alive for many years to come (instead of seeing it die off to these over-rated today's FPS games.
PS: And yes, I figured that if one wishes to host a Odamex, Skulltag, ZDaemon servers, then they must use different ports other than 10666.
-
Though there have been some short lived experiments with having other source ports connect to Odamex servers, nothing concrete or important came out of them.
The core Odamex development team currently has no plans of supporting any other Doom engines in cross-compatible play.
-
What you're asking is flat out impossible, and I'll explain why:
- Half of the gameplay code is glued into the netcode in some way. You'd have to add Decorate, client prediction, a bunch of archaic scripting languages and god knows what else for every client. Or limit them all to vanilla doom2's feature set, at which point you may as well just use odamex.
- There's barely any error recovery in any of the network protocols, so you have to get it right or else.
- Doom ports are full of bugs. More code means more bugs. Proprietary, closed software (i.e. 33% of that list) will have a crapton more bugs on top of that, since the only ones that get fixed are the ones users notice and complain loudly about. They sweep the rest under the rug.
To be compatible with other source ports you'd have to first find all of their game-affecting bugs, even invisible ones, then either get them to fix them all (haha yeah right) or add their bugs to your own code. Which is a completely batshit insane thing to do.
In short: if you want to play odamex against people who have scripting and skyboxes, port those things to odamex. It's a hell of a lot easier.