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
0001448Zandronum[All Projects] Bugpublic2013-08-07 08:362015-07-15 02:17
ReporterAlienOverlord 
Assigned To 
PrioritynormalSeveritymajorReproducibilityrandom
StatusconfirmedResolutionopen 
PlatformMicrosoftOSWindowsOS VersionXP/Vista/7
Product Version1.1.1 
Target VersionFixed in Version 
Summary0001448: Clients randomly go semi-disconnected
DescriptionSince 1.1.1 some new disconnection type emerged; sometimes, clients get "connection interrupted" and are unable to chat/move while still being able to read chat or see other players doing stuff in realtime.
Also at least once while playing I noticed another weird thing — all players had lag medal above them, couldn't chat BUT WERE STILL ABLE TO MOVE. Demo attached.
Attached Fileszip file icon 2013.08.04_17.26.39_dbzone_v7rmk_k.zip [^] (1,721,020 bytes) 2013-08-07 08:36
zip file icon 2013.08.01_18.16.47_duel32cpk3.zandrospree1b64pk3.zip [^] (1,765,876 bytes) 2013-08-07 08:41

- Relationships
has duplicate 0002349new "Connection interrupted!" message with everyone else still moving 

-  Notes
User avatar (0006920)
AlienOverlord (reporter)
2013-08-07 08:42

Also the second demo (duel32c.pk3 one) demonstrates one-sided disconnect. demo_skiptonextmap until gwar20.
User avatar (0006923)
Konar6 (reporter)
2013-08-07 14:32

The former occurrence is not new - it was observed before on 98d. It might be a connection problem since it happens rarely.
User avatar (0006924)
Watermelon (developer)
2013-08-07 16:00

I've noticed this event happening much more on 1.1.1. I personally have not run into this issue before 1.1.1 but it's happened at least 3 times with the latest release.

I cannot say it is due to anything in 1.1.1, but it's either bad luck for me that it happened so frequently in such a short amount of time since the release, or there possibly may be something going on.



I believe this is caused when the CLC_CLIENTMOVE is not sent. Could be caused by more than that.
User avatar (0006937)
ZzZombo (reporter)
2013-08-08 07:02

Happened to me several times back in days of 98d. Usually I get a massive lag and then it ends my client still think it is lagging even though you are clearly should be able to play normally. Even better, at those moments my ping could be shown as a negative number in scoreboard due to integer overflow I suppose, my best record was about -30000, but I hardly can timeout when that's happening, it can take more than 3 mins of just observing the game until I timeout.
User avatar (0006987)
Torr Samaho (administrator)
2013-08-11 06:19
edited on: 2013-08-11 07:06

Quote from AlienOverlord
sometimes, clients get "connection interrupted" and are unable to chat/move while still being able to read chat or see other players doing stuff in realtime.
I'd say this is exactly what is expected to happen when a client can receive data from the server, but can't send data to the server. Are you sure that there was no connection problem when this happened?

User avatar (0009316)
Watermelon (developer)
2014-06-14 17:37

This is an annoying thing that happens where the client's buffer somehow is locked down, but can still receive. It happens to a lot of people, so I'm assuming this is not just a persons connection getting weird.

I'm worried something causes the buffer to just not read. Interestingly, it locks up for around 30 seconds every time. It's happened to me and countless others.
User avatar (0009352)
Catastrophe (reporter)
2014-06-14 23:53

Can confirm, happens to me irregularly.
User avatar (0011587)
Leonard (developer)
2015-02-01 21:26
edited on: 2015-02-01 21:29

This rarely happens to me but I did notice it.
I also noticed that while it happened to me, I could still talk normally.

While this should happen if you are unable to communicate with the server like Torr said, this can also happen if your last gametic on the server is just one second behind.
This might just be what happens in the demo, I can't really check now.

There are two ways to achieve this that I know of:
-The client is recovering from a lag spike and the server is sending out its movement buffer which can hold much more than just a second.
-The client simply have a ping greater than 1000 ms.

It's very simple to recreate the bug described here: just emulate a ping of 1000 ms and your client will freeze you yet you'll still be able to talk and as such communicate with the server.

I think as long as the client receives an SVC_MOVELOCALPLAYER packet, we can safely assume that it's able to communicate with the server.
If the client really is recovering from a lag spike then the server will have to empty its movement buffer and will proceed what the client is currently sending in a very short moment (remember, this can take more than a second) and if the client is indeed unable to communicate with the server then surely it should have nothing to empty from its movement buffer.

There is also the fact that the client's prediction buffer can hold up to 2 seconds (70 tics) yet if it has to predict more than just one second, the player will be frozen since the client now thinks it's lagging.
Pretty useless uh?

So in short, what I think should be done here is to keep track of the last instance of SVC_MOVELOCALPLAYER instead of using your last gametic on the server to tell the client's lagging status in client_MoveLocalPlayer.
This could be a part of, if not the solution to our problem.

User avatar (0011598)
ibm5155 (reporter)
2015-02-03 19:53
edited on: 2015-02-04 00:17

Indeed this happened to me too.
But, it happens on a weird way.
 Hardly ever, when I die, I get a "connection interrupted" message, I cant move, but I can see the chat and the rest of the game normaly moving, the message will only get out when the next map is started, or I reconnect (I don't remember if spectating help this, but it should since you'll enter on a clientside zone).

Also it's fun to note on mods like bagel horde, where when you are a bagel and fire, you just spawn a pop sprite over you, when you get the connection interrupted you cant see your camera moving, but if you spam the meele attack and start moving, you clearly can see the pop sprite that should be on the top of the map moving around without you Rofl, and when the lag or problem stop, I can see myself "teleported" to the latest spot where I saw that popup sprite

░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ EDIT ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░
I didn't recored the demo that I wanted but, I found another one that does he same thing...
Demo Download link:'http://www.mediafire.com/download/lml1lth77689k1f/Zandronum_30.11.2014_18.50.44.zip [^]'
Download Wads links:http://grandvoid.sickedwick.net/wads//


Wads required:
Doom2.wad, Skulltag_Actors_1-1-1.pk3, Skulltag_Data126.pk3, zh-beta27.pk3, zh-beta27-fix3.wad, zh-b27-bagel-r3v4c.pk3, zh-mappack10.pk3, zh-testpack_r22.pk3, connectsound.wad, newtextcolorurs1_170.pk3

Port required:Zandronum 1.3

Where does it happen?
demo_skiptonextmap 7 times (you'll stop on ze07)
Note that many times I got a ping equal or higher than 1000, and even with the connection interrupted message I could move the bagel, look that I got that honk messages moving and the fire on my "bagel" body moving too...

Also there was a who dun it recording (idk if I did it or not) but I didn't found it (this one would show the connection interrupted when I die in one case and would only get out when the next map started...).

I didn't found a proper link for some wads (I think they got removed from the server...) so I'm uploading they here (the files are zh-b27-bagel-r3v4c.pk3, connectsound.wad and newtextcolorurs1_170.pk3)

Download here :http://www.mediafire.com/download/6roatzbttfr6jgj/extra+wads.zip

User avatar (0011604)
Leonard (developer)
2015-02-07 13:30
edited on: 2015-02-07 13:45

As I expected what I said on my earlier post is precisely what happens in IBM's demo.
I made a binary that would only keep track of SVC_MOVELOCALPLAYER instances and this fixed the problem in the demo but it required one more thing to work properly when actually reproducing the problem in real time with a 1000ms ping: the server needs to stop uselessly sending velocity and position information if a player is lagging. I think this optimisation should have been here since the beginning; if the server didn't have to proceed any movement command then it shouldn't send a player's velocity and position, the clients should assume that this player isn't moving (and lagging) on their own.
Doing said things on a testing binary worked fine for me.

EDIT: Note that by letting clients freeze lagging players on their own, the jittering problem caused by a big enough momentum is totally fixed.


Issue Community Support
Only registered users can voice their support. Click here to register, or here to log in.
Supporters: ZzZombo Chronos Ouroboros Combinebobnt
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2013-08-07 08:36 AlienOverlord New Issue
2013-08-07 08:36 AlienOverlord File Added: 2013.08.04_17.26.39_dbzone_v7rmk_k.zip
2013-08-07 08:41 AlienOverlord File Added: 2013.08.01_18.16.47_duel32cpk3.zandrospree1b64pk3.zip
2013-08-07 08:42 AlienOverlord Note Added: 0006920
2013-08-07 14:32 Konar6 Note Added: 0006923
2013-08-07 16:00 Watermelon Note Added: 0006924
2013-08-08 07:02 ZzZombo Note Added: 0006937
2013-08-11 06:19 Torr Samaho Note Added: 0006987
2013-08-11 07:06 Torr Samaho Note Edited: 0006987
2013-08-11 07:06 Torr Samaho Note Edited: 0006987 View Revisions
2013-08-11 07:06 Torr Samaho Note Revision Dropped: 6987: 0003932
2013-08-11 07:06 Torr Samaho Note Revision Dropped: 6987: 0003933
2014-06-14 17:37 Watermelon Note Added: 0009316
2014-06-14 17:37 Watermelon Status new => confirmed
2014-06-14 23:53 Catastrophe Note Added: 0009352
2015-02-01 21:26 Leonard Note Added: 0011587
2015-02-01 21:29 Leonard Note Edited: 0011587 View Revisions
2015-02-03 19:53 ibm5155 Note Added: 0011598
2015-02-04 00:17 ibm5155 Note Edited: 0011598 View Revisions
2015-02-07 13:30 Leonard Note Added: 0011604
2015-02-07 13:39 Leonard Note Edited: 0011604 View Revisions
2015-02-07 13:45 Leonard Note Edited: 0011604 View Revisions
2015-07-15 02:17 unknownna Relationship added has duplicate 0002349






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2025 MantisBT Team
Powered by Mantis Bugtracker