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
0001025Zandronum[All Projects] Bugpublic2012-09-10 11:572018-09-30 20:53
Reporterunknownna 
Assigned ToTorr Samaho 
PriorityhighSeveritymajorReproducibilitysometimes
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version1.0 
Target Version1.1Fixed in Version1.1 
Summary0001025: Doors don't respond after pressing +use online
DescriptionI always notice this bug when playing on servers, particularly when playing on regular coop servers (you tend to open more doors in non-competitive modes due to differences in map design). What happens is that you press +use, but the door won't respond or react to it. I've had to press +use 4 times to open a door online.
Steps To Reproduce2012.09.10_13.20.07_kdizd_11pk3.cld
Additional InformationIt seems to happen more often if there are at least 2 clients or more playing on the server. Perhaps this bug is caused by fluctuating latency (ping) between the client and server. I think I managed to record a demo of it. Please have a look at it.
Attached Files? file icon 2012.09.24_08.47.13_doom2.cld [^] (55,950 bytes) 2012-09-24 06:51

- Relationships
related to 0000098closedTorr Samaho backport Doom.exe's player_t::usedown variable from ZDoom r2045 so that respawning players don't activate switches 

-  Notes
User avatar (0004676)
Torr Samaho (administrator)
2012-09-15 19:51

I have observed this problem too (and I suspect it started with some ZDoom updates I made long ago, i.e. before 98a), but without a way to reproduce the problem I can't do anything about it.
User avatar (0004680)
ZzZombo (reporter)
2012-09-16 02:33

What I usually do when I experience the bug is just pressing +USE on a door online. Maybe you need a certain ping (0000064:0000200-300)? But even in such a case sometimes doors open normally, but with a significant delay.
User avatar (0004691)
unknownna (updater)
2012-09-16 10:54

Quote from Torr Samaho
but without a way to reproduce the problem I can't do anything about it.

Could it be related to the +attack desync where the clients, very often, don't know whether you've pressed +attack? I don't need a ping emulator to reproduce the +attack desync.
User avatar (0004692)
Torr Samaho (administrator)
2012-09-16 11:10

If the +attack desync only affects the other clients, then this is most likely not related. Can you post a link to the corresponding tracker ticket?
User avatar (0004700)
unknownna (updater)
2012-09-16 12:15

Quote from Torr Samaho
Can you post a link to the corresponding tracker ticket?

It seems that the issue never had its own ticket. Here's the new ticket.
User avatar (0004737)
Watermelon (developer)
2012-09-21 14:41

This would be a critical bug to fix as it's cost me duel games when the door doesn't open, then I die and the game dynamic changes after that.

I always wondered how this happens. Is it because of a dropped packet? (possibly use RUDP if this is the case?)... or is it faulty interpolation on the server (thinking you're not where you should be and thus triggering nothing)...etc
User avatar (0004771)
Torr Samaho (administrator)
2012-09-23 18:54

I had an idea what could be causing this: If you only hit +use very briefly, so that the client only sends a single packet with "+use" pressed and then either this packet gets lost or the next packet where "+use" is not pressed anymore arrives at the server during the same tic as the one with "+use" (essentially override the "+use" packet) this could cause the issue.

Do doors open reliably if you keep "+use" pressed for a little while (like 0.5 seconds)?
User avatar (0004791)
unknownna (updater)
2012-09-24 06:52

Quote from Torr Samaho
Do doors open reliably if you keep "+use" pressed for a little while (like 0.5 seconds)?

No, it seems that they don't. I noticed this in MAP12 and MAP15. The door at the beginning in MAP15 would never respond. IIRC, I had to press +use 5 times. I was playing with 3-4 other players on a survival server. My ping was fluctuating between 220-250.

One thing I noticed in MAP19 is that whenever a +use attempt fails, the switch-doors will only play the first switch sound, but not display the texture animation or open the door and play the second switch sound. I must say that it happened very frequently.

But I can't seem to reproduce the issues on my own server with an emulated ping of 220-250. But I managed to reproduce the issue on another server and recorded a demo of the switch-door issue. Please have a look at it.
User avatar (0004794)
Torr Samaho (administrator)
2012-09-24 19:13

Quote from unknownna
One thing I noticed in MAP19 is that whenever a +use attempt fails, the switch-doors will only play the first switch sound, but not display the texture animation or open the door and play the second switch sound.
This is an interesting observation. I will look into this in detail, most likely on the weekend.
User avatar (0004835)
Torr Samaho (administrator)
2012-09-28 19:34

The demo sheds some light on what's going on and have an idea how to fix this (if my current theory on what's going on is correct).
User avatar (0004843)
Torr Samaho (administrator)
2012-09-29 17:10

Please test if this fixes the door problem without breaking anything else.
User avatar (0004858)
unknownna (updater)
2012-09-30 07:19

Quote from Torr Samaho
Please test if this fixes the door problem without breaking anything else.

Could you tell us what you fixed in that binary? I did some tests in Doom2, AOW2 and WhoDunIt with the binary and it seemed to work fine. I can't say for sure if it fixed the issue. As I said earlier, I pretty much cannot reproduce the bug on my own servers.
User avatar (0004860)
Torr Samaho (administrator)
2012-09-30 07:38

Quote from unknownna
Could you tell us what you fixed in that binary?

Sure. The problem is not that the server doesn't recognize +use, I could clearly see this from the demo: Whenever you pressed +use, the server told the client to start opening the door, but immediately after this it told the client to stop the door movement. This is what I know for sure from the demo and my theory why this happens is as follows:

When the server gets two client movement commands where +use is pressed in one tic, it starts to open the door when processing the first command and closes the door when processing the second command assuming the client pressed +use again because "oldbuttons" is not updated properly after the first command is processed. What I did to fix this is to update "oldbuttons" after processing a client movement command. This way the server sees that the button was pressed before and doesn't close the door when the second command arrives.
User avatar (0004877)
unknownna (updater)
2012-09-30 11:38

Quote from Torr Samaho
What I did to fix this is to update "oldbuttons" after processing a client movement command. This way the server sees that the button was pressed before and doesn't close the door when the second command arrives.

How many client commands can be squeezed into a single tic? What if the server receives more than 2 client commands where +use is pressed in one tic? Will this fix also handle that?
User avatar (0004900)
Torr Samaho (administrator)
2012-10-01 20:07

Quote from unknownna
How many client commands can be squeezed into a single tic?
In theory there is almost no limit, but in practice I'd say that it's unlikely that more than two arrive during one tic.
Quote from unknownna
What if the server receives more than 2 client commands where +use is pressed in one tic? Will this fix also handle that?
The fix has no problems handling more than two tics.
User avatar (0005188)
Watermelon (developer)
2012-10-24 13:06

I added this to my own build that I use online with people, and I can confirm that it works really well. I haven't seen a single door jam yet or heard about it from anyone. I had euro's playing on the server and they had no problem with their 90-100+ ping.
User avatar (0005197)
unknownna (updater)
2012-10-25 01:32

Torr, shouldn't we also be able to confirm that the fix works by re-backporting the player_t::usedown fix?
User avatar (0005807)
Dusk (developer)
2013-01-21 16:20

'http://zandronum.com/forum/showthread.php?tid=2001#pid24542 [^]'

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

- Issue History
Date Modified Username Field Change
2012-09-10 11:57 unknownna New Issue
2012-09-10 11:57 unknownna Status new => confirmed
2012-09-15 19:51 Torr Samaho Note Added: 0004676
2012-09-16 02:33 ZzZombo Note Added: 0004680
2012-09-16 10:54 unknownna Note Added: 0004691
2012-09-16 10:55 unknownna File Added: screenshot.png
2012-09-16 11:10 Torr Samaho Note Added: 0004692
2012-09-16 12:12 unknownna File Deleted: screenshot.png
2012-09-16 12:15 unknownna Note Added: 0004700
2012-09-21 14:41 Watermelon Note Added: 0004737
2012-09-23 18:54 Torr Samaho Note Added: 0004771
2012-09-24 06:51 unknownna File Added: 2012.09.24_08.47.13_doom2.cld
2012-09-24 06:52 unknownna Note Added: 0004791
2012-09-24 19:13 Torr Samaho Note Added: 0004794
2012-09-28 19:27 Torr Samaho Assigned To => Torr Samaho
2012-09-28 19:27 Torr Samaho Status confirmed => assigned
2012-09-28 19:34 Torr Samaho Note Added: 0004835
2012-09-29 17:10 Torr Samaho Note Added: 0004843
2012-09-29 17:11 Torr Samaho Status assigned => needs testing
2012-09-30 07:19 unknownna Note Added: 0004858
2012-09-30 07:38 Torr Samaho Note Added: 0004860
2012-09-30 11:38 unknownna Note Added: 0004877
2012-10-01 20:07 Torr Samaho Note Added: 0004900
2012-10-24 13:06 Watermelon Note Added: 0005188
2012-10-25 01:32 unknownna Note Added: 0005197
2013-01-09 23:20 Dusk Target Version => 1.1
2013-01-21 16:20 Dusk Relationship added related to 0000098
2013-01-21 16:20 Dusk Note Added: 0005807
2013-01-21 16:20 Dusk Status needs testing => resolved
2013-01-21 16:20 Dusk Fixed in Version => 1.1
2013-01-21 16:20 Dusk Resolution open => fixed
2018-09-30 20:53 Blzut3 Status resolved => closed






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2025 MantisBT Team
Powered by Mantis Bugtracker