Jump to content

Bandwidth Requirements


Recommended Posts

I'm just as excited as the next guy for 0.3 to debut, but I haven't heard anything yet on how much bandwidth this mod is going to use.

Naturally after hearing about features like traffic and pedestrian synchronization, I'm left wondering if my 1 Meg link to the outside world can handle 30-some players connected. Are 56K'ers going to be left in the dust?

Secondly, what is lag going to be like with so many players? Resynching is handled differently with every new game I play online, some methods more painful than others.

I only ask because this kind of stuff is what I do for a living and it personally interests me... especially since I'm itching to fire up a dedicated MTA server and run over some of my friends. So how many players can a 1MB connection host? What's the required bandwidth per player?

- TK

Link to comment

a 1Mbit connection (100KB/s up & down) should let you host about 32 players usually, I think.. But lower that to 24 or 16 for best performance. With dedicated servers these days it does matter what kind of CPU you have. Something over 1Ghz would really be necessary if you want to host that many people (16+)

since the netcode was switched to UDP traffic there should be a great improvement in performance connection wise. TCP connections first have to negotiate a connection, send their packets, and close again. UDP just fires the packets away and doesn't care if they reach you or not.. This sounds a little strange, but works MUCH better for games.

All popular games like Quake, Unreal etc all use UDP connections. If you have ever put on the lag-o-meter or netgraph as some games call it you might remember red verticle lines. Those are packets that never made it to your pc.. But you don't even notice it, unless too many packets get dropped. Then the server is just too far away or is being flooded by traffic. And in the worst case it's your firewall or router.

I just wonder if we have to reroute any ports for the game to work.. No other games need it so I'm sure I'll be fine, but you never know.

Link to comment

Since UDP is a connectionless protocol and doesn't require acknowledgements upon sending, it does reduce the amount of overall traffic you need to send, and also you are not limited to the usually small sliding windows in TCP which will freeze if you have packet loss, thus causing you to disconnect.

Which is where my question of the lag/PL issue comes in... how does the netcode currently handle packet loss, and does it resync relatively painlessly? And is the lag compensation handled on the server side or on the client side?

I've seen games do both techniques, and the effects of each method vary to some degree.

For example; when the client-side does lag compensation, hit-scans and movement generally take place on the client machine... so even if you're lagged and you happen to nail someone in the head, you'll get the kill because that's what registered on your system. Even though the other unlagged user might not have seen it that way at all.

Server-side lag compensation allows the client to do certain predicitons, but all important feedback like shooting, killing, etc. must be heard by the server and acknowledged back to the client before it shows up on screen. For a lagged user, it generally tends to seem as if it takes forever for their gun to shoot, and basically makes for a worse experience.

From what I understand, the core network code was written by Rock*, so it might be futile to get technical on this forum..... but it'd be nice to know just for reference.

As for the comment that says 1Mbit per 32 users: I just have to throw in that every game is different. Some developers write code that sends obscene amounts of traffic for multiplayer games, and some developers write very efficient and compact multiplayer protocols that can handle lots of players. These days, with games getting very complex, 1Mbit might only handle 8 players, considering all the different factors brought into multiplayer lately. That's where the synched pedestrians come in... again, I don't want to get too technical, but I'm assuming that only pedestrian information for peds that are on screen and in visible range of another player are synched... and probably by sending some simple vector information whenever they change direction.... not sending a packet for each ped every X number of frames..... that is the only solution to keeping peds in sync that I can think of; maybe the developers can enlighten me sometime. :)

Cheers

Link to comment

A very good point about the pedestrians.. However, similar environments have already existed in other games (Carmageddon).

The most important thing to remember about games is that they need to be able to send lots of small packets very fast. The amount of data that really gets transimitted is about 2 to 3 KB/s only..

I agree I have no idea about what MTA will require, but with 1 Mbit you should be able to setup a nice server :)

Link to comment
1.) 56ker's were left in the dust about 5 years ago (id say when HL came out).

2.) This game probably will use an ass load of bandwidth, but i think the primary limiter is going to be the computer Hosting and the computers runnning the game.

BigJ, I would like to point out that HL has probably the MOST 56K'er friendly netcode i've never seen in a game. I dont like it because it takes a large advantage away from the people who pay for cable and DSL, but none the less, it is the best netcode for 56Kers. 56Kers just started getting left in the dust, with games like BF1942 which, from what i hear, is pretty much unplayable online with 56K. Unless you happen to get a great connection to the server

Link to comment

All the screenshot look wicked bt at the moment i only have a 56k connection :( i've tried to play other games with UDP (Jedi Knight II) but too many packets get dropped.

The best multiplayer game i've played (in user friendly terms) is Deus Ex. Guess it's the fact that it was a MOD bt it's still gettin played so..

Link to comment

Lag is a very interesting thing, and make sure you remember the full force of lag itself. Now yes, it would not suprise me if MTA did not work with a 56k, 56k is old new (old news I still have), but you also get to add in other factors. Lag is not always generated by the thing you are trying to access, like the Host Server for MTA. Just because you're signal is slow doesn't mean its the server, since that signal must past X number of servers to reach its desination. So if you signal must travel past 19 network servers to reach the MTA Host, if a fat lady sits on Server 12 squeezing that path, you lag.

So basically you're best games will be from your own PC of course, and your worse games will be when you try to play that asian team from Japan half way around the world. But I'm sure the MTA guys will make everything wounderful, even if you need broadband (but hopefully not).

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...