Bug Tracker – Bug 32

make coop work

Last modified: 2011-06-25 02:46:48 UTC
Bug 32 - make coop work
Summary: make coop work
Status: RESOLVED FIXED
Alias: None
Product: Odamex
Classification: Unclassified
Component: Server & Client (show other bugs)
Version: (old) 0.0.1
Hardware: All All
: P1 normal
Assignee: Denis Lukianov
URL:
: 290 294 295 297 (view as bug list)
Depends on: 293 597 174
Blocks: 424 122 620
  Show dependency tree
 
Reported: 2005-10-06 07:57 UTC by Denis Lukianov
Modified: 2011-06-25 02:46 UTC (History)
5 users (show)

See Also:

Attachments

Add an attachment (proposed patch, testcase, etc.)

Note You need to log in before you can comment on or make changes to this bug.
Description Denis Lukianov 2005-10-06 07:57:52 UTC
 
Comment 1 Denis Lukianov 2005-10-12 05:09:56 UTC
Made some progress with monster states and missiles.
Comment 2 Denis Lukianov 2005-10-13 07:48:32 UTC
Removed client-side monster ghosts.
Comment 3 Mike Lightner 2006-02-02 22:16:13 UTC
Bug accepted.  Awaiting further comments and info...
Comment 4 Dean Joseph 2006-03-11 20:20:53 UTC
I believe it's safe to say that coop is progressing really nicely. As of r1070, there do not appear to be any major problems (hell, even the Icon of Sin works! eat that ZDaemon) apart from pain states not working, but I haven't done thorough testing at this time in regards to exiting ExM8, MAP07, MAP30, MAP32.

However, I notice that "deathmatch 0" does not appear to make any sort of effect whatsoever on client and/or server. Although the code is there to tell players to spawn at coop starts and to replace frags in the status bar with arms if deathmatch is disabled, it simply does not do it. Does it require adding it into the command line or something?
Comment 5 Dean Joseph 2006-03-11 21:06:06 UTC
Ok, done some further testing. Anomalies I've noted:

* Monsters "face" east, but are actually facing the correct angle server-side. If a monster sees a player while "facing" east, they will "move" and "attack", but nothing actually happens
* Mancubus fireballs are totally screwed... that's probably due to their fireball angle code
* Revenant fireballs are not "homing" client-side, but I think I've noticed the actual homing fireball appear from nowhere
* Archviles do not resurrect dead monsters
* E1M8 exit is desynced (this deserves a new bug entirely as it's not coop related, but noteworthy regardless)
* When the client destroys the Icon of Sin, it disconnects from the server with an error. However, the server is not affected in any way (A_BrainExplode in p_enemy.cpp might be worth looking in to)
* Pain sound is not played (related to pain states not being functional)
* Lost Souls created by Pain Elementals can conflict with the player's x/y position, causing the player to be stuck (and a very weird visual effect involving z position). Normally, Lost Souls should be not made if something solid is blocking the location of the spawn

In regards to the "deathmatch 0" problem, I've discovered that it only spawns the players at DM starts at the start of the level. When they respawn, they appear at their proper coop starts. However, it's also causing a desync with the amount of ammo weapons give. The client believes it is receiving 20 shells for a shotgun in skill 4 (example), but the server only gives it 8 shells. The server is correct in this case.
Comment 6 Denis Lukianov 2006-03-12 17:08:26 UTC
Thanks for your feedback! E1M8 exit was fixed as part of bug 153
Comment 7 Denis Lukianov 2006-03-12 17:16:24 UTC
> * Lost Souls created by Pain Elementals can conflict with the player's x/y
> position, causing the player to be stuck (and a very weird visual effect
> involving z position). Normally, Lost Souls should be not made if something
> solid is blocking the location of the spawn

I've noticed that the player can get stuck by pushing into other monsters too. Get a chaingun on map01, then run into the plasma lift. Then open the secret and run+shoot at the 3 imps inside. Sometimes you accelerate through the 3rd imp and get stuck in the switch!

> In regards to the "deathmatch 0" problem, I've discovered that it only spawns
> the players at DM starts at the start of the level. When they respawn, they
> appear at their proper coop starts. However, it's also causing a desync with
> the amount of ammo weapons give. The client believes it is receiving 20 shells
> for a shotgun in skill 4 (example), but the server only gives it 8 shells. The
> server is correct in this case.

Odd, I get 40 shells
Comment 8 Denis Lukianov 2006-03-12 17:19:02 UTC
(In reply to comment #7)
> Odd, I get 40 shells

Actually, 18 on server and 40 on client, I think..
Comment 9 Dean Joseph 2006-03-12 17:35:33 UTC
(In reply to comment #8)
> (In reply to comment #7)
> > Odd, I get 40 shells
> 
> Actually, 18 on server and 40 on client, I think..
> 

16 shells (8*2), but this calls for a new bug report in regards to skill level and ammo.
Comment 10 Mike Lightner 2006-03-12 19:01:41 UTC
Even when deathmatch is 0 the server tells the master it's DM.  Probably a default and perhaps should be a gametype coop = 1.
Comment 11 Denis Lukianov 2006-03-12 19:28:42 UTC
(In reply to comment #10)
> Even when deathmatch is 0 the server tells the master it's DM.  Probably a
> default and perhaps should be a gametype coop = 1.

No, this is masterside. Master always outputs the letters "DM".
Comment 12 Mike Lightner 2006-03-12 19:29:22 UTC
ok well never mind then!
Comment 13 Denis Lukianov 2006-03-12 19:33:36 UTC
(In reply to comment #5)
> In regards to the "deathmatch 0" problem, I've discovered that it only spawns
> the players at DM starts at the start of the level. When they respawn, they
> appear at their proper coop starts.

Fixed in r1090
Comment 14 Denis Lukianov 2006-03-12 23:16:24 UTC
(In reply to comment #5)
> * Archviles do not resurrect dead monsters

Because corpses are removed too early!
Comment 15 Denis Lukianov 2006-03-18 12:01:17 UTC
Please re-test all of the above problems in rev 1125+.
Comment 16 Tom J. 2006-03-19 19:51:34 UTC
some observations:

- monsters are fast with 'set fastmonsters 0'
- no multiplayer weapons in coop (should be the same weapons and items as in DM)
- after reconnecting zombies appear
- after reconnecting to Doom2 IWAD Map02, the pillar which was opened before is visible closed now, but one can go through it
- doors can close, still they can appear to be open
- after reconnecting to a running server monsters spawn where they were cleared before
- dropped SG don't give ammo
- new level starts with pistol only
- monster corpses float up in Doom2 Map07
- pain elementals don't pump out lost sould .. yet they seem to try to
- lost sould sometimes vanish .. then appear out of nowhere
- lost sould sometimes don't do damage
Comment 17 Tom J. 2006-03-19 20:08:10 UTC
not bugs .. but things nice to have:

- option to keep keys when dead
- option to start with SG instead of just the pistol
Comment 18 Denis Lukianov 2006-03-19 20:58:29 UTC
(In reply to comment #16)

> - monsters are fast with 'set fastmonsters 0'
because nightmare was on

> - no multiplayer weapons in coop (should be the same weapons and items as in
> DM)

> - after reconnecting zombies appear
bug

> - after reconnecting to Doom2 IWAD Map02, the pillar which was opened before is
> visible closed now, but one can go through it
bug

> - doors can close, still they can appear to be open
bug, where? which door?

> - after reconnecting to a running server monsters spawn where they were cleared
> before
is this the zombie bug?

> - dropped SG don't give ammo
weaponstay 0/1 ?

> - new level starts with pistol only
because clients disconnect and reconnect for every map

> - monster corpses float up in Doom2 Map07
will check it out, details?

> - pain elementals don't pump out lost sould .. yet they seem to try to
there is a lost soul limit. i will raise it.

> - lost sould sometimes vanish .. then appear out of nowhere
> - lost sould sometimes don't do damage
generic monster desync bugs
Comment 19 Denis Lukianov 2006-03-19 21:03:05 UTC
> > - no multiplayer weapons in coop (should be the same weapons and items as in
> > DM)
not sure about this. comments?
Comment 20 Denis Lukianov 2006-03-19 21:17:15 UTC
(In reply to comment #19)
> > > - no multiplayer weapons in coop (should be the same weapons and items as in
> > > DM)
> not sure about this. comments?
yeah, a bug, confirmed by Russell
Comment 21 Denis Lukianov 2006-03-19 21:27:32 UTC
> > - pain elementals don't pump out lost sould .. yet they seem to try to
> there is a lost soul limit. i will raise it.
there's a limit of 20 lost souls. this was in the original doom code.
Comment 22 Tom J. 2006-03-20 08:17:21 UTC
Reply to #18:

> > - doors can close, still they can appear to be open
> bug, where? which door?

Doom2 Map01, in the cellar where one needs to jump down. The door near the blue key.

> > - after reconnecting to a running server monsters spawn where they were cleared
> > before
> is this the zombie bug?

No, these monsters were moving and firing. The zombies do nothing.
 
> > - dropped SG don't give ammo
> weaponstay 0/1 ?

No, what i meant is the SGs dropped by sergeants

> > - new level starts with pistol only
> because clients disconnect and reconnect for every map

This bahaviour needs to be changed.
 
> > - monster corpses float up in Doom2 Map07
> will check it out, details?

I don't have any more details on this other than i've seen the sprited go up and get stuck at the top level of the map
 
> > - pain elementals don't pump out lost sould .. yet they seem to try to
> there is a lost soul limit. i will raise it.

Should the Pain Elemental still do the animation as if it would pump out Lost Souls ?
Comment 23 Tom J. 2006-03-20 13:15:53 UTC
(In reply to comment #22)
> Reply to #18:
> 
> > > - doors can close, still they can appear to be open
> > bug, where? which door?
> 
> Doom2 Map01, in the cellar where one needs to jump down. The door near the blue
> key.

well, this obviously was a typo .. it's in Map02.
Comment 24 Dean Joseph 2006-03-26 18:35:23 UTC
(In reply to comment #18)
> > - pain elementals don't pump out lost sould .. yet they seem to try to
> there is a lost soul limit. i will raise it.
> 
That limit is doom2.exe behaviour. Pain Elementals can only spawn Lost Souls if there is less than twenty on the map.
Comment 25 Tom J. 2006-03-27 16:06:51 UTC
r1229:

bugs still there:
- no multiplayer weapons

- weapons still not carried over to the next level

- monsters still seem to be fast in UV (skill 4 was set in cfg, according to denis it's 1-5 now, 4 being UV).

- shotguns dropped by sergeants still not being collected

bugs now discovered:
- zombie monsters spawned in weird places (for instance d2m1 'zombie' Zombie behind right pillar at start). They move and shoot but dont hurt the player. Also, the player can not hurt them. When the player goes away and comes back they can be gone. Also, the player can walk through them after a little resistance. Sometimes many monster zombies get spawned in one place which makes them get stuck together, unable to move (for instance d2m2 and d2m4 at the start).

- monsters move jerky, jitter

- monsters are being generated visibly after the player sees the place where the monsters appear. That means, the player sees an empty room for a split-second and then the monster just appears. Example: d2m3 at start, when the player gets the blue armor, the door across the room opens with monsters in it. Right now, the player gets the armor, which opens the door. The room behind the door is empty for a short ammount of time, then the monster pop up there.

- pistol sometimes is too powerful, it kills 2 zombies with one shoot or one imp with one shoot. This leads to the assumption that it's really the SG firing (pistol can not hurt 2 monsters because of only one bullet). Experienced this in  d2m2 and d2m3, not after reconnect).

- monsters sometimes dont do damage at first shoots (d2m3 a chaingunner shoot me for some seconds, nothing happened, then, suddenly, he ripped me apart)

- moving objects break. d2m4, there are long windows with up and down mowing parts, these things did not move up and down after a reconnect, they were down and just had some jitter to them.

- imps shoot fireballs without doing the shooting animation (d2m1)
Comment 26 Denis Lukianov 2006-03-28 21:15:27 UTC
r1242:

(In reply to comment #25)
> bugs still there:
> - no multiplayer weapons
fixed

> - weapons still not carried over to the next level
fixed

> - monsters still seem to be fast in UV (skill 4 was set in cfg, according to
> denis it's 1-5 now, 4 being UV).
unable to reproduce

> - shotguns dropped by sergeants still not being collected
fixed

> bugs now discovered:
> - zombie monsters spawned in weird places (for instance d2m1 'zombie' Zombie
> behind right pillar at start). They move and shoot but dont hurt the player.
> Also, the player can not hurt them. When the player goes away and comes back
> they can be gone. Also, the player can walk through them after a little
> resistance. Sometimes many monster zombies get spawned in one place which makes
> them get stuck together, unable to move (for instance d2m2 and d2m4 at the
> start).
unable to reproduce

> - monsters move jerky, jitter
bug due to random generators, client/server desync, etc

> - monsters are being generated visibly after the player sees the place where
> the monsters appear. That means, the player sees an empty room for a
> split-second and then the monster just appears. Example: d2m3 at start, when
> the player gets the blue armor, the door across the room opens with monsters in
> it. Right now, the player gets the armor, which opens the door. The room behind
> the door is empty for a short ammount of time, then the monster pop up there.
bug due to wallhack protection

> - pistol sometimes is too powerful, it kills 2 zombies with one shoot or one
> imp with one shoot. This leads to the assumption that it's really the SG firing
> (pistol can not hurt 2 monsters because of only one bullet). Experienced this
> in  d2m2 and d2m3, not after reconnect).
bug 169

> - monsters sometimes dont do damage at first shoots (d2m3 a chaingunner shoot
> me for some seconds, nothing happened, then, suddenly, he ripped me apart)
bug due to random generators, client/server desync, etc

> - moving objects break. d2m4, there are long windows with up and down mowing
> parts, these things did not move up and down after a reconnect, they were down
> and just had some jitter to them.
bug (though not a coop bug)

> - imps shoot fireballs without doing the shooting animation (d2m1)
bug due to random generators, client/server desync, etc
Comment 27 Tom J. 2006-03-29 16:10:56 UTC
- When the player grabs the SSG (without having the SG), the weapon # '3' is not being highlighted in the status bar.
Comment 28 Denis Lukianov 2006-03-30 08:47:55 UTC
(In reply to comment #27)
> - When the player grabs the SSG (without having the SG), the weapon # '3' is
> not being highlighted in the status bar.

This is doom2 behaviour
Comment 29 Tom J. 2006-03-30 12:50:47 UTC
(In reply to comment #28)
> (In reply to comment #27)
> > - When the player grabs the SSG (without having the SG), the weapon # '3' is
> > not being highlighted in the status bar.
> 
> This is doom2 behaviour
> 
ya, true.

two other:

- when a player advances one level he has always 100 % health and 0 % armor. It should be the same ammount as it was when he exited the level before.

- after d2m7 there is an intermission screen telling the story, i'd like to see this back.
Comment 30 Tom J. 2006-03-30 13:07:33 UTC
> - after d2m7 there is an intermission screen telling the story, i'd like to see
> this back.
> 
.. actually, it's _before_ map07.
Comment 31 Denis Lukianov 2006-04-03 08:00:11 UTC
(In reply to comment #30)
> > - after d2m7 there is an intermission screen telling the story, i'd like to see
> > this back.
> > 
> .. actually, it's _before_ map07.
> 

refer to bug 103
Comment 32 Denis Lukianov 2006-04-07 07:13:36 UTC
> (In reply to comment #18)
> > - no multiplayer weapons in coop (should be the same weapons and items as in
> > DM)
fixed
 
> > - new level starts with pistol only
> because clients disconnect and reconnect for every map
fixed

> > - monster corpses float up in Doom2 Map07
> will check it out, details?
cannot reproduce
Comment 33 Denis Lukianov 2006-04-13 09:26:11 UTC
(In reply to comment #18)
> (In reply to comment #16)
> > - after reconnecting zombies appear
> bug
fixed r1363
Comment 34 Denis Lukianov 2006-09-26 14:40:27 UTC
r1950 made a lot of changes to the way monsters work, please test!

(In reply to comment #17)
> not bugs .. but things nice to have:
> 
> - option to keep keys when dead
> - option to start with SG instead of just the pistol

Any comment, anyone else want to see this done?
Comment 35 Dean Joseph 2006-10-01 21:27:46 UTC
From bug 225:
<Ralphis> 9) Coop breaks with 4+ Players

Server says this when five players are connected:
<deathz0r> [18:45:11] ERROR: szp pointer was NULL

Appropiate resolution? Take note that Vanilla Doom only supports four players.
Comment 36 Mike Lightner 2006-10-03 10:56:26 UTC
r1713 increases rate of monster update and also sends correct angle.  Monsters should not desync anymore.
Comment 37 Denis Lukianov 2006-10-06 06:50:45 UTC
(In reply to comment #35)
> From bug 225:
> <Ralphis> 9) Coop breaks with 4+ Players
> 
> Server says this when five players are connected:
> <deathz0r> [18:45:11] ERROR: szp pointer was NULL
> 
> Appropiate resolution? Take note that Vanilla Doom only supports four players.

Should be fixed now, except r1716+ every next connecting player seems to spawn at the same place, teleporting the one already there.

Comment 38 Denis Lukianov 2006-10-06 06:52:38 UTC
(In reply to comment #36)
> r1713 increases rate of monster update and also sends correct angle.  Monsters
> should not desync anymore.

While good as a quick patch, this is not a good fix. Increasing rate of updates increases chances of buffer overflow, this is not acceptible.
Comment 39 Ralph Vickers 2007-01-19 20:57:02 UTC
Found a new bug relating to this entry. Coop secret exits do not send you to the secret map, only to the next map.

Ex. In e1m3 the secret exit was used. Instead of sending players to e1m9 it sent them to e1m4.
Comment 40 Siggi 2007-01-20 22:30:20 UTC
I've noticed on rare occasions Archviles will resurrect invisible monsters.
I assume that the monster is revived on the server side, but for whatever reason it doesn't on the client side.

The result is the player getting hurt for apparently no reason, or projectiles appearing without a visible source. The monster will only appear if it's killed, in which case you'll see it's death sequence played.

I noticed it on Plutonia map32.
Comment 41 Dean Joseph 2007-01-22 16:34:52 UTC
*** Bug 290 has been marked as a duplicate of this bug. ***
Comment 42 Dean Joseph 2007-01-22 16:37:25 UTC
*** Bug 294 has been marked as a duplicate of this bug. ***
Comment 43 Dean Joseph 2007-01-22 16:39:12 UTC
*** Bug 295 has been marked as a duplicate of this bug. ***
Comment 44 Dean Joseph 2007-01-22 16:46:08 UTC
*** Bug 297 has been marked as a duplicate of this bug. ***
Comment 45 Alexander Mayfield 2007-03-31 20:49:33 UTC
(In reply to comment #40)
> I've noticed on rare occasions Archviles will resurrect invisible monsters.
> I assume that the monster is revived on the server side, but for whatever
> reason it doesn't on the client side.
> 
> The result is the player getting hurt for apparently no reason, or projectiles
> appearing without a visible source. The monster will only appear if it's
> killed, in which case you'll see it's death sequence played.
> 
> I noticed it on Plutonia map32.
> 

Probably a general monster desync bug.  I've noticed that monsters still occationally in r177, especailly lost souls (but I had it happen to an imp at the begining of the map).  Also, monsters occationally aren't pointing at you when they attack you, probably another desync bug.
Comment 46 Albert Brown 2007-05-28 22:02:42 UTC
For a really long time now, soul behavior has been strange.  The soul behaves differently on the client and server.  Damage can not be given to the client ghost, only to the invisible server instance.  The client's instance is killed when the server's instance is.

On the whole, the rest of the monsters, though jerky, stay synced.
Comment 47 Albert Brown 2007-06-17 22:48:06 UTC
Revision 286 marks the birth of the spectator branch (/branches/spectator).  We should keep an eye on how this effects coop, and AI in general.  I can say with a moderately high level of confidence that at this point (Revision 287), Monsters will respond to a spectating player clientside.  Other client side bugs also exist, but that goes outside the scope of this bug.
Comment 48 Albert Brown 2007-06-18 08:34:40 UTC
(In reply to comment #47)
> I can say with
> a moderately high level of confidence that at this point (Revision 287),
> Monsters will respond to a spectating player clientside.

They don't.
Comment 49 Mike Lightner 2011-06-25 02:46:48 UTC
Coop works pretty awesomely at this point, but not perfect.  If there are specific bugs (like bug 293 etc) they should be reported in that way.