Bug Tracker – Bug 597

Random monster desyncs in online coop

Last modified: 2016-10-14 16:24:25 CDT
Bug 597 - (ARRAY(0x6080738)) Random monster desyncs in online coop
(ARRAY(0x6080738))
Random monster desyncs in online coop
Status: NEW
Product: Odamex
Classification: Unclassified
Component: Server & Client
(old) 0.5.0 - 0.5.5
All All
: P2 major
: ARRAY(0x62ed378) (view as bug list)
Depends on:
Blocks: ARRAY(0x580c560) ARRAY(0x63ab3b0) ARRAY(0x63ba1b8)
  Show dependency tree
 
Reported: 2010-07-23 23:16:15 CDT by Spleen
Modified: 2016-10-14 16:24 CDT (History)
3 users (show)

See Also:


Attachments
Demonstrates a monster desync problem (1.53 KB, application/octet-stream)
2010-07-24 04:36:30 CDT, Spleen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Spleen 2010-07-23 23:16:15 CDT
Monsters seem to randomly desync in coop online, even when testing on a LAN and with sufficient rate/sv_maxrate variables set.  For example, cyberdemons will sometimes show their firing sprites while moving around (a state desync, in this case).
Comment 1 Spleen 2010-07-24 04:36:30 CDT
Created ﷒0﷓
Demonstrates a monster desync problem

Host this on a LAN and shoot the cyberdemon with the SSG.  You should eventually see its state desync.
Comment 2 Spleen 2010-07-24 04:38:08 CDT
The attached WAD has a single large room and a single cyberdemon, showing that this sync problem occurs even in simple cases.  Sync problems seem to be monster-pain-related.
Comment 3 Spleen 2010-07-24 05:22:21 CDT
Further testing with the attachment indicates that the rndindex of monsters is predicted very poorly by the client.
Comment 4 Spleen 2010-07-24 05:22:45 CDT
Further testing with the attachment indicates that the rndindex of monsters is predicted very poorly by the client.
Comment 5 Alexander Mayfield 2012-11-07 02:50:59 CST
I have significantly improved monster sync in r3405.  The primary problem was that monsters only got updates from the server every 10 tics, and this sporadic updating also affected monster states, so you ran into weird issues like fireballs firing without the firing animation.

I modified monsters to update every 7 tics (5 times a second), and also made sure that changes in state were transmitted immediately.  The difference is immense, and coop is now very playable.  There is a danger that packetloss might result in anomalies like 'dead' monsters that are still alive to the client, but that is a problem with how Odamex handles packetloss, and will fix itself with Sean's netcode bringup.
Comment 6 Mike Lightner 2012-11-07 03:03:16 CST
*** Bug 710 has been marked as a duplicate of this bug. ***
Comment 7 Danfun64 2016-10-14 15:00:47 CDT
It's been 4 years since there has been any update on this bug. Has there been *any* changes on this front, or is odamex still as prone to monster desyncs as it was in r3405?
Comment 8 HeX_Vulture 2016-10-14 16:24:25 CDT
Not much has changed. Focus is more about getting SDL2 ready for release and fixing crashes. Hopefully when Dr. Sean finishes his netcode re-write there will be positive impact on monster sync as well.