View topic - please increase packet limit



All times are UTC + 1 hour


Post new topic Reply to topic  [ 43 posts ]  Go to page 1, 2, 3  Next
Author Message
PostPosted: 11 Mar 2012, 22:04 

Joined: 20 Oct 2009, 12:04
Could you please adjust packet limit?
like: currentLimit = currentLimit * 1.5;

I got "Waiting packet limit was reached" errors on FFA games (at the end) and can't give orders to units.

Also all people get this error when playing vs AI. And AI(E323AI 3.25.0) stopping to build units when messages appears. AI builds units and atacks a lot and then he did nothing like a zombie.

I see this thread ofc, but editting config is not what players really want. Especially newbies that want to train playing vs AI: viewtopic.php?f=11&t=27284


Top
 Offline Profile  
 
PostPosted: 11 Mar 2012, 22:41 
Evolution RTS Developer
User avatar

Joined: 17 Nov 2005, 02:43
Location: Raegquitting Spring on 04/24/12
Dude, can you not read? The AI is spamming a gazillion commands a second. It's an AI issue. Allowing that to go on without dropping them would cause your cpu to die in agony.

Use properly maintained AIs.


Top
 Offline Profile  
 
PostPosted: 11 Mar 2012, 23:30 

Joined: 20 Oct 2009, 12:04
Forboding Angel, you should read better too)))

I propose just to increase limit a little.

I have this bug on FFA too without any AI.


Top
 Offline Profile  
 
PostPosted: 12 Mar 2012, 00:20 
Moderator

Joined: 05 Aug 2009, 19:42
to me it's just silly that there's the limit for single player games


Top
 Offline Profile  
 
PostPosted: 12 Mar 2012, 02:01 

Joined: 20 Oct 2009, 12:04
gajop wrote:
to me it's just silly that there's the limit for single player games


Agree. If singleplayer game with bot was started via springlobby - packet limit messaged are already waiting for you behind the scenes :-D


Top
 Offline Profile  
 
PostPosted: 12 Mar 2012, 06:56 
Evolution RTS Developer
User avatar

Joined: 17 Nov 2005, 02:43
Location: Raegquitting Spring on 04/24/12
Ok, let me put it another way. Do you like getting 30+ fps or do you prefer getting 1fps?

A "little" won't do any good. You are not keeping in mind the sheer assload of commands that AIs send every frame (32 game frames happen every second (wait, that's every half second) - 64 gameframes per second)!


Top
 Offline Profile  
 
PostPosted: 12 Mar 2012, 08:17 

Joined: 20 Oct 2009, 12:04
So it's better to see zombie-bot in the middle of the game? And when only 2-3 people left in FFA it's better to loose because you can't give orders to units?


Top
 Offline Profile  
 
PostPosted: 12 Mar 2012, 08:49 
Spring Developer
User avatar

Joined: 22 Sep 2007, 08:51
The solution is, for AIs to restrict themselfs internally.
If we turn off that limit for singleplayer... have a guess how AI devs are testing their creations. ;-)
So the real problem is, that none of hte native AIs (except Shard) is actively maintained. You are free to take over that task for any of them!
tell me which one you are most interested in, and we can make it a git submodule if it is not yet one, and you are free to go. i would be very happy to see that! :-)
if you are unsure, we can also make all of them git submodules, and you can start doing small stuff for all of them, and decide later which one to work on more, or keep going on on all of them.


Top
 Offline Profile  
 
PostPosted: 12 Mar 2012, 10:15 
Moderator

Joined: 05 Aug 2009, 19:42
Forboding Angel wrote:
Ok, let me put it another way. Do you like getting 30+ fps or do you prefer getting 1fps?

A "little" won't do any good. You are not keeping in mind the sheer assload of commands that AIs send every frame (32 game frames happen every second (wait, that's every half second) - 64 gameframes per second)!

Not a FPS thing. It causes a lot of bandwidth and makes your replay files bigger, that's it. The same applies to widget->gadget communication. Correct me if wrong, but if you were to encapsulate a multiple messages into a single bigger one, it would stop causing the problem?

Unless the AI is doing calculations on a remote PC, I don't think it will ever be the case that sending commands is more CPU expensive than planning & scheduling them.
hoijui wrote:
If we turn off that limit for singleplayer... have a guess how AI devs are testing their creations.

Yep, my AI was spamming those messages quite a lot. But there are cases when it's a valid reason, for me those are:
1) Testing an early prototype of an AI, mostly meant to be played 1v1. I've actually had my spamming AI play against someone over a network (with me spectating), and there were no obvious problems (perhaps a large bandwidth usage for the host).
2) Working on this scenario/mission editor. That will most definitely be used in "singleplayer" mode most of the time. I simply don't care much to optimize that (yet I must). An example of the limit being hit is when I drag multiple units with a mouse and simultaneously update their position, lots of updates going.

If we could, I'd have the default limited, and allow the user (host) to set a different (or no) limit himself, consciously (meaning they'll hopefully be aware of the problem).


Top
 Offline Profile  
 
PostPosted: 12 Mar 2012, 12:54 
Spring Developer
User avatar

Joined: 22 Sep 2007, 08:51
gajop, giving a move command casues all PCs that run the simulation to do expensive pathing calculations. in general this is much more expensive hten the AI planning the move (which also happened on a single machine only).
we did not invent this limit out of the blue. it is actually very reasonable, and born out of real experience of actual games beeing played, not few test games or theoretical thoughs or whatever.
It is not about the network bandwidth, but about the CPU load the commands in those messages cause in the simulation.

1) That is a special case, so handling that specially and the normal case by default is the right way to go (and it is what is the case now)

allowing the user or host to change the limit manually is not a good solution, as that will be used too often and eliminate the intended benefit of the limit (all AI devs would use it all the time, and tell AI players to use it too).

if players manage to reach the limit without any AI being present, and without buggy widgets that could be improved to not cause it, then the limit has to be increased, else not


Top
 Offline Profile  
 
PostPosted: 12 Mar 2012, 13:02 

Joined: 13 Aug 2007, 12:19
jamerlan wrote:
Could you please adjust packet limit?
like: currentLimit = currentLimit * 1.5;

I got "Waiting packet limit was reached" errors on FFA games (at the end) and can't give orders to units.


Top
 Offline Profile  
 
PostPosted: 12 Mar 2012, 15:30 

Joined: 20 Oct 2009, 12:04
Maybe I use some "bad" widgets. But I have no idea: which widgets are bad.


Top
 Offline Profile  
 
PostPosted: 12 Mar 2012, 19:00 
Kernel Panic Co-Developer
User avatar

Joined: 16 Nov 2004, 13:08
gajop wrote:
Correct me if wrong, but if you were to encapsulate a multiple messages into a single bigger one, it would stop causing the problem?
I don't think so. I had a widget that caused me to reach the packet limit thing. I decreased the message size without changing the message frequency, and then the problem was gone.


Top
 Offline Profile  
 
PostPosted: 14 Mar 2012, 16:43 
Spring Developer

Joined: 16 Dec 2006, 20:59
There are two limits. One for packets/second and one for bytes/second. If either limit is exceeded packets may be dropped. The system allows the limits to be temporarily exceeded by a fairly large amount though.


Top
 Offline Profile  
 
PostPosted: 14 Mar 2012, 22:02 
Lua Coder

Joined: 12 Jul 2009, 17:57
Players are right. There was no problem with bandwidth nor CPU lags when thousand units got issued a custom formation command.

There were even some very evil Lua picture drawing widgets which draw thousand lines in a half second. The unoptimized GL line drawing lagged many times more than the bandwidth lag or creating those lines.


Top
 Offline Profile  
 
PostPosted: 15 Mar 2012, 05:41 
Spring Developer
User avatar

Joined: 28 Jun 2007, 06:30
Engine devs know more than you.
Also these limits don't just limit the bytes per second, they also limit the packets per second, so the cmds per second and so indirectly the cpu workload per second.


Top
 Offline Profile  
 
PostPosted: 15 Mar 2012, 16:13 
Spring Developer

Joined: 16 Dec 2006, 20:59
The reason for these limits is that a malicious widget otherwise could perform something similar to a DDoS attack, which would essentially make the whole game unplayable.

No matter how we set these limits, someone will complain that they are too low. So please try to live with it and adapt your code. 64 packets per second is plenty.

Besides, you are free to configure these limits as you like, but then you also need to host the game...


Top
 Offline Profile  
 
PostPosted: 15 Mar 2012, 16:22 
Spring Developer
User avatar

Joined: 28 Jun 2007, 06:30
zerver wrote:
No matter how we set these limits, someone will complain that they are too low. So please try to live with it and adapt your code. 64 packets per second is plenty.
64 aren't plenty ... ways too low to give 50 flashes multiple move cmds via custom formations ... esp. cause these limits don't delay the cmds instead they drop them ...


Top
 Offline Profile  
 
PostPosted: 15 Mar 2012, 16:47 

Joined: 20 Oct 2009, 12:04
zerver wrote:
Besides, you are free to configure these limits as you like, but then you also need to host the game...


Currently if we start singleplayer game with AI (E323AI) - it will become zombie after about 10 - 15 minutes with dropped packets. So this bug should be created for springlobby?


Top
 Offline Profile  
 
PostPosted: 15 Mar 2012, 21:21 
Spring Developer
User avatar

Joined: 22 Sep 2007, 08:51
E323AI should be modified.
as i alreayd said elsewhere, it is currently unmaintianed (like all native AIs except Shard, and KAIK is.. half maintained by Kloot). so .. if you want to fix E323AI, just fork the repo on github, and start coding!
as soon as it shows any improvements, tell us, and it can be put in main E323AI repo, or if you want to go on developping it, we can link to your repo on github instead, and thus make that the official one.


Top
 Offline Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 43 posts ]  Go to page 1, 2, 3  Next

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group

Site layout created by Roflcopter et al.