MantisBT - Zandronum |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0000803 | Zandronum | [All Projects] Suggestion | public | 2012-04-22 18:51 | 2018-09-30 19:51 |
|
Reporter | TIHan | |
Assigned To | TIHan | |
Priority | high | Severity | feature | Reproducibility | have not tried |
Status | closed | Resolution | fixed | |
Platform | | OS | | OS Version | |
Product Version | 1.0-beta | |
Target Version | 1.0 | Fixed in Version | 1.0 | |
|
Summary | 0000803: Reducing Monster Bandwidth Patch |
Description | This 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." |
Steps To Reproduce | |
Additional Information | |
Tags | No tags attached. |
Relationships | related to | 0000757 | new | | Monster Bandwidth Mitigation | related to | 0001268 | new | | Huffman optimization |
|
Attached Files | Screenshot_Doom_20120422_213702_01.png (201,624) 2012-04-22 19:43 https://zandronum.com/tracker/file_download.php?file_id=570&type=bug

|
|
Issue History |
Date Modified | Username | Field | Change |
2012-04-22 18:51 | TIHan | New Issue | |
2012-04-22 18:54 | TIHan | Description Updated | bug_revision_view_page.php?rev_id=1801#r1801 |
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 | bug_revision_view_page.php?bugnote_id=3384#r1803 |
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 | bug_revision_view_page.php?bugnote_id=3386#r1805 |
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 | bug_revision_view_page.php?bugnote_id=3387#r1807 |
2012-04-22 21:22 | unknownna | Note Edited: 0003387 | bug_revision_view_page.php?bugnote_id=3387#r1808 |
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 | bug_revision_view_page.php?bugnote_id=3396#r1810 |
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 |
Notes |
|
(0003384)
|
Torr Samaho
|
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.
|
|
|
|
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. |
|
|
(0003386)
|
TIHan
|
2012-04-22 20:51
(edited on: 2012-04-22 21:04) |
|
|
|
(0003387)
|
unknownna
|
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.
|
|
|
(0003388)
|
TIHan
|
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. |
|
|
(0003390)
|
TIHan
|
2012-04-22 22:28
|
|
|
|
(0003396)
|
TIHan
|
2012-04-23 01:37
|
|
|
|
|
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. |
|
|
(0003403)
|
TIHan
|
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. |
|
|
|
> So everything works exactly the way it did before?
Yes, I think so, but I'm not completely sure about this. |
|
|
|
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. |
|
|
(0003555)
|
TIHan
|
2012-05-02 07:04
|
|
|
|
|
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. |
|
|
|
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. |
|