View Issue Details

IDProjectCategoryView StatusLast Update
0003073Spring engineGeneralpublic2012-06-08 21:19
ReporterLicho Assigned Tozerver  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Fixed in Version89.0 
Summary0003073: If you reconnect long running game there is "waiting packet limit reached spam"
DescriptionAnd you cannot control any units.
TagsNo tags attached.
Checked infolog.txt for Errors

Activities

zerver

2012-05-25 21:25

reporter   ~0008702

Licho, firstly I assume you are referring to mid-game join. Reconnect is another thing that occurs if you e.g. change your IP address in the middle of a game.

Do you have a failsafe way of reproducing it? I have indeed seen it once, I think it happened when I mid-game joined as a player. But it rarely, if ever, seems to happen when joining as a spec.

I was suspecting that is was caused by some widget sending data e.g. every game-frame, thus reaching the limit. If you have a way of reproducing it, could you also try it without any widgets enabled?

Thanks!

Licho

2012-05-25 21:29

reporter   ~0008703

Try with any long running ZK game - like a FFA battle. It happens to me always. Sometimes im connected, game runs at normal speed but due to this limit it takes furterh 2-3 minutes of lag until i can actually control units in real time.

This is new to 88.0

Indeed there are widgets that send data - for example cursor positions, current selection and proably other stuff too.

zerver

2012-05-25 21:38

reporter   ~0008704

Thanks, it may still be difficult for me to reproduce due to the fact that I have a fairly slow connection, so I'd still appreciate if you can test whether widgets off resolves the issue. If it does, the widgets simply need to be redesigned to reduce the packet flood during mid-game join.

Licho

2012-05-25 22:06

reporter   ~0008705

Why cant this buffer be removed instead?
We never had any network related issue before.

zerver

2012-05-26 01:21

reporter   ~0008706

You mean remove BW limits altogether?

The dev team made a unanimous decision that BW limit is needed because it is so easy to write a malicious widget that will crash a whole game.

Please note that it is possible to disable BW limits on your servers if you wish.

Licho

2012-05-26 01:56

reporter   ~0008707

Can you tell me what to disable in this case?

zerver

2012-05-26 02:21

reporter   ~0008708

Server config file:

LinkIncomingSustainedBandwidth = 0
LinkIncomingPeakBandwidth = 0
LinkIncomingMaxPacketRate = 0
LinkIncomingMaxWaitingPackets = 0

Licho

2012-05-27 21:20

reporter   ~0008710

Tried that but it still happens. .after you catch up it still shows massive lag, you can have ping 30 minutes even though you are catched up and whole base is flashing.

I also often try to catch up minimized if that makes a difference.

Licho

2012-05-27 21:23

reporter   ~0008711

Last edited: 2012-05-27 21:24

For example in this game, i was fully "synced" to game i could see everything instantly even when i entered chat in lobby ..

but my own commands to game were delayed by 40 minutes...

http://img37.imageshack.us/img37/9516/ss20120527212229.jpg

Whatever i said was 40 minutes out.
Whatever people said I saw instantly..

So whats going on??

(Oh and my ping was increasing faster than game progression, it could go up a minute every second)

abma

2012-05-29 00:26

administrator   ~0008716

Last edited: 2012-05-29 00:28

possible related to 0003076? (and maybe 0003093?)

Licho

2012-05-29 10:05

reporter   ~0008717

Yes it could be related and its certainly new to 88.0
It has never happend to me before.

Licho

2012-05-29 10:54

reporter   ~0008718

Maybe its related to this - catching up when minimized.

http://springrts.com/phpbb/viewtopic.php?f=1&t=28105

Stuff is rendered (he is synced) but his own state isnt sent to server.

Perhaps thats the problem?

zerver

2012-05-29 17:40

reporter   ~0008720

I'm more inclined to think that there is something wrong with the protocol. When you rejoin the server throws a shitload of packets at you in an instant, and then the client has to acknowledge all these packets and at the same time it must send lots of sync responses. Probably something is out of balance so that the sync responses don't get through as fast as they should.

But this still does not explain the ping "jumping" like Licho wrote. The ping should only go down, or increase slowly with the progression of game frames.

Licho

2012-05-29 18:59

reporter   ~0008721

Perhaps it was because i minimized between ping checks?

zerver

2012-06-08 21:19

reporter   ~0008746

https://github.com/spring/spring/commit/dc6084e1cc02c9df678ed4879fc754f334bcbda3

WRT lag after midgame join, I will reopen the issue if the problem persists in the next release.

Issue History

Date Modified Username Field Change
2012-04-27 18:33 Licho New Issue
2012-04-27 18:51 zerver Status new => assigned
2012-04-27 18:51 zerver Assigned To => zerver
2012-05-25 21:25 zerver Note Added: 0008702
2012-05-25 21:25 zerver Status assigned => feedback
2012-05-25 21:29 Licho Note Added: 0008703
2012-05-25 21:38 zerver Note Added: 0008704
2012-05-25 22:06 Licho Note Added: 0008705
2012-05-26 01:21 zerver Note Added: 0008706
2012-05-26 01:56 Licho Note Added: 0008707
2012-05-26 02:21 zerver Note Added: 0008708
2012-05-27 21:20 Licho Note Added: 0008710
2012-05-27 21:23 Licho Note Added: 0008711
2012-05-27 21:24 Licho Note Edited: 0008711
2012-05-29 00:26 abma Note Added: 0008716
2012-05-29 00:28 abma Note Edited: 0008716
2012-05-29 10:05 Licho Note Added: 0008717
2012-05-29 10:54 Licho Note Added: 0008718
2012-05-29 17:40 zerver Note Added: 0008720
2012-05-29 17:40 zerver Status feedback => assigned
2012-05-29 18:59 Licho Note Added: 0008721
2012-06-08 21:19 zerver Note Added: 0008746
2012-06-08 21:19 zerver Status assigned => resolved
2012-06-08 21:19 zerver Fixed in Version => 89.0
2012-06-08 21:19 zerver Resolution open => fixed