Room Server Multiplayer Idea

Started by
4 comments, last by Prozak 22 years, 4 months ago
Hi all, I just had this crazy idea, and though i would share it here. We all (those that coded multiplayer stuff anyway) would like to have static IPs and servers in our homes, so that we could code the games, and actually have the servers to run them, but that is expensive... I thought about this, and what is the major drag about multiplayer games? Finding opponent players, right? Unless you know your opponent''s IP address, you''ll never play the game. So, I thought about a service, provided by someone with a static IP address, I call it the Room Server. You basicly hard-encode (or put it in a file) the IP address of the room server. You send them a mail, and pay them for a register service (lets say 10 bucks per month per app/game...). Their program, on their server, is allways running, and what does it do? Well, when you run your game, you connect first to the room server, and request a list of servers or hosts currently online and their IPs. Their program maintains the following structure: App Name App Code You send you app code to them (you got it when you registered the 10 bucks), and request a list, they return: Number of servers running your game/app = 34 Server 1 name Server 1 IP Server 2 Name Server 2 IP Server 3 na... Now, when your game runs in server mode, your game sends the following information to them: Game Code Your IP When a Client connects to them, it receives a list of servers, somewhat the stuff you see when you run Quake 3 or RTCW... Its the client''s code''s responsability to create the ping and information structure (how many players on each server, type of game, blablalblabalbala) I think this would be a good idea, cause those guys do not need to run your code, they just need to maintain a basic structure online and accessible... I think this is a good idea, and wonder if it is not already being practiced somewhere... Ok, waiting your replies, Season''s Greetings,

[Hugo Ferreira][Positronic Dreams][]

Advertisement
Try:
http://www.gamespyarcade.com/

- and Blizzard''s Battle.Net is somewhat like that too, just that it is limited to only Blizzard''s games (for now).
Why not just, whenever your game server starts up, it encodes it''s IP/port into a HTML page, uploads that to your webserver (anyone who''s serious about this can afford their own webspace/domain name. Even if you can''t, you could always use a free webserver...). Then the client downloads that webpage, decodes the IP/port and away you go! You don''t have to pay anyone any extra (since you''d be using the webspace for your game anyway).

codeka.com - Just click it.
An idea I have been playing with, which is an attempt to solve this problem as well, is a totally decentralised system.

Basically, each computer has a list of ip addresses on it. This list is constantly changing. Basically, whenever a computer comes online, it sends out a message to all the ip addresses on the list which says that it is online. Those computers relay the message to the computers on their list. This could continue, I suppose it depends on how much network traffic is around. Also important to note is that none of those messages have to be sent instantly, which helps.

Once the computer has connected other computers might also add it to their lists, or whatever. IPs on the list which have not worked recently are discarded.

What I hope would follow would be a system where groups could spring up quite easily. If someone wanted, they could leave a static IP computer online and eventually, everyone would have that IP on their list so it would be like a normal server. If no one has one, then a small network might form. If no one on the list is online (or they have all changed IP) then the person is stuck, and I guess you have to resort to traditional methods.

What do you think of it? (And how do other decentralised systems work, I''ve heard that gnutella is decentralised, so how does it do that?)

Trying is the first step towards failure.
Trying is the first step towards failure.
Lets do away with html encoding and third-party room-finding programs, i don''t want this thread to go that way...

If the program was free, then I think every newbie programmer
would be using it, that is my point, and the ease of use
would be astounding...

Maybe I''ll contact GameSpy network and see their reaction on the subject...

Of course there would be a basic framework that would prevent
against attacks and trying to bring down the system, which
could be obtained by registering your server to the their program several hundred times...

[Hugo Ferreira][Positronic Dreams][]

This topic is closed to new replies.

Advertisement