Testing network game - Any recommendatio

I wanted to test how my game will perform over various networks, e.g. how it would be affected by limited bandwidth, latency etc.

I was wondering how other people have approached this problem, and whether there are any tools it is recommended I use or any articles I should read.

Any pointers appreciated.

Luke

There are every expensive hardwar network simualtors, but the cheapest alternative is a 56K modem and a dial-up line :slight_smile: Create real-world conditions and test with them :slight_smile:

If you’ve got two CPUs and a high internet bandwidth, you can install a proxy on the main computer and limite the bandwidth usage of the second computer…
That’s a simple idea, but it works well… You just have to find a proxy application which can limite bandwidth :slight_smile:

Chman

It is not simple to create such emulator even if you have extra computer and can control packet flow. Latency is rather simple, but packet loss is not - 1% packet loss does not mean every 100 packet out there is not delivered, it can mean for example that once per 10.000 packets, 100 packets in row will be lost. I have large packet loss on my connection and can tell you that it is often clustered - bunches of packets get lost, followed by few seconds of perfect connectivity - which often turns out to be deadly in FPS games. It is hard to just sit and create realistic loss pattern without first checking it for many types of connection in real world.

As for the solution - I have done it once using proxy. Find a server on other side of ocean with open echo port you can use (be sure to get permission of admin first). This way you can send packets from your local computer and receive it, while suffering from double lag of the line - which should be good enough.

[quote]It is not simple to create such emulator even if you have extra computer and can control packet flow. Latency is rather simple, but packet loss is not - 1% packet loss does not mean every 100 packet out there is not delivered, it can mean for example that once per 10.000 packets, 100 packets in row will be lost.
[/quote]
Not simple, but certainly a “solved” problem; there are plent of commercial traffic shapers, but I’m pretty sure there’s quite a few free ones too (bearing in mind that linux has quite a lot of low-level features for supporting this these days, I’d be surprised not to see some).

Unfortunately, I’ve never done traffic shaping myself, and thigns are too hectic here for me to root around and find someone with recent experience to share; I would suggest you have a look at the “Server Dev tools” section on http://grexengine.com/sections/people/adam/gpg4/index.html - there’s a link somewhere there to a big page with hundreds of network dev tools, like sniffers and load-testers; I would guess that would be a good starting point for finding traffic shapers (although it may not have any listed - I can’t remember precisely what tools are on there).