MMORPG’s, Firewall’s & You: One big happy family!
There you stand in the world of Everquest II at the gates of the Thundering Steppes. You’ve conquered the rats of the sewers, you’ve slain the scarecrows of the fields and now you are about to embark on a new journey to lands unknown. You reach forward and thrust open the gates to see what fate lies before you, when...
“Lost connection to server. Exiting.”
What!? What kind of evil magic is this?!?
These are the evils of the internet in the world we live in today. Welcome to my guide to help you unravel these mysteries that plague us when we’re trying to be immersed in an online world, and all that seems to happen is the technology we use to enter these portals of fantasy keep sucking us back into the reality we seek to escape. My hope is that with the understanding of what is going on behind the scenes you may better prepare yourself for the journey forth into those new dimensions and prolong your stay as long as possible.
First, let’s start with what we know. In order to venture forth into these worlds of mystery and adventure, we start up the program on our computer and prompted to login with a username and password. Once we enter the username and password, the program confirms that we are running the correct version of the software. Then, we’re presented with a list of “worlds” to choose from. Once we select the “world” to play on, we’re either taken to a character selection screen where we select the character we wish to play, or, in games which only allow one character, this step is skipped. Finally, we are portalled into the online world for us to live out our every wish and dream. Ok, snap out of it, back to reality for a minute.
These are the steps we take when we’re entering these MMORPG’s, however, let’s now take a look at what is going on behind the scenes on this thing we call the “internet”. When we start up the program, the username and password that we enter is encrypted and sent to another computer on the internet which we will refer to as “ServerLogin”. When “ServerLogin” receives our information, it verifies that we are paid subscribers to this game, and marks us as “checked in” on its internal list. It then sends a message back to our computer that it can proceed to the next step, which is to contact the next computer, which we will call “ServerPatch”.
Relax, you don’t have to remember all these numbers, that’s why we have these DNS Servers. Back to our comparison, in our homes, we have doors and windows which allow things to get in and out, computers need to have this type of access too. Instead of “doors” and “windows”, they use “ports”. So, when the program sends a message to “ServerLogin”, the message leaves our computer on a specified port and enters “ServerLogin” on a specified port. When “ServerLogin” communicates back to our computer, it too knows which “port” to send its message. When the developer created these programs, they chose which ports the programs should use.
Why do we really care about this? I thought you would never ask! Well, this day and age, everyone is getting online and the first thing people hear about is the necessity of something called a “firewall”, yet many people don’t even have a clue as to what it is or why they need it! After reading this article, hopefully you will understand what it is, why you need it, why it will be the primary cause of most of your MMORPG headaches in years to come and what to do about it so your headaches don’t turn into migraines.
Ok, back to our house comparison. Our homes have doors and windows which we use as points of entry and exit, but then we realize, well, anyone or anything can come and go as they please because all our doors and windows are wide open. So, we immediately start shutting windows and doors left and right. Now let’s turn our attention to the computer world. We know that the doors and windows of our home correspond to the ports on a computer. As you may have guessed, many of these ports are open by default. A firewall acts as a blocker to these ports, keeping messages from reaching our computer. Why would we want to do this, you might ask. Well, most of the computers that are used for gaming today, run Microsoft Windows. There are some “features” in Microsoft Windows which are turned on by default which “listen” to certain ports and can send and receive messages. Hackers get into computers by sending messages to exploit these features and gain access to a system. This is why a firewall is a good thing, it blocks those unsolicited messages that hackers send.
Now, more specifically, this is also why a firewall can cause us a headache. In our example above, our computer sent a login request to “ServerLogin”. In order for our communication to make it from our computer to “ServerLogin”, the request had to exit a port on our computer, travel to the destination computer of “ServerLogin” and enter a port on “ServerLogin”. This tells us that we need to tell our firewall that this communication should be allowed to transpire. For now, we’ll make a note of it and see if there’s any additional firewall entries we need to make:
1) Connection from our Computer & Port to “ServerLogin” Computer & Port.
Where were we in the whole process? Oh, that’s right, we just got the green light from “ServerLogin” to proceed to the next step which is to connect to the next computer, “ServerPatch” and check to make sure we are running the latest version. Ah ha! You probably can see what’s happening here, right? We’re communicating to yet another server, so you know what that means. Yep, we will need to add another rule to our firewall:
2) Connection from our Computer & Port to “ServerPatch” Computer & Port.
When we connect to “ServerPatch”, that computer checks the internal registry to confirm that we had already been through “ServerLogin” and authenticated properly. Then “ServerPatch” will verify the files we have on our computer are current with those on the server. If they are not, “ServerPatch” will send us the files we need to bring our system up to date.
Once we are all up to date, we will be prompted with a list of “Worlds” to choose from. Now, go ahead and press that button to select a “World” and let’s watch what happens below the surface as our computer connects to that world.