Zandronum Chat @ irc.zandronum.com
#zandronum
Get the latest version: 3.0
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000130Zandronum[All Projects] Bugpublic2010-10-21 20:582015-06-08 21:52
Reporterkgsws 
Assigned ToTorr Samaho 
PrioritynormalSeveritymajorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version2.0 
Summary0000130: client prediction is sometimes wrong
DescriptionClient prediction is sometimes wrong. In many cases when walking on 3D floors and +SOLID things.
Steps To ReproduceAnything that can push player and can't be predicted, and when player is on solid thing or moving between 3D floors.

Another problem is on join. This demo explains:http://zdoom.ic.cz/predbug.zip [^]
command line for demo> -file zh-beta18.wad zh-beta18-fix2.wad
(zombie horde MOD)
Additional InformationThis wrong prediction does not affect only players. Static thing that can be pushed by weapons. Zombie horde has barrels pushable by weapons and it can sometimes get out of sync.This happens anywhere, not only on 3D floors.
Attached Files? file icon 3dfloor_desync_test.wad [^] (10,281 bytes) 2010-10-23 19:48
? file icon 2010.10.23_21.50.14_3dfloor_desync_test.cld [^] (148,253 bytes) 2010-10-23 19:54
? file icon 2011.05.23_02.31.37_3dfloor_desync_test.cld [^] (55,212 bytes) 2011-05-23 00:34
? file icon player_bridge_desync_test_02.wad [^] (6,204 bytes) 2011-05-23 20:29
? file icon 2011.05.23_22.27.52_player_bridge_desync_test_02.cld [^] (14,383 bytes) 2011-05-23 20:29
zip file icon CrashReport_01.zip [^] (16,866 bytes) 2011-05-23 22:53
? file icon floor_lowerbyvalue_test_01.wad [^] (1,362 bytes) 2011-05-24 01:23
? file icon 2011.05.25_04.04.34_player_bridge_desync_test_02.cld [^] (28,676 bytes) 2011-05-25 02:07

- Relationships
related to 0000051assignedTorr Samaho desynchronization of player momentum when using teleporter or respawning online 
related to 0000106needs testingLeonard Client mispredicts its z position in swimmable water online 
related to 0000055resolvedTorr Samaho misprediction of player position when opening doors and using lifts online 
related to 0000331needs testingLeonard Improved client-side prediction for Sector_SetFriction 
related to 0000270needs testingLeonard Improved pusher prediction 
related to 0000517resolvedTorr Samaho No thrust prediction for Archvile attacks & rocket jumps 
related to 0000817assignedTorr Samaho Thing x/y/z position desync between client/server 

-  Notes
User avatar (0000452)
unknownna (updater)
2010-10-23 19:47
edited on: 2010-10-23 23:09

Indeed, I've noticed this many times as well. Once you're connected and in-game, players standing on 3D floors will be displayed below/inside the floor. It synchronizes properly when said players standing on 3D floors move a direction, or crouch, or you shoot at their true position. Not only does it happen on 3D floors, but also on 3D middle textures as well.

The other issue is very related to this:http://www.skulltag.com/forum/viewtopic.php?f=33&t=26721 [^]

If you're in the "sweet spot" and then shoot the barrels, they'll desync for everyone in-game. You can reconnect to "fix" this. The barrels will then be displayed at their true positions. What happens is that the client mispredicts all the positions, hence the "lag" when bumping into the barrels. Because on your client, you're bumping into a SOLID object, but to the server, nothing is there.

EDIT:

Made an example WAD and a demo to it. You'll see both of the misprediction bugs in the demo. Demo uses 98c.

EDIT2:

Misprediction of your client's z-axis height also occurs when you're shot or bump into other players while standing/running on narrow 3D floors. Your viewpoint will suddenly be above the real floor instead of above the 3D floor.

User avatar (0001219)
Evo (reporter)
2011-03-29 12:27

I was browsing to see if the issue of ones self appearing to be below the floor they standing on the edge of had already been reported. Looks like I found it here! :)

I'd class this annoyance as major, personally.
User avatar (0001746)
Torr Samaho (administrator)
2011-05-23 00:15
edited on: 2011-05-23 00:18

> Made an example WAD and a demo to it. You'll see both of the misprediction bugs in the demo.

Can you make a demo with the latest testing binary?

User avatar (0001747)
unknownna (updater)
2011-05-23 00:40

> Can you make a demo with the latest testing binary?

Done.
User avatar (0001748)
Torr Samaho (administrator)
2011-05-23 00:53

Since I can't post this at the corresponding forum thread and because the problems are possibly related, I'll just post it here:

I think I found out what's causing players to believe that they fell through a bridge thing when running into another actor (tested with player_bridge_desync_test.wad). This seems to fix the issue, but I have no idea if this breaks something else in the prediction.
User avatar (0001749)
unknownna (updater)
2011-05-23 01:32

> This seems to fix the issue

It looks like it fixed the issue. But it will still sometimes mispredict if you barely make a jump from a bridge thing to a solid floor (tested in ZDCTF MAP04). However, I tested this with an emulated ping of 600 ms.

BTW: Why does it start to lag whenever you jump on a bridge thing online?

> but I have no idea if this breaks something else in the prediction.

I noticed something: If I'm jumping when bumping into another player, the jump pattern will desync until I release +jump.
User avatar (0001751)
Torr Samaho (administrator)
2011-05-23 12:18

> But it will still sometimes mispredict if you barely make a jump from a bridge thing to a solid floor (tested in ZDCTF MAP04).

Can you make a demo of this?

> BTW: Why does it start to lag whenever you jump on a bridge thing online?

Probably the prediction doesn't properly realize that the bridge thing should be considered as a floor. This is a wild guess though.

> If I'm jumping when bumping into another player, the jump pattern will desync until I release +jump.

Just to double check: This did not happen in 98d?
User avatar (0001752)
unknownna (updater)
2011-05-23 20:32
edited on: 2011-05-24 01:50

> Just to double check: This did not happen in 98d?

I tested 98d and it also happens there.

> Probably the prediction doesn't properly realize that the bridge thing should be considered as a floor. This is a wild guess though.

We desperately need to fix this, if possible.

> Can you make a demo of this?

Recorded a demo of it with 3259M.

Edit:

I managed to crash 3259M. It happened when I tried to enter a command before the demo started to play. But I don't know how to reproduce the crash.

> but I have no idea if this breaks something else in the prediction.

Moving floors (Floor_LowerByValue/Floor_RaiseByValue/Floor_Waggle) are very laggy now compared to how they are in 98d.

User avatar (0001753)
Torr Samaho (administrator)
2011-05-24 02:19

I found and hopefully fixed two more more problems with jumping on bridges. Looks like jumping on bridges was seriously broken in 98d and probably all earlier versions...

Please test this new binary.

> Lowering floors (Floor_LowerByValue/Floor_Waggle) are very laggy now compared to how they are in 98d.

Hopefully the new binary will also take care of this, this needed an additional adaption and is pretty much untested.

> I managed to crash 3259M. It happened when I tried to enter a command before the demo started to play. But I don't know how to reproduce the crash.

Unfortunately I don't have the debug database of this build anymore, so I can't deduce anything from the crashlog.
User avatar (0001754)
unknownna (updater)
2011-05-24 03:36
edited on: 2011-05-24 07:52

> I found and hopefully fixed two more more problems with jumping on bridges. Looks like jumping on bridges was seriously broken in 98d and probably all earlier versions...

> Please test this new binary.

Excellent. No more lag/misprediction when jumping. It now only starts to lag when (tested with an emulated ping of 603 ms):

* You run into a monster while running/jumping on a bridge thing.
* You run into a player while running and jumping on a bridge thing (not really lag, but you skip a little).
* You're hit by hitscans/missiles while jumping on a bridge thing.

I suppose that this fix applies to all non-moving SOLID things, right?

But your z-height is still mispredicted if you jump after map starts. This is probably a separate issue.

> Hopefully the new binary will also take care of this, this needed an additional adaption and is pretty much untested.

I think it fixed the issues, but it will still start to lag if you jump. But this also happens in 98d.

Edit:

You can easily desync your jumping pattern when respawning.

Steps to reproduce:

1. Start a server with compat_instantrespawn and sv_forcerespawn set to 1.
2. Connect a client to the server with an emulated ping of 603 ms.
3. Join the game.
4. "+jump; kill" in the console.

The same effect can be observed when you run into other players.

User avatar (0001755)
Torr Samaho (administrator)
2011-05-24 12:38

* You run into a monster while running/jumping on a bridge thing.
* You run into a player while running and jumping on a bridge thing (not really lag, but you skip a little).
* You're hit by hitscans/missiles while jumping on a bridge thing.

All of these things should also happen when you are on a solid floor, right? From what I can tell right now, this is because the clients can't properly predict the movements other actors will do in the future.

> I suppose that this fix applies to all non-moving SOLID things, right?

The fixes apply when the player is standing/jumping/moving/landing on another actor, e.g. a bridge thing. It does not solve any problems caused by the fact that the movement of actors can't be predicted by the client.
User avatar (0001757)
unknownna (updater)
2011-05-24 21:16

> All of these things should also happen when you are on a solid floor, right?

Yes, but your z-height is still sometimes mispredicted when you run into a monster.

> From what I can tell right now, this is because the clients can't properly predict the movements other actors will do in the future.

Indeed, and the consequence of this is that your jump pattern will desync.
User avatar (0001758)
Torr Samaho (administrator)
2011-05-25 01:22

> Yes, but your z-height is still sometimes mispredicted when you run into a monster.

But you don't fall through bridges anymore, right?
User avatar (0001759)
unknownna (updater)
2011-05-25 02:10

You can still fall through bridges. I recorded a new demo.
User avatar (0001885)
unknownna (updater)
2011-07-12 18:17

> Zombie horde has barrels pushable by weapons and it can sometimes get out of sync.This happens anywhere, not only on 3D floors.

Did the new demo reveal anything?

* 2011.05.23_02.31.37_3dfloor_desync_test.cld

> But you don't fall through bridges anymore, right?

You can still fall through bridge things when you bump into monsters while jumping.

* 2011.05.25_04.04.34_player_bridge_desync_test_02.cld
User avatar (0001894)
Torr Samaho (administrator)
2011-07-13 00:28
edited on: 2011-07-13 00:33

> 2011.05.23_02.31.37_3dfloor_desync_test.cld

I remember working on this, but I'm not quite sure if I really fixed the problem. Does it still happen in the latest build?

> 2011.05.25_04.04.34_player_bridge_desync_test_02.cld

I somehow overlooked this demo. I will need to look into this more closely.

User avatar (0001897)
unknownna (updater)
2011-07-13 01:11

> Does it still happen in the latest build?

It still happens in 3280M.
User avatar (0012607)
unknownna (updater)
2015-06-08 21:49
edited on: 2015-06-08 21:52

The main issues here are fixed.

Quote from kgsws
Zombie horde has barrels pushable by weapons and it can sometimes get out of sync.This happens anywhere, not only on 3D floors.

0000817: Thing x/y/z position desync between client/server

Quote from unknownna
Yes, but your z-height is still sometimes mispredicted when you run into a monster.

Quote from unknownna
You can still fall through bridges. I recorded a new demo.

I'm unable to reproduce this now, but I'm pretty sure it got fixed when Torr fixed a clipping issue when working on the wall-jitter issue.

Quote from unknownna
You can easily desync your jumping pattern when respawning.

Quote from unknownna
But your z-height is still mispredicted if you jump after map starts. This is probably a separate issue.

It got fixed when we worked on the teleporter/respawn issues.

The +jump issue is an ancient Skulltag issue. I'll create a separate ticket for it once and for all.


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: No one explicitly supports this issue yet.
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2010-10-21 20:58 kgsws New Issue
2010-10-23 19:47 unknownna Note Added: 0000452
2010-10-23 19:48 unknownna File Added: 3dfloor_desync_test.wad
2010-10-23 19:49 unknownna Note Edited: 0000452 View Revisions
2010-10-23 19:54 unknownna File Added: 2010.10.23_21.50.14_3dfloor_desync_test.cld
2010-10-23 19:56 unknownna Note Edited: 0000452 View Revisions
2010-10-23 23:09 unknownna Note Edited: 0000452 View Revisions
2011-03-29 12:27 Evo Note Added: 0001219
2011-05-23 00:15 Torr Samaho Note Added: 0001746
2011-05-23 00:18 Torr Samaho Note Edited: 0001746 View Revisions
2011-05-23 00:34 unknownna File Added: 2011.05.23_02.31.37_3dfloor_desync_test.cld
2011-05-23 00:40 unknownna Note Added: 0001747
2011-05-23 00:53 Torr Samaho Note Added: 0001748
2011-05-23 00:59 Torr Samaho Assigned To => Torr Samaho
2011-05-23 00:59 Torr Samaho Status new => feedback
2011-05-23 01:32 unknownna Note Added: 0001749
2011-05-23 12:18 Torr Samaho Note Added: 0001751
2011-05-23 20:29 unknownna File Added: player_bridge_desync_test_02.wad
2011-05-23 20:29 unknownna File Added: 2011.05.23_22.27.52_player_bridge_desync_test_02.cld
2011-05-23 20:32 unknownna Note Added: 0001752
2011-05-23 22:52 unknownna Note Edited: 0001752 View Revisions
2011-05-23 22:53 unknownna File Added: CrashReport_01.zip
2011-05-24 01:20 unknownna Note Edited: 0001752 View Revisions
2011-05-24 01:23 unknownna File Added: floor_lowerbyvalue_test_01.wad
2011-05-24 01:42 unknownna Note Edited: 0001752 View Revisions
2011-05-24 01:50 unknownna Note Edited: 0001752 View Revisions
2011-05-24 02:19 Torr Samaho Note Added: 0001753
2011-05-24 03:36 unknownna Note Added: 0001754
2011-05-24 03:51 unknownna Note Edited: 0001754 View Revisions
2011-05-24 07:37 unknownna Note Edited: 0001754 View Revisions
2011-05-24 07:52 unknownna Note Edited: 0001754 View Revisions
2011-05-24 12:38 Torr Samaho Note Added: 0001755
2011-05-24 21:16 unknownna Note Added: 0001757
2011-05-25 01:22 Torr Samaho Note Added: 0001758
2011-05-25 02:07 unknownna File Added: 2011.05.25_04.04.34_player_bridge_desync_test_02.cld
2011-05-25 02:10 unknownna Note Added: 0001759
2011-07-12 18:17 unknownna Note Added: 0001885
2011-07-13 00:28 Torr Samaho Note Added: 0001894
2011-07-13 00:33 Torr Samaho Note Edited: 0001894 View Revisions
2011-07-13 01:11 unknownna Note Added: 0001897
2011-07-13 23:56 unknownna Relationship added related to 0000517
2011-07-18 06:35 unknownna Relationship added related to 0000051
2011-07-18 06:36 unknownna Relationship added related to 0000106
2011-07-18 06:36 unknownna Relationship added related to 0000055
2011-07-18 07:50 unknownna Relationship added related to 0000331
2011-07-18 07:51 unknownna Relationship added related to 0000270
2012-04-26 18:45 unknownna Relationship added related to 0000817
2012-06-09 13:22 Torr Samaho Category General => Bug
2015-06-08 21:49 unknownna Note Added: 0012607
2015-06-08 21:50 unknownna Status feedback => resolved
2015-06-08 21:50 unknownna Resolution open => fixed
2015-06-08 21:50 unknownna Fixed in Version => 2.0
2015-06-08 21:52 unknownna Note Edited: 0012607 View Revisions






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker