Actual use of proxy architectures

Started by
6 comments, last by Scuppy 17 years, 6 months ago
Can anyone give me the title of any game that has actually used a proxy network architecture for multiplayer gameplay, wether it be an MMO or normal multiplayer? There has been a lot of reasearch in this area but I can't find where any games have actually used proxies either to distribute the gamestate or just to reduce latency.
Advertisement
Could you be more specific about what you mean by proxy network architecture?
I am not 100% sure but you should look into Online FPS, like battlefield.
BattleField, CounterStrike, and their friends, are all client-server systems, where the "server" is provided by one of the peers, and access is mediated through a matchmaker. I fail to see how that could be called a "proxy network architecture."
enum Bool { True, False, FileNotFound };
I'm intrigued. Surely games are not suited to proxy architecture. A HTTP proxy for instance sends and recieves HTTP information on behalf of its clients. This can improve security, auditing, allows for locally cached pages etc. I cant see how doing this for a game will help. Am I living in the dark ages?

EDIT: Unless its for providing a DNS prescence, or maybe to overcome NAT traversal?
Quote:Original post by Scuppy
I'm intrigued. Surely games are not suited to proxy architecture. A HTTP proxy for instance sends and recieves HTTP information on behalf of its clients. This can improve security, auditing, allows for locally cached pages etc. I cant see how doing this for a game will help. Am I living in the dark ages?


There are a lot of possible advantages to a proxy based server architecture. It is not used for the same reasons as an HTTP proxy. One might use a proxy server for a game in order to reduce the latency between a client on the east coast and a server based on the west coast. The proxy server would obviously need to have a lower ping to the client than the main server for this to be beneficial. Also, the proxy would need to have a faster route to the other server/proxies than a client would have. Another advantage is the reduction in bandwidth that multiplexing multiple client updates into one channel can reduce the bandwidth going to the main server (since clients tend to send small packets where the header is a large percentage of the data).

There are a lot of different definitions of "proxy" architectures, all have their advantages and disadvantages. Some have actually been implemented in academic publications but I haven't been able to find any examples in any industry games. It would never be seen in any small scale games like CS or Battlefield but I wonder if an MMOFPS like Planetside or Necron is using some variation.
A number of MMO architecture middleware claim to use a "gateway" or "proxy" to do communication with the client, while running separate "servers" on the inside of those gateways. In fact, with the right definition of "proxy" then any servers using DNAT would be a "proxy architecture," and DNAT isn't all that uncommon.

In general, though, you're unlikely to get a much better ping time between east and west coast using your own servers, than you'd get by just having the client connect directly to the other end. That pesky speed of light thing is the main limitation, for the Internet backbone on a sunny day.

I also don't understand why you'd go so far as calling something a "proxy architecture" -- I can stretch to the point of "an architecture using proxies," but proxying would be such a small part of the whole deal that it really shouldn't be first in the name...
enum Bool { True, False, FileNotFound };
So you mean a distributed network, or a faster route than the internet backbone?

This topic is closed to new replies.

Advertisement