Question about network gaming in ZDoom

Talk about multiplayer ZDoom games here.
Forum rules
Image
The Doomer
Posts: 32
Joined: Tue Sep 30, 2003 7:38 pm

Question about network gaming in ZDoom

Post by The Doomer »

Hello. I heard from someone that ZDoom can only handle 2 players in multiplayer games. Is there any chance that Randy will implement support for more players in a future release?
User avatar
Xaser
 
 
Posts: 10771
Joined: Sun Jul 20, 2003 12:15 pm

Post by Xaser »

Heh. Whoever told you that was either lying or didn't have a clue. Zdoom actally supports 8 (!) players, although its netcode isn't exactly perfect, so I think Zdaemon is your best bet.
User avatar
Hirogen2
Posts: 2033
Joined: Sat Jul 19, 2003 6:15 am
Graphics Processor: Intel with Vulkan/Metal Support
Location: Central Germany

Post by Hirogen2 »

[]franky ad] Rott supported /s 11, Legacy 32.
The Doomer
Posts: 32
Joined: Tue Sep 30, 2003 7:38 pm

Post by The Doomer »

Yeah. But ZDaemon doesn't have all the cool level features that ZDoom has. Suppose more than two people want to play a map like Torment and Torture 2 multiplayer?
User avatar
Biff
Posts: 1061
Joined: Wed Jul 16, 2003 5:29 pm
Location: Monrovia, CA, USA

Post by Biff »

Make sure that there are enough player starts, not deathmatch starts, but player1, player2, player3, etc. If the author didn't put enough starts, you can do so yourself with any wad editor.

Next, I hope your three or more people are on a LAN, or have broadband internet connections, otherwise the game will probably run slowly.

One player will host, for three players, with the command zdoom -file tnt2.wad -host 3
and the clients will join with the command zdoom -file tnt2.wad -join (ip address of host).

You can also use -skill, +dmflags and -dup command line arguments. -dup 2 or -dup 3 will help to speed up the game if one or more players have a slower internet connection.

If you are really going to try this, you had better pick up the zdoom 47i executable, to be used with the other files in 47.cab because it will have fewer consistency failures and also better networking performance (if you use the +netmode 1 argument on the host).
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

Biff wrote:If you are really going to try this, you had better pick up the zdoom 47i executable, to be used with the other files in 47.cab because it will have fewer consistency failures and also better networking performance (if you use the +netmode 1 argument on the host).
IIRC, the only difference between 47 and 47i is the framerate increase. The netcode was improved in 47j, which very few people have, and AFAIK it's still being worked on for 48.
User avatar
Xaser
 
 
Posts: 10771
Joined: Sun Jul 20, 2003 12:15 pm

Post by Xaser »

HotWax wrote:
Biff wrote:If you are really going to try this, you had better pick up the zdoom 47i executable, to be used with the other files in 47.cab because it will have fewer consistency failures and also better networking performance (if you use the +netmode 1 argument on the host).
IIRC, the only difference between 47 and 47i is the framerate increase. The netcode was improved in 47j, which very few people have, and AFAIK it's still being worked on for 48.
No, the netcode has been improved a little in 47i, too, but is a little better in 47j, AFAIK.
User avatar
Biff
Posts: 1061
Joined: Wed Jul 16, 2003 5:29 pm
Location: Monrovia, CA, USA

Post by Biff »

No, you are both wrong. The netcode was improved in several ways in 47a through 47i. Specifically, the added command -netmode 1 switches zdoom from peer-to-peer networking, in which each machine talks to every other machine, to host-centric networking where each client communicates only with the host (through the host to the other players, if I understand correctly). Also, initial game negotiation is similarly effected; now, a host on a LAN, behind a router, can serve a client on the internet and also on the LAN, where the internet machine cannot "see" the other client on the LAN.

Also with 47i, there is unlimited framerate as most know. You might not know that the use of -dup with 47i does not cut the framerate down as it did with prior versions. We used to have a fixed 35 fps and -dup2 would cause the game to run at 17.5 fps. No longer.

The other significant change is that Randy studied debug files from network games and determined a number of things which were causing consistency failures. He fixed a number of things in the progression from 47a through 47i.

When I heard about 47j, I asked if anyone would share it, a fair request since it's thanks to me that all of you have 47i. Randy replied that there were no further network improvements in 47j, that it was some graphics tweak IIRC, so I did not ask again because I was focused on helping debug the network problems.

(Edit - sorry about my above comment yesterday, it's Randy's work, he used our bug reports and allowed me to pass 47a - 47i around for multiplayer tests. Most people probably would have thought "I'll just keep this for me and my special gaming friends, if Randy wants it passed out, he'll do it." I was bothered to see some frustrated posts where people were wasting hours trying to deal with consistency failures and figured that if Randy had fixed most of it, why not let "loyal" zdoom players have the benefit? Also, some were asking to try the uncapped framerate. So I let 47i the rest of the way out of the bag.)

Anyhow, back on topic, I forgot to mention that Randy has also tried out some "player prediction" code in the 47i series, in hopes of further smoothing out multiplayer gameplay. You can toggle it with the cl_noprediction variable. It's false by default (which means prediction is on).
Last edited by Biff on Fri Oct 03, 2003 11:51 am, edited 2 times in total.
User avatar
Chris
Posts: 2899
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Post by Chris »

-netmode 1 switches zdoom from peer-to-peer networking, in which each machine talks to every other machine, to host-centric networking where each client communicates only with the host
That sounds like a client-server model to me..
User avatar
Biff
Posts: 1061
Joined: Wed Jul 16, 2003 5:29 pm
Location: Monrovia, CA, USA

Post by Biff »

It does sound like that, but it is not, Randy has explained. True client-server has the game fully running on a server and the clients have a lesser role. Zdoom requires that the game be running intact and synchronized on all computers, as it always has. One of the weaknesses of the standard peer-to-peer networking configuration is that, with each machine talking to each other machine, the number of network packets involved with the game increases exponentially with the increased number of players. Randy's alternate networking mode overcomes that and only increases the number of network packets linearly with the increased number of players.

The fact that zdoom is not "truly" client-server is reflected in the ongoing consistency failure issue. Alhough much improved, there are still cases where zdoom 47i exhibits this behavior. Vanilla doom2 wads, coop or deathmatch, are very solid now, including those with dehacked modifications. Some zdoom advanced features, combined with adding bots to a multiplayer game, have still caused consistency failures. Randy probably has too much of a backlog of work right now to handle any more demos or debug files, so I haven't sent him those latest observations (I did make the offer).
User avatar
Hirogen2
Posts: 2033
Joined: Sat Jul 19, 2003 6:15 am
Graphics Processor: Intel with Vulkan/Metal Support
Location: Central Germany

Post by Hirogen2 »

Besides the C/S and P/2/P methods, what about a S/C (like Cube has) or even Multicast (<- which then again is only useful within {virtual} LANs and/or subnets?

Return to “Networking”