Zandronum Chat on our Discord Server Get the latest version: 3.2
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000803Zandronum[All Projects] Suggestionpublic2012-04-22 18:512018-09-30 19:51
ReporterTIHan 
Assigned ToTIHan 
PriorityhighSeverityfeatureReproducibilityhave not tried
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version1.0-beta 
Target Version1.0Fixed in Version1.0 
Summary0000803: Reducing Monster Bandwidth Patch
DescriptionThis patch lets the server tell clients to use their last updated position on actors. This apparently decreases bandwidth usage by a significant amount.
'https://bitbucket.org/TIHan/tst/changeset/ba94e451c3f8 [^]'
I have provided a binary for testing.
'http://www.mediafire.com/download.php?1dczqx6b4iw2kcs [^]'

We need to test to see how monster client prediction works as well as this:
"<@Torr_Samaho> You'll need an example where the monster moves if the [A_Jump] is not made and stays stationary otherwise."
Attached Filespng file icon Screenshot_Doom_20120422_213702_01.png [^] (201,624 bytes) 2012-04-22 19:43

- Relationships
related to 0000757new Monster Bandwidth Mitigation 
related to 0001268new Huffman optimization 

-  Notes
User avatar (0003384)
Torr Samaho (administrator)
2012-04-22 19:26
edited on: 2012-04-22 19:29

Yeah, as discussed on IRC this should work fine. There are a two minor things I see in the code: I wonder if we should only add CM_REUSE_* if the corresponding ( ulBits & CM_* ) check is true since there is no need to sent the position unless ulBits tells us to. And instead of pasting the code in SERVERCOMMANDS_MoveThing and SERVERCOMMANDS_MoveThingExact it would be good to put it into a new function.

Regrading the IRC quote, I think you misunderstood me there. With this kind of example wad you can see that the CM_REUSE_* mechanism is necessary (instead of just not sending the position). So we can add this without such an example.

User avatar (0003385)
unknownna (updater)
2012-04-22 19:42

I noticed something after a changemap map change in Hell Revealed 2. The Baron of Hell and the Shotgun guys start to glitch. It looks like their z position flickers between 2 points.
User avatar (0003386)
TIHan (reporter)
2012-04-22 20:51
edited on: 2012-04-22 21:04

Here is an update.
'https://bitbucket.org/TIHan/tst/changeset/19b73c5378ad [^]'
Binary.
'http://www.mediafire.com/download.php?9b1tgj96s59fqb3 [^]'

Note:
This doesn't fix the flickering. Give me a moment to look into that.

User avatar (0003387)
unknownna (updater)
2012-04-22 21:08
edited on: 2012-04-22 21:22

> This doesn't fix the flickering. Give me a moment to look into that.

I was about to say that. Cacodemons/Pain Elementals and Lost Souls are broken now as well.

User avatar (0003388)
TIHan (reporter)
2012-04-22 21:10

> I was about to say that. Cacodemons are broken now as well.

Confirmed, I'll look into this as well.
User avatar (0003390)
TIHan (reporter)
2012-04-22 22:28

This takes care of our flickering issue.
'https://bitbucket.org/TIHan/tst/changeset/6f9230d041cc [^]'

Still digging into the cacodemons being broke, or any flying monster for that matter. Part of it has to do with the flying monsters being somewhat broken before hand too.
User avatar (0003396)
TIHan (reporter)
2012-04-23 01:37
edited on: 2012-04-23 01:37

Well, I found out the problem. I'm an idiot.
'https://bitbucket.org/TIHan/tst/changeset/706a0e3d4f6d [^]'
Forgot to send info to the clients.........


Binary.
'http://www.mediafire.com/download.php?h91oz8y6a737bg6 [^]'

User avatar (0003399)
unknownna (updater)
2012-04-23 10:49

It seems to work now. Lost Souls are still desyncing like they did before. You can can reproduce this by firing a pistol shot at a charging LS to make it charge backwards. After firing the pistol shot, run up to the LS and touch it. It will then freeze on the client-end until it hits a wall/thing on the server end.
User avatar (0003403)
TIHan (reporter)
2012-04-23 14:26

> Lost Souls are still desyncing like they did before.

So everything works exactly the way it did before? If that's true, then this patch is done.

> After firing the pistol shot, run up to the LS and touch it. It will then freeze on the client-end until it hits a wall/thing on the server end.

Hmm, maybe we could put MF2_THRUACTORS on client-side monsters. That may solve our desyncing issues.
User avatar (0003416)
unknownna (updater)
2012-04-24 08:11

> So everything works exactly the way it did before?

Yes, I think so, but I'm not completely sure about this.
User avatar (0003516)
Torr Samaho (administrator)
2012-05-01 01:43

I started porting this (https://bitbucket.org/Torr_Samaho/skulltag/changeset/2a154eb5f61c) but noticed an issue in p_mobj.cpp: At first glance I'd say that the coordinates ix, iy, iz don't necessarily reflect the position where the actor is actually spawned. Since the server sends the actual position to the clients though this means that lastX/Y/Z can mismatch on client and server.
User avatar (0003555)
TIHan (reporter)
2012-05-02 07:04

Please review this.
'https://bitbucket.org/TIHan/tst/changeset/c1df0b4ba2c1 [^]'
User avatar (0003834)
Torr Samaho (administrator)
2012-06-24 10:23

Patch added, I just slightly simplified the sv_main.cpp part (CM_LAST_X/Y/Z shouldn't be needed for missiles, so this update could be merged with the MOM_X/Y/Z stuff for non-missile actors).

Would be great if this gets thorough testing when the next beta build is released.
User avatar (0004199)
Watermelon (developer)
2012-08-02 13:55

I think confirmed, I tested the bandwidth and noticed a decrease in output with lots of active monsters.

We will find out it's true potential when people play the new version with Zdoomwars though.

Issue Community Support
This issue is already marked as resolved.
If you feel that is not the case, please reopen it and explain why.
Supporters: ZzZombo
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2012-04-22 18:51 TIHan New Issue
2012-04-22 18:54 TIHan Description Updated View Revisions
2012-04-22 18:58 TIHan Assigned To => TIHan
2012-04-22 18:58 TIHan Status new => needs review
2012-04-22 19:26 Torr Samaho Note Added: 0003384
2012-04-22 19:29 Torr Samaho Note Edited: 0003384 View Revisions
2012-04-22 19:42 unknownna Note Added: 0003385
2012-04-22 19:43 unknownna File Added: Screenshot_Doom_20120422_213702_01.png
2012-04-22 20:51 TIHan Note Added: 0003386
2012-04-22 21:04 TIHan Note Edited: 0003386 View Revisions
2012-04-22 21:08 unknownna Note Added: 0003387
2012-04-22 21:10 TIHan Note Added: 0003388
2012-04-22 21:19 unknownna Note Edited: 0003387 View Revisions
2012-04-22 21:22 unknownna Note Edited: 0003387 View Revisions
2012-04-22 22:28 TIHan Note Added: 0003390
2012-04-23 01:37 TIHan Note Added: 0003396
2012-04-23 01:37 TIHan Note Edited: 0003396 View Revisions
2012-04-23 10:49 unknownna Note Added: 0003399
2012-04-23 14:26 TIHan Note Added: 0003403
2012-04-24 08:11 unknownna Note Added: 0003416
2012-04-29 02:33 TIHan Relationship added related to 0000757
2012-05-01 01:43 Torr Samaho Note Added: 0003516
2012-05-01 01:44 Torr Samaho Status needs review => feedback
2012-05-02 07:04 TIHan Note Added: 0003555
2012-05-02 07:04 TIHan Status feedback => assigned
2012-05-02 07:04 TIHan Status assigned => needs review
2012-06-24 10:23 Torr Samaho Note Added: 0003834
2012-06-24 10:23 Torr Samaho Status needs review => needs testing
2012-08-02 13:55 Watermelon Note Added: 0004199
2012-08-02 19:13 Torr Samaho Status needs testing => resolved
2012-08-02 19:13 Torr Samaho Fixed in Version => 1.0
2012-08-02 19:13 Torr Samaho Resolution open => fixed
2014-06-13 18:05 Watermelon Relationship added related to 0001268
2018-09-30 19:51 Blzut3 Status resolved => closed






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2025 MantisBT Team
Powered by Mantis Bugtracker