Question about network gaming in ZDoom
Forum rules

-
- Posts: 32
- Joined: Tue Sep 30, 2003 7:38 pm
Question about network gaming in ZDoom
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?
-
-
- Posts: 10773
- Joined: Sun Jul 20, 2003 12:15 pm
-
- Posts: 2033
- Joined: Sat Jul 19, 2003 6:15 am
- Operating System Version (Optional): Tumbleweed x64
- Graphics Processor: Intel with Vulkan/Metal Support
- Location: Central Germany
-
- Posts: 32
- Joined: Tue Sep 30, 2003 7:38 pm
-
- Posts: 1061
- Joined: Wed Jul 16, 2003 5:29 pm
- Location: Monrovia, CA, USA
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).
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).
-
- Posts: 10002
- Joined: Fri Jul 18, 2003 6:18 pm
- Location: Idaho Falls, ID
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.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).
-
-
- Posts: 10773
- Joined: Sun Jul 20, 2003 12:15 pm
No, the netcode has been improved a little in 47i, too, but is a little better in 47j, AFAIK.HotWax wrote: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.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).
-
- Posts: 1061
- Joined: Wed Jul 16, 2003 5:29 pm
- Location: Monrovia, CA, USA
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).
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.
-
- Posts: 2958
- Joined: Thu Jul 17, 2003 12:07 am
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
-
- Posts: 1061
- Joined: Wed Jul 16, 2003 5:29 pm
- Location: Monrovia, CA, USA
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).
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).
-
- Posts: 2033
- Joined: Sat Jul 19, 2003 6:15 am
- Operating System Version (Optional): Tumbleweed x64
- Graphics Processor: Intel with Vulkan/Metal Support
- Location: Central Germany