Bandwidth requirements for online-matches

Discussion in 'Support!' started by arkoftruth, October 1, 2013.

  1. occusoj

    occusoj Active Member

    Messages:
    187
    Likes Received:
    34
    2MBps is a lot, I hope they can reduce it a bit further for average play.

    Lots and lots of regions in my country (straight in central Europe) where its far from fine. They sell you 16 or 30 MBit but in reality it gets you somewhere between 1 and 5. I live in a quite large city and best you can really get is around 4 MBit. Some days at times like 3 o clock in the morning Ive seen 6, but thats rare.
    My second house is in a smaller town and 2 is the very maximum thats stable. A few hundred meters further down the road people are happy about 0.5-1 MBit and internet at all. The town behind that, well, hello 56k. Thats no joke, straight in the middle of Europe towns with dialup are reality.

    Why? Cause no matter how much you pay, unless you dig up the land and place your own fiber, you wont get more. Telekom told me that I wont live long enought to witness them upgrading anything in most of those areas. Im not even 30.

    Please dont forget about the few people that live in countries beeing stuck somewhere in the last millenium and couldnt stop caring about it because they never did in the first place.

    I cant even imagin how it is to get something like 50 Mbit for 200$ or even less.
    So, Id be very happy if one can play medium games with 1 MBit down and 64k up.
  2. cola_colin

    cola_colin Moderator Alumni

    Messages:
    12,074
    Likes Received:
    16,221
    Oh come on, you have 2 houses and both are in areas where the internet is that bad? A good internet connection really should be a consideration when getting a 2nd house at least. :p The future of those dialup towns has to be pretty dark. A good internet connection more and more becomes important to the economy. Only offering dialup probably results in companies leaving for better places. Personally I'd try to move away from there, too
  3. occusoj

    occusoj Active Member

    Messages:
    187
    Likes Received:
    34
    One is directly next a major city where youd expect it to be good. Directly in the city you get real 16 MBit or more next to everywhere. On the other side of its border it just depends on how close you are to the ISPs higher level infrastructure. Some houses next to it really have 16. Few streets further away down to 12, then 8,6,...
    When my parents built here, DSL wasnt even invented ;).
    In times when DSL was the hot new stuff we already had 4 MBit, that was really wickedly fast by then. It just all got stuck in those days whilst time moves on.

    Getting away from the major cities to an environment where I enjoy living in was a bigger one to be honest. Slow inet is one of the downsides, nothing major for me as I gladly dont depend on the net for my everyday life. But dont think I didnt talk to the ISP beforehand, they offered me 16 MBit on both locations.

    Those towns die and rot away. A sad process already going strong for some years.
    Most companies, at least here, went down in the seventies. Theres not much to support or cater for anymore. The few who could afford it layed down their own fiber.


    Oh, and sorry to hijack the thread somewhat, wasnt my main intention.
    Just trying to state that there still are people who aprectiate a low bandwith requirement very much. ;)
  4. UberWilliam

    UberWilliam Uber Alumni

    Messages:
    28
    Likes Received:
    76
    For download, the server caps the amount of data it sends to any one client at 4mb/sec. The bandwidth cap is so high at the moment because we haven't had time to implement all the bandwidth optimizations we have planned. If you are playing late game and you notice that units move smoothly, stop moving for a bit, then jump forward you've bit the bandwidth cap. When it runs out of available bandwidth, it starts round-robining though the moving units sending updates for each in turn. (If you use ChronoCam to go back, it will fill in any missed info. If you go back over the same time span enough, you'll get a completely smooth playback without any additional bandwidth once it has finished filling in the missing info.)

    There is negligible upload. Each command you issue is packed up and sent to the server, but the amount of data involved is trivial.

    We could drop the bandwidth cap, but then people would hit it earlier in the game and whine about it being laggy. Come to think of it, there is no technical reason why we couldn't let clients tell the server how much bandwidth they want. If you have an expensive connection, you could make the choice for low bandwidth and extra lag over extra cash. Hmmm. I'll have to talk to the team about adding such a feature.

    We will be improving our bandwidth usage and then dropping the bandwidth cap accordingly. Things like right now we are sending unit orientations as a quaternion made up of four full 32-bit floats. That is just silly. Sending all four components is unnecessary because they are all unit length, so we could easily reconstruct any one from the other three (plus a sign bit). Also, we don't need full float precision for the three remaining components. Something like 10 bits each for the first three components followed by 1 bit for the sign of the last component. 1/4 the number of bytes, per orientation.

    But that kind of a change is an optimization of a system that is less than ideal, but works. Right now we are focusing more on stability (Hey, people paid to be able to play. I want them to be able to play. Not just look at a blank black screen. What is the fun in that?) and features.

    By the way, some other differences between PA and SC&SC:FA (I wrote the networking code in all three):
    • in PA, each connection is completely independent. If you have a good connection and someone else has a bad connection, their connection won't degrade your experience. In SC&SC:FA, everyone had to handshake with everyone else, so if one player had a bad connection, everyone suffered. Furthermore, one player could grief the other players by unplugging their network cable, waiting a couple seconds, then plugging it back in before the kick timer expired. Go ahead and do that in PA. Nobody else will care. :)
    • in PA, the bandwidth demands are only proportional to the amount of stuff in the game and not the number of players. (Well, indirectly the number of players: more players playing tend to make more units.) In SC&SC:FA there was one message type that was sent O(n^2) times for an n player game. In fact, that one message type dominated the network traffic once n was more than 6 or 7 players.
    • no NAT traversal in PA. Our servers are all sitting behind public IP addresses and never make outbound connections. Each client connects to our server and never to each other. Simplicity. Also, that is exactly what web browsers and web servers do and if that doesn't work the user has bigger problems than not being able to play games. Every SC&SC:FA client had to be able to send packets to every other client. And given the crazy things various routers do in the name of NAT, getting all of them talking to each other can be quite challenging.
    tl;dr: yeah it sucks now. We will be making it better.
    rkfg, whisperr, thetallestone and 5 others like this.
  5. maxpowerz

    maxpowerz Post Master General

    Messages:
    2,208
    Likes Received:
    885
    OMG OMG OMG YES!!

    Me personally i don't care about in game lag as i only play quick AI games to see how games progressing, and mostly fiddle with biome modification and implementation of custom biomes in the system editor.

    slowing my game's unit refresh down when i have 100's and 1000's of units on screen is no issue for me, as long as they get the occasional update and as long as i can build ok, id be ever so happy.
  6. rick104547

    rick104547 Member

    Messages:
    305
    Likes Received:
    17
    Ill be happy to fully utilise my 150mbps connection to play a super epic game without lag muhahahaha.
  7. thepilot

    thepilot Well-Known Member

    Messages:
    744
    Likes Received:
    347
    Hehe, we already solved some of these issues, and we are working on solving the last ones (the redundancy of the data sent).
    But as we don't have access to the code, we have to reverse-engineer the whole thing, and it takes time.

    Would be nice if someone with the knowledge of the protocol could give us a hint ;)

    http://www.faforever.com/forums/viewtopic.php?f=2&t=5429
  8. thesonderval

    thesonderval Member

    Messages:
    68
    Likes Received:
    12
    2 mb/s ? wow. Back in Nz I was lucky to get 700 kb/s
  9. ragarnoy

    ragarnoy Member

    Messages:
    47
    Likes Received:
    27
    Nope, Free, SFR, but you need the Fibre tho
  10. perecil

    perecil Active Member

    Messages:
    108
    Likes Received:
    53
    Yeah try to have this when living 15km away from any big city :D.
  11. UberWilliam

    UberWilliam Uber Alumni

    Messages:
    28
    Likes Received:
    76
    It was something like 7 years ago that I worked on the SupCom networking code (which just got reused in FA without much more work) and I no longer have access to the source, so I'm not sure how much help I can be. Also, I'm kinda busy working on PA at the moment. :)

    But go ahead, ask me your questions. I'll see what I can remember.

    I do remember that that "mask" field was a bitmask of missing packets. In other words, if one packet got dropped but the following packet made it through, the ACK sent back in response would report the serial number of the final packet with a bit set (or clear, can't remember the polarity) indicating that the previous packet was dropped. That way, only that one packet would need to be resent, not it and everything following. (No idea if that was actually useful--never had time to collect any data on packet loss patterns. Had to move on to other stuff...)

    Also, re: the "serial" and "sequence" numbers: one of then incremented either each packet sent even if it was a repeat. The other was the indicator as to where in the sequence of data packets it should show up. I'd guess that "serial" was the one that always increased and "sequence" was the position in the sequence.

    That (plus what you guys have already figured out) should be enough information to understand the transport layer. It is basically a poor-mans TCP. (I probably just should have used TCP, but that is a different story.)

    The byte stream supplied by the data packets was then further broken down into individual messages. It looks like you guys have already figured out most of them. If I remember, each message was a two byte length followed by a payload. I, alas, do not remember any details of the specific messages. Clearly there were messages to queue commands into the sim. And there where messages to indicate tick boundaries. And there were messages to indicate receipt of other clients commands. And there were messages to indicate receipt of other client's receipt of messages. (That last one is where the n^2 comes from.)
    maxpowerz and cwarner7264 like this.
  12. nombringer

    nombringer Member

    Messages:
    42
    Likes Received:
    0
    So basicly it seems I'm not gonna be able to play this game unless my internet is at it's absolute peak performance? And before you ask, yes this is the fastest I can get.

    Fair enough, this is beta after all, but I will be disappointed if there are not net optimisations in the full release.

    Also, seeing as this is semi related, what's the update on the issue where you simply cannot connect to the server in the lobby? I posted before about this and was told it was a known issue. Is this being worked on? Is there anything I can do at my end?
  13. fergie

    fergie Member

    Messages:
    118
    Likes Received:
    19
    2M connection is nothing, I have a 10M and its $15 a month, dirt cheap, yes I have a total bandwidth limit, don't even know what it is, I hit it only during steam sales when I dl a crap ton of games

    but when I do hit it, it just reduces me to 5M connection till the new billing cycle, maybe if at 5M I hit it again imcut off, or reduced to 1M....

    honestly, bandwidth is cheap, this isn't 1998 people
  14. greendiamond

    greendiamond Active Member

    Messages:
    284
    Likes Received:
    32
    i thought i was having networking problems due to my load times taking almost 3 minutes

    apperently that isnt the case with my 20Mb/s speed down and 5 Mb/s up
  15. greendiamond

    greendiamond Active Member

    Messages:
    284
    Likes Received:
    32
    they are talking about outside of u.s. coast lines its dirt cheap here because everyone is so close and there is so much demand.
  16. thepilot

    thepilot Well-Known Member

    Messages:
    744
    Likes Received:
    347
    That is very much appreciated, thanks!
    I think we have anything we need to go forward now.
  17. fergie

    fergie Member

    Messages:
    118
    Likes Received:
    19
    Yup, and people in Hawaii complain about the price of milk, while I can buy a gallon of 2% for $2.19 at Winco....

    You cant be mad at Uber, or anyone else basing their game where 95% of their customer base live.
  18. rick104547

    rick104547 Member

    Messages:
    305
    Likes Received:
    17
    Yep for the vast majority 2mbit download is nothing. Only a handful of ppl live in areas with stone age internet technology. Uber actualy did a really good job here by making the upload practically nonexistent.
  19. UberWilliam

    UberWilliam Uber Alumni

    Messages:
    28
    Likes Received:
    76
    We will be improving the network usage. There are several low hanging fruit we could pluck and there are several more complicated things we could also do. But even so, there are other areas that are hurting much worse and the networking stuff mostly works, so networking improvements have been back-burnered.
  20. jackonorm

    jackonorm New Member

    Messages:
    12
    Likes Received:
    2
    Australian internet is terrible. I live in the second largest city of this country and I'm lucky to get 700kb/s download and 60 kb/s upload. I can currently run the game alright, but will I be able to cope with post-release versions?

Share This Page