views:

98

answers:

3

I want to have groups of 2-4 users playing a game that will require each user send to the others about 10-20 bytes of info every 1-3 seconds. So basically, low bandwidth usage, but low latency required. So I would like to have my own server/cluster of servers to support this communication, e.g. starting with 1000 users simultaneously and with the ability scale up to let's say 20K users simultaneously. There is practically no server-side processing involved, just pure message relaying between users. Each user, every k seconds, sends a message with n bytes to the other 1-3 users in the same room/dungeon. Before beginning to play the users authenticate. Since it's a cluster, there is some sort of load balancing to assign new user groups to servers.

Well, what's the cheapest and easiest way to do this? Is something like this available as commoditized software? Can I download and adapt let's say the server-side system that maintains Mozilla Bespin? (not sure where to find it though, their website isn't making much sense to me)? Is it something easy enough to develop from scratch, and how much would I likely have to pay for this type of work?

A: 

What you're referring to sounds like what is commonly called a "message broker". There are indeed many commodity message broker implementations available, including open-source/free software.

ActiveMQ and Qpid are examples of such open-source options, both from the Apache Software Foundation (the same one as the webserver of that name).

Amber
A: 

Assuming you know how to setup your own servers corenetworks is highly recommended. Dedicated servers starting at $30/month. But if seems like for your situation (only 2-4 players), why not have the players host the game?

aramadia
A: 

Well, with no server side processing you don't need server. After some small autentication server will do the work, the rest of communication can just be a plain IP routing. So clients machines can just talk directly to each other in groups of 2-4.

RocketSurgeon