Slashdot Mirror


Server Structure in EVE Online

Massively takes an interesting look at the server model used by EVE Online. It's unusual for a MMOG because it doesn't divide the player load among different servers or "shards." Instead, the same cluster handles the entire EVE universe and all 300,000 subscribers (total; record concurrent load is around 40,000). The EVE Dev Blog recently announced some upgrades to keep things running smoothly and allow for battles involving over 1,000 ships. They call the technology StacklessIO.

10 of 141 comments (clear)

  1. Re:Performance upgrades are a must. by azemute · · Score: 4, Informative

    In the last two weeks, they've addressed two major issues of EVE. First they implemented a newly written in-house technology that tore down many boundaries they were previously encountering as far as latency was concerned [They call it stacklessIO and it allowed them to run 1400 people in jita, with very little latency, where previously the maximum was approx 800] and secondly, a fully 64bit server process, allowing them to expand to 32GB of RAM for major nodes.
    Effectively, they're knocking down as many lag-pins as they can, and I agree, hopefully with some luck.

  2. The elephant's tail by Moraelin · · Score: 4, Informative

    That's my problem with MMOs. Too much concentration on the top players leaving a rather boring middle. It's kind of like society. The rich and famous are looked after, cared for, etc while the middle class has to foot the bill and pay for the servers while not getting half the game.

    Heh. On WoW about 99% of the content is for levels 1 to 69, and all there is to do at level 70 is a repetitive grind to give you _something_ to do until the next expansion pack comes. It used to be the same at 60, before Burning Crusade.

    The same applies to virtually any game out there.

    E.g., on COH you still don't even _have_ a proper endgame grind, and it used to have none at all. (Unless you count the bad joke that the Hamidon "raid" used to be. Think: get 50 controllers to spam holds, and the rest of the gang does nothing at all to not get aggro.) Nor any perspective to get further than that, because the game had 50 levels since Issue 1 and just isn't supposed to ever have more than 50 levels.

    E.g., on EQ2 much the same applies as on WoW. You hit level 80, you get stuck doing a dungeon 100 times, and then move on to the tier 2 grind and do it another 100 times, and somewhere past the point where you're bored out of your freaking mind, you finally get some of your epic gear.

    E.g., on SWG, there didn't even use to be an endgame at all. The grind to Jedi was mostly repeatedly nuking your old "class" (ok, skill combination) and playing another "class" from zero to max. That was it: repeating the normal game again, with whichever class you got told to use this time. And then you got a Jedi to play the game with, from zero to max again.

    Etc.

    How the _fuck_ does that count as catering more to the top players? Those have 1% of the content, the low and middle guys get 99%.

    On virtually any game out there, it's pretty much the illustration of this absurdist joke: "Q: Why does an elephant have a tail? A: So it doesn't end abruptly." That's it. What you get at top level is the elephant's tail, and the rest of the folks get the rest of the elephant.

    But of course it doesn't prevent people from imagining that there's some grand and fabulous Shangri-La at the end. That they'll suddenly have 10x more fun, angels will give them blowjobs around the clock, heralds with trumpets will announce their every move, and that a thousand Blood Elf virgins will beg to have their baby. Basically, especially if they don't find the mid-game that much fun, that there must be _some_ grand reward at the end, or people wouldn't do it.

    Boy, are they going to be disappointed. What people actually get at the end is... well, look at all the disgruntled WoW bashers and all the people swearing that <NEXT GAME> will bury WoW alive, and their whole raiding guild is swearing off WoW as soon as <NEXT GAME> comes out. That's how great they're catered for at the top.

    It's still the same basic game, only more repetitive. If you find the middle boring, you're going to find the top even more so. Oh, it'll be something new to be in a raid for the first time. The second time too. But by the time you've went through it a dozen times, all using the same 1-2 buttons, it starts being a heck of a lot less fun. And if you still didn't get the hint that you've finished the game and might as well move on or start an alt, you're going to keep doing it more and more and enjoying it less and less. Well past the point where that enjoyment dropped below the "watching pait dry" mark. Until one more straw breaks the camels back. And then you join the great mass of burned-out, disgruntled ex-WoW-ers. Or ex-EQ2-ers. Or whatever.

    And depending on the game, you might also get asked to respec your character into something you don't like. (See all the "but I wanted to be a Shadow spec priest" whines.) Or you might discover that your class isn't even needed by anyone at the top, at all. (See, again, everyone who wasn't a controller, in the Hamidon "raid" on COH.)

    Did you actually play it to the top on those MMOs you have a problem with, or are you just judging them based on what you imagine about the top?

    --
    A polar bear is a cartesian bear after a coordinate transform.
    1. Re:The elephant's tail by Jack9 · · Score: 5, Informative

      [I]n WoW about 99% of the content is for levels 1 to 69, and all there is to do at level 70 is a repetitive grind to give you _something_ to do until the next expansion pack comes. It used to be the same at 60, before Burning Crusade.

      This is a common misconception. The content is for all levels. A common personality type wont use any content that doesn't measureably increase their usefulness at the highest tier. I submit you feel there is nothing gained from trying to solo Uldaman at level 70 or speed level or any of the non-traditional achievements that any person can imagine other than getting a sword that's +12 instead of +11. This personality type helped codify "a repetitive grind". In the asian markets, this does not exist (which is interesting from a sociological standpoint). If repetition was the problem with enjoyment, there would be a much higher suicide rate.

      I have stated, many times, that the type of personality that does well with MMORPGs is not the exact same market that is assumed. Teenaged boys are tempermental, have shifting expectations, and are bored easily. You'll find the people that do well over years, are middle-aged and employed or otherwise fulfilled outside of game accomplishments.

      What's worse, the content that BC came out with was LARGELY level 70 content. 1%? How do you come to that figure? The multiple subsections of zones devoted to 70-only (Skywing quests, comes immediately to mind) and specific holiday events. The entire zones geared for level 70s? No less than a dozen instances. Shattered Halls, Steam Vaults, Shadow Labryinth, Caverns of Time, The Arcatraz, Mount Hyjal, Serpentshrine Caverns, Tempest Keep, Black Temple, and EVERY Heroic version of the 5-mans? People see what they want to see.

      You need to examine how you play the game, not make false criticisms based on an obvious personality quirk that prevents you from enjoying them more than one way. Yes, other people complain as well for the SAME EXACT REASONS (while there are millions who do not), but they complain because they are unable to be introspective, not because there's anything wrong with 'the original wheel'.

      --

      Often wrong but never in doubt.
      I am Jack9.
      Everyone knows me.
    2. Re:The elephant's tail by WuphonsReach · · Score: 2, Informative

      Having played WoW for about a year, I'd put it more at about 25% of the content as being aimed at level 70 players. The Outland is quite large, and there are 7 regular dungeons, 13 heroic dungeons and all of the tier4-tier6 raid zones (9?). Plus the recent Isle of Q, which adds about 90 minutes worth of daily quests that you can do for gold/faction.

      Not sure how the new expansion will work out. I suspect, that like Burning Crusade, they'll need to patch in content periodically in order to give players new things to do while they prep the next expansion.

      --
      Wolde you bothe eate your cake, and have your cake?
    3. Re:The elephant's tail by citylivin · · Score: 2, Informative

      Oh please. Ive played both and the fact is that if you dont like raiding or manufactured PVP you are either out there trying to fight some people questing or protecting younger players in stv. There are things to do, but the point of the game - questing and making your bar go up - drops off when you get to the level cap. I played from beta for almost 2 years, had multiple 60s etc until one day realizing that i had shit all to do. Raiding is pretty much repetition, going over the motions, for 3 or 4 hours. BORING! Battlegrounds killed world pvp, which was the only fun form of pvp in wow.

      Eve online on the other hand lets you do whatever you want. And the PVP is epic. Im talking 40 person battleship fleets with support as a regular occurance. Theres pirating, ganking, fighting over space, moons, and stations. All of this with ships and equipment that equates to real money. Nothing feels as good as narrowly escaping a gate camp in a $20 ship n gear. Your hearts pounding your adrenaline goes up. You don't lose the excitement of pvp because to die is for real and your body knows it.

      I played eve for a few years, but by far the funnest I had was fighting in campaign type warfare that goes on for weeks. Its not all like that sure, but those few months of battle rivals any other online experience i've ever had. There is simply nothing like a massive fleet battle, jumping in, calling targets and fighting for your life.

      --
      As a potential lottery winner, I totally support tax cuts for the wealthy
  3. Used to be based on Stackless Python by hargettp · · Score: 4, Informative

    http://www.stackless.com/wiki/Applications

    Don't know if that is still a core part of their technology; certainly makes sense, as lots of high-performance applications avoid creating lots of threads in order to scale--especially when there's IO involved. Thus, Stackless Python also takes the same approach to logical concurrency as Erlang.

  4. Re:I was wondering about that... by Yoda's+Mum · · Score: 2, Informative

    No, there's plenty of interaction. Aside from the voice chat, chat channels and the like, inter-player interaction is done through interacting with other people's ships. The point of creating a character is that it gives you a visual identity that goes along with your character name. Beyond that, there's a future expansion planned that will allow interaction of ones' avatar inside of space stations and the like. For now though, as far as game terms go one's ship is their avatar.

  5. Re:"doesn't divide the player load" by niw · · Score: 4, Informative

    Right right right right right... and wrong.

    Great post, but I have one qualm. Microthreading/tasklet models are not explicitly incompatible with SMP systems. Theres nothing inherent to microthreads that would prevent, say, eight separate hardware threads all working in tandem to run a single solar system & its batch of microthreads.

    Classical concurrency coordination mechanisms like mutexes and locks are not ideal for microthreading environments, so perhaps scaling out with these concurrency primitives might make abandoning stackless a logical step. Something like an actor model or a message passing scheme may however work extremely well in a stackless environment. Particularly if all you are doing is processing messages, you still want that ability to context switch extremely quickly.

    My understanding is the main hold-back for concurrent Eve servers is things like guns firing at a ship thats already blown up, but the local thread doesnt know the ships blown up (not possible in their present non-concurrent environment). You can deal with this either by holding mutexes on the target, or you can use message passing and simply have the blown up ship send a message back saying "sorry, you cant shoot me, i already asploded," and then deal with that failure message in an async fashion.

    If I were CCP I know what path I'd be taking. But thus far, CCP has focused largely on platform wins like asynch IO (although given the CPU usage their IO USED to be taking up perhaps that was in order) and proxy servers. They've systematically been ignoring the question of real concurrency.

    Absolutely, the larger problem is the Python interpreter itself (CPython) and something called the Global Interpreter Lock (GIL). This lock prevents the real threading from having an actual impact and is the reason that CCP has not persued a OS threading.

    CCP Lingorm

    Actually this [one thread per system] is a limit of Python. Currently Python is bound to a Single Core (this is called the GIL, Global Interpreter Lock) and it is the centre of a large amount of heated discussion in the Python Community about removing it or keeping it.

    IronPython has removed it but has no support for stackless at this point so we would still have to completely rewrite the threading system.

    We are continuing to look into options to enable us to span multiple CPU cores and thus 'grow' our architecture. I am hoping to get some more details on this for posting Soon(TM).

  6. Re:Shards by Sobrique · · Score: 2, Informative
    Exponential skillpoint progression is one thing.

    The other is, of course, that every skill caps at 5, and there's only so many skillpoints that you can use to fly a ship.

    Most of the veteran players out there aren't 'maxed out' in any way shape or form either - I've not maxed my skills in any ship classes, as the last level of certain skills just isn't worth the time for me. (Weapon specialisations mostly, they take significant amounts of time, for an additional 2% gain).

    But in a relatively short amount of time, you can be as good in most ship classes, and better in others. You'll never be able to fly _as many_ ships, because I'm always learning more, but ... well, we can each only fly one ship at a time.

  7. Re:Performance upgrades are a must. by TheThiefMaster · · Score: 2, Informative

    I think the servers were 4GB, with 2GB per server process (single-threaded on a dual-cpu machine you see). The "core" servers that handle the biggest places like Jita have now been upgraded to 16GB of ram and 64-bit code, allowing them to use it ALL for ONE server process.