Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DLL Talk / How do things travel over the internet? DarkNet specific too

Author
Message
sneaky smith12
13
Years of Service
User Offline
Joined: 30th Apr 2006
Location: Like id tell you, oh wait i just did
Posted: 21st Jun 2010 01:19
So I'm working on a project and as far as the menus go... visually I'm where I want to be. I used Fresh GUI which can be found on the forums and that helped a lot.

Now I'm working on the functional aspect of it. My idea is to keep the menu very similar to Wolfenstein Enemy Territories.

It has a list of all servers by Name, Maps, # of Players, Ping, etc.

All the buttons work just fine. My problem occurs when I need to get a server list. I'm not sure how to do this at all. I don't know what needs to be where. I don't even know what's needed.

Should I have a data file with a list of servers and their information or should I poll a port on a whole bunch of IPs?

How would I do either?

How would I know which data goes with each other? Is their a method of sequentially reading a bunch of different files?

Sorry if this sounds helpless, but I am.

If at first you dont succeed, LOWER YOUR STANDARDS.
GIDustin
11
Years of Service
User Offline
Joined: 30th May 2008
Location:
Posted: 21st Jun 2010 06:34
Does the list of servers change? If not, you could create a datafile that has them all in it.

If the list does change, you will need at least one server that maintains a constant IP address that keeps track of all the other servers and sends the list out to anyone who requests it.

sneaky smith12
13
Years of Service
User Offline
Joined: 30th Apr 2006
Location: Like id tell you, oh wait i just did
Posted: 22nd Jun 2010 06:22
The list of servers in theory changes proportionally to the amount of people that play it.

From the client players are able to host a game.

If at first you dont succeed, LOWER YOUR STANDARDS.
KISTech
11
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 22nd Jun 2010 20:02
Then someone, probably you, will have to host a public Master Server that the other servers report their status too. Then you feed the data for the active servers back to the clients when they request a server list.

Diggsey
13
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 23rd Jun 2010 01:46
The easiest way is to use a free web-host which supports PHP and MySQL, and then have a PHP page to add and remove hosts. When clients host the game you load the PHP page with the correct parameters, and again when the game ends.

This way you don't need a dedicated server, and you don't have to worry about the IP changing, since it's a DNS lookup.

You might also want make it so that when the server list is fetched, the PHP file pings the servers in the list and removes the ones which don't respond.

Finally, when the client receives the server list, ping all the entries and sort them from lowest ping to highest, so that the ones near the top will be better.

sneaky smith12
13
Years of Service
User Offline
Joined: 30th Apr 2006
Location: Like id tell you, oh wait i just did
Posted: 24th Jun 2010 05:04
I like both ways mentioned. Neither I thought of before, and that's probably why I was so puzzled.

I've since changed how I want it to work just a tad (now to where it's like Battle.Net with Starcraft), and I think KISTech's method would be more applicable to the scenario. This is because it will allow membership control over the entire game, and also allow me to only give limited control to people hosting the game.

I'm not to worried with the Static IP, since I believe that No-IP should work just fine for testing purposes.

One more question though... What method do people use to prevent packet sniffing? Does the darknet ecryption work for this?

If at first you dont succeed, LOWER YOUR STANDARDS.
bitJericho
17
Years of Service
User Offline
Joined: 9th Oct 2002
Location: United States
Posted: 18th Jul 2010 12:56 Edited at: 18th Jul 2010 13:03
Quote: "One more question though... What method do people use to prevent packet sniffing? Does the darknet ecryption work for this?"


Encryption would take care of this. If you're going to use a PHP file to manage server lists, then just use HTTPS communication rather than HTTP.

As for downloading the server list, I have a working download function here (last post):

http://forum.thegamecreators.com/?m=forum_view&t=172394&b=1

Funnily enough, I posted my original question there as I'm working on a game listing server So Diggsey, I agree with you that this is the best solution

PS. Diggsey and KISTech's solutions are the same, only Diggsey offers using a server running php/apache to manage the server list, instead of a dbpro or some other program. In PHP, you can still block people and all that jazz.

In my implementation, I will be having the dbpro game send it's game key in a url request to the php script, where it'll be processed by the server whitelist (a list of valid keys). Same for valid ips, etc. If everything checks out, the server will send the game server listing.

Login to post a reply

Server time is: 2019-10-19 08:30:09
Your offset time is: 2019-10-19 08:30:09