Upcoming Events
Unite 2010
11/10 - 11/12 @ Montréal, Canada

GDC China
12/5 - 12/7 @ Shanghai, China

Asia Game Show 2010
12/24 - 12/27  

GDC 2011
2/28 - 3/4 @ San Francisco, CA

More events...
Quick Stats
66 people currently visiting GDNet.
2406 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!
Link to us Events 4 Gamers
Intel sponsors gamedev.net search:

 What is DNS?
 What is GNS?

 Printable version
 Discuss this article
 in the forums

Disclaimer: I am writing this article under the assumption that noone else has written one like it; I certainly have not found one. With all the people writing games today, I'm certain the wheel has been re-invented many times over, so please e-mail me if you find another article exactly like this.

When I was writing Cycles3D, I realized I needed a game-find server. In haste, I wrote a server executable that ran from my own computer, but that didn't last long. It was buggy, and when I graduated from college, I lost my dedicated connection. I got back to it later on -- thinking at the conceptual level, that is. I wanted something generic that would run with all my future games, and adopted the idea of a generic game-find server that worked with a paradigm that is parallel to that of a DNS server, only the "domain names" would resolve to the IP addresses of games in progress. While discussing it in a programming chat room, it was suggested that I actually use a DNS server to do it. Putting the two together, the idea of the GNS: Game Name System server, was born.

What is DNS?

Figure 1: A graphical representation of a DNS server hierarchy.

Servers on the internet are assigned names according to the Domain Name System. Each server has a special name that consists of alpha-numeric characters seperated by periods. Every part of the name represents a part in a hierarchy of servers. For example: with clubs.yahoo.com, the top-level domain is com, the next level is yahoo, and the last level is clubs. When you want to go to clubs.yahoo.com, your computer first communicates with the com server, which directs your computer to the yahoo server, which directs you to the clubs server. At that point, you get the IP address of clubs.yahoo.com, and then you connect to it with your browser.

You'll notice that some of the shapes in the picture are doubled. This represents the fact that for every complete domain name, there can be more than one DNS server at each level. The com level server, for example, has many mirrors, because it would not make sense that every computer in the world on the internet resolve IP addresses through the same server. Imagine the traffic and resource usage it would take!!

Next : What is GNS?