One of the challenges of developing a massively multiplayer online game is infrastructure, something that lets us even have all you wonderful people super-ing it up in the digital world we're creating for you. We want to have as many of you over as we can, and it seems an awful lot of you are interested in joining in, so we have to make sure we've got enough room at the table. So to speak.
The solution we've come up with is more tables. Or, to break free of the tortured metaphor, more servers. Our idea is to have a separate server play host for each for each major area (usually a district of the city, instance or base map, etc), and another to handle each major task, including one to act as a coordinator of all the others (sort of like a butler). These will each run in their own virtual machine, allowing us to add instances as needed, or to reduce them when no longer needed.
The result of this is that these various servers share the load of hosting you guys in your virtual, superpowered romps, but without splitting you, the players, apart from each other. When you transition from one area to another, you switch which server instance you are connected to. This will prompt a loading screen on initial launch, but the goal is to allow for a streaming transition later on.
Most MMOs just have different servers, sometimes called shards, that each handle a parallel version of the same exact world. While this manages to share the work of hosting the players, it does in such a way that people can't really interact with the people on other servers. With most games, you have to find out which server they are on in advance, or else you'll probably end up on the wrong one and you won't be able to play with each other.
We look to avoid that. We are all in this together, and we want to keep it that way.
One option this approach enabled was the ability to create instanced maps for specific purposes. A common example we use in conceptualizing this is PvP vs PvE play. Rather than needing dedicated zones or arenas for PvP play, or having PvP players interacting with PvE players in the same zone, we can spin up an instance of any map which would be dedicated to PvP play, putting them into their own sandbox where they can PvP to their hearts content without PvE being any wiser. Switching on ones PvP mode would switch them from the PvE instance to the PvP map. This approach is not limited to just PvP either, it would allow for specialized zones for events, role-playing opportunities, even special missions. It opens up a lot of options for us, which in turn means we can offer more for you. We'll be talking about PvP some more in a later update, but for now let's stick with the servers.
While the maps may be individual, everyone in the game will be able to interact with everyone else in the game – with a dedicated chat server making this possible in combination with mission servers, a server for the auction house, etc. While we will have measures in place to make sure things don't get too crowded, we still plan to evoke a sense of everyone being in the game together.
It is not an unheard of model, several European and Asian MMO’s use a similar solution, and in testing it gives us the needed scalability without heavy development or operating costs. By splitting up these tasks, it also enables the utilization of as many off-the-shelf solutions as we can get for the persistent world database, chat server, login manager, etc. Even the instance servers are based directly on the existing Unreal Engine multiplayer server.
The goal is ultimately to give a large, and scalable MMO solution. By the use of specialized servers for the tasks needed, we know we have one which will allow us to grow over the years.
Eric Nelson, Thor, and 100 more people like this update.
@John Barefield - like the DA and mob boss standing next to each other in a public place?
One thing I don't understand is that all the heroes and villains will apparently occupy the same zones. So in the non-PVP zones, heroes and villains will rub elbows 24/7? Shop side by side in the consignment house? This will be strange and for me inhibit roleplay. I fight evil to my dying breath, but if the most wanted man on earth is right next to me, we chat about the weather? This might be OK for "factions" in a fantasy world, but not for superheroes and villains. I just can't see dozens of bad guys just hanging out in your main square, the equivalent of Atlas Park. Can someone clarify this?
This seems to be pretty well thought out, and if it will keep costs down as you've claimed that puts paid to by far my biggest concern - the ability to maintain servers on a severely limited budget (at least at first). Seems like it'll be conducive to all kinds of content, too, which is a plus. Consider me optimistic!
For the coordination server, you could look into a clustered solution with automatic failover with the two partner virtual machines on separate physical machines for redundancy (this is sort of my day job..eek..don't want to think about it but.. lol).. Am looking forward to not having the server by server separation. And I think this also allows an RP instance similar to what Virtue was in CoH so you get the best of all worlds.
99,999 characters, I'm really going to have to exercise my imagination.
@John - Not yet set. Theoretically in the 5-figure range. Realistically, need to test.
How many characters will we be able to have? In CoH we could have 12+ characters on each server (and I did), do we have any projections for CoT? The single server concept got me worried.
Glad to hear you have such a community driven server plan and with your mentioning of roleplayers, can I get my hopes up that you've a focus in your team on also catering or helping roleplayers, as well as the power gamers, casual gamers, PvPers etc.?
@Izzy - We never said we were using Windows Server OS, did we?
Hmmm... If i'm not mistaken, i think a Windows Service has the option to Restart itself if it stops working of whatever reason.
Wait a sec... Is there an additional cost for using a Windows Server OS?
Was there any discussion on possibly using a Linux Server? or others?
@Tarek - If the watchdog does down, the existing servers would still be running, so the players would still be enjoying the game. The plan however is to have a failover daemon running in the background in case the primary fails.
Can you say "Single point of failure?" I knew you could.
What plans do you have for failover when the 'coordination' server goes down?
The one thing I loved about the CoH set-up was the Virtue server being the unofficial home of RP. I have found that games that do not have a server designated as the RP server, very little RP goes on. Or, the Role-players end up hiding in some secluded spot to RP because otherwise they get trolled. It is next to impossible to find role-playing on DCO or Champions online, and it is totally impossible to put together a RP team to do missions.
I think one of the advantages of CoH was that there were servers for for you, no matter what your goal was for the game. Power gamers and role-players, on the whole, do not understand each other, and often don't respect each other. They see the others as either those that want to do nothing but grind and button mash, and those who want to just stand around talking and being pompous for hours at a time.
@Catherine - We were planning on that anyways, hence why the Character Creation app.
I really like this approach. Champions online has a similar structure regarding multiple instances of zones yet one server, and I liked it a lot. Everything you posted re: benefits of this approach I agree with and appreciate very much. Thank you! I played Rift, and it was very difficult and annoying that I couldn't team up with my brother who was on a different server. I was on a pvp server, and he was on an RP server. They made some changes where people on different servers can team together with others on the same "instance" of a map.
Izzy's question jogged loose a related question of my own...during times of outages/maintenance is there any chance that we will be able to use the character creator offline and save those toons as well?
@Robin - There won't be individual names for the servers because it's all in essence 1 server. All the servers he's talking about are just the ones in the background hosting all the zones and instances, they won't be named or anything because they'll be brought up and taken down on the fly depending on how many people there are.
This is an amazing idea.
I think this is a huge improvement over the CoH approach. Glad to see you guys are really thinking this out! I'm not a PvP player. I tried it once. Would it be possible to have a toggle for every player that would turn PvP on/off? They could then be in the same zones. If you are a hero that doesn't want attacked by a villain you just keep the toggle off. Might be more inclusive but not sure of the complexity.
Me like! You can start out with enough servers to launch and add more as need increases. Best part: This may decrease downtime. Wait until usage is low, shut down unneeded servers for maintenance, switch everyone over when the servers come back up. Plus PvP and PvE can share the same map without conflicting...same goes for RPers.
Sounds like a great idea and a really good compromise for both PvP and PvE players. One of the frustrating elements for me in CoX was the need to participate in PvP in order to badge hunt, defeat certain enemies or to collect PvP IO's. Therefore the only thing I would request is that any rewards, events, items and collectibles from PvP content are made available in PvE.
So will this eliminate the need for things lime War Walls?
I know this is Low priority, i hope it is, but I hate server maintenance downtime. Would a VPN solution work if a few teamates decided they want to stick around longer? Use a secure Web Service to read/write the players data?!?
@Quinch - to be determined. We know what we *think* will work, but it will need actual gameplay testing to verify which assumptions work.
Hmmm. Sounds like a viable way of keeping heroes and villains in the same location while keeping them out of each other's way as well. Question, though - how would these various instances be called? Numerically, or...?
That is an AWESOME way of handling PVP.
Excellent, I was hoping for a solution like this. It reinforces community and is scalable. One of the problem with CoX before the availability of server transfers was that a new player who would have preferred playing with lots of other players around might end up on a low population server. They'd have a, lets call it 'less than optimal' experience and might never know it, or not find out for quite some time (unless they were dedicated to forums as well).
So thumbs up, this seems like another area where the lessons of the past have been well learned.
Interesting. Sounds good to me.
Neverwinter just merged all 3 servers into one and it runs the same as you described.
Sounds great!! Keep em comin!