Author Message

Relaera

Rank 4
Relaera
Joined
14 Mar 2008
Posts
2204
Location
Wilmington United States
PostedApr 15, 2012 2:51 am   Last edited by Relaera on Apr 16, 2012 8:05 am. Edited 1 time in total

How does the game connect to the servers?

A semi-technical breakdown of how Eden Eternal works.
Preface:
A lot of issues have been raised regarding server connectivity, particularly with the recent crashes, so I thought I'd shed some light on the topic.

There are actually 3 different points of connection between you sitting there, and you playing the game. The Login Servers, the Gateway Servers, and the Game Servers. (Note: Only the Login and Game Servers are listed on the Server Status Page, because otherwise, there would be a HUGE list to look at)


Step 1: The Login Servers
The first connection point in connecting to the game involves the Login Servers, but what do they do?

The Role of the Login Servers:
  • Determine whether to allow a user to connect or not. (If the login servers are off, you won't be able to sign in)
  • Check your username/password against the user database. (Did you enter the correct login info?)
  • Show servers, and the status of the channels. (Grey channels are offline)
  • Show your characters for each server. (My sweet, lovely characters)
  • Check your character password before logging your character into the game

That's it. Once you've entered your character password to log in, the Login Server sends your request to the next connection point in line...

Step 2: The Gateway Servers
The gateway servers are not talked about very often, because they're very rarely an issue. They're very easy to overlook, and on GameServerStatus, we don't even monitor them.

NOTE: There is 1 Gateway Server for every Game Server (meaning 1 for every channel)

But what do they do?

The Role of the Gateway Servers:
  • Handle a login request from the Login Servers.
  • Show your characters for each server. (Yes, both Gateway and Login servers are involved)
  • Handle channel transfer requests. (Changing channels, entering Arena/TW/etc.)
  • Confirm that the request was legitimate.
  • Send the character information to the game server, so it knows which character you're playing.


These Gateway Servers play a crucial role in our ability to reach the game servers. All channel transfer requests are processed through the Gateway Servers, whether it's from login, or from a channel switch.

That brings us to the...

Step 3: The Game Servers
This one is pretty self-explanatory, but I'll cover as much as I can about what the servers do.

The Role of the Game Servers:
  • Handles ALL of the NPC interactions. (Bank, AH, Shops, Enemies)
  • Handles ALL of the chat. (Relays the chat from the database)
  • Really, it handles everything else in the game.


What Does This Mean?
There are 3 points of failure with the 3 servers. Here's what happens if one of them goes out.

Login Servers
  • You can no longer log in. Your username/pass won't be accepted on the login screen.
  • If you are already in game, you will still be able to continue playing as normal.
  • If you log out, you will not be able to get back in.


Gateway Servers
  • You can no longer log in. You may be able to reach the Character Select screen, but when you enter your character password, it will freeze.
  • If you are already in game, you will still be able to continue playing.
  • If you log out, change channels, or attempt to enter Arena / TW / etc, you will not be able to continue. (It will probably freeze).


Game Servers
  • You can reach the login screen and it will show the channels as grey.
  • If you were in-game, it will kick you out by forcing a disconnect.



So, what happened earlier today?
Earlier today (April 14th), Sapphire crashed. Within 8 minutes, all of the game servers were online again; the gateway servers, however, were not.

This is why nobody was able to rejoin Sapphire.

We then had an emergency maintenance (which unfortunately, also took Diamond offline).

After the emergency maintenance, everything except the Sapphire Gateway Servers were online again, which is why everybody could log in, but would freeze at the character password screen.


Frequently Asked Questions
Q1. Why can't you add more channels to reduce the lag?
A1. If you've taken a look at the Server Status page for Eden during times of lag, you'll notice that there is no network lag in reaching the servers. The lag that is experienced in game is not network congestion or issues with handling requests. That is the kind of issue that adding more channels solves.

I can't say with 100% certainty what is causing the game lag, but it seems to be centered around the back-end of the game, most likely with the database server. It's definitely something specific to the continued life of the servers, as we had more people during Closed Beta on each server than we have now, and Diamond is not experiencing the same thing.
Advertisement

koager

Rank 3
koager
Joined
07 Dec 2008
Posts
1337
Location
in my own little world United States
PostedApr 15, 2012 3:12 am
\o/
good info. I learned a lot.

vengeancereborn

Rank 1
vengeancereborn
Joined
04 Nov 2011
Posts
388
Location
Serbia
PostedApr 15, 2012 4:25 am
Thanks for the technical info Very Happy Now we know a little more about what exactly happens when we cant log in.

I eat trolls for breakfast

Teamer.

Rank 1
Teamer.
Joined
01 Mar 2012
Posts
317
Location
Brisbane, Australia
PostedApr 15, 2012 5:10 am
Thanks for the info.

Are the Servers up? Check my Avatar.

DatCow

Rank 0
DatCow
Joined
11 Apr 2012
Posts
54
Location
Farm in United States
PostedApr 15, 2012 7:57 am
This is great! Sticky ploz :3

iaaf83

Rank 1
iaaf83
Joined
17 Mar 2011
Posts
241
Location
Italy
PostedApr 15, 2012 8:24 am
ty for the info :3

liljj1234

Rank 2
liljj1234
Joined
18 Jun 2008
Posts
404
Location
United States
PostedApr 15, 2012 8:32 am
Nice info Very Happy thank you

pervddl

GameSage: Aeria Mobile
pervddl
Joined
10 Jun 2008
Posts
510
Location
Belo Horizonte Brazil
PostedApr 15, 2012 9:16 am
I had that feeling, that is mostly because of DB. Tons of interactions (and probably not so simple queries) at each second. And the DB software has to both read/write like Hard AND try maintain integrity with all those queries.

EE uses what? msSQL? Oracle?

And how is the table designed? Depending of how X-Legend has designed, maybe it's possible to split this DB in lower ones, like a separated DB/table for NPC, another for bank/ah and any money interactions (except for npc's), another for all chats (this one is probably running pure writing queries, all the time)..

With split DB, is possible to setup a server with each 'part' of DB, therefore reducing the load of server CPU into making all queries. Remember that even the most powerful processor handles things one by one. Feels like multi-thread but in reality it's processing one thing by time, bit by bit. Another good that a splitted DB would have is that with the lower physical size, will probably use less CPU, less RAM, less memory swapping and allowing aeria to reduce each server spec a little..

It all depends on how DB tables were designed and how is DB now (one, sections of game splitted, etc).

Laurentio

Rank 3
Laurentio
Joined
31 Dec 2007
Posts
980
Location
Roma Italy
PostedApr 15, 2012 10:13 am
Good. I asked those same information to other players just yesterday, and I'm glad to have an exaustive answer.
So, adding channels would not prevent crashes, but would reduce local lagging. As I though.

Alternate Eden Eternal client download: http://www.onrpg.com/MMO/Eden-Eternal

Mocarze

Rank 1
Mocarze
Joined
24 Feb 2012
Posts
356
Location
Canada
PostedApr 15, 2012 10:36 am
This will be a good post to link to when I start hearing the complaints about "servers just need more bandwidth!". No longer have to type a summary of this out myself, thanks!
Display posts from previous:   Sort by: