MMORPG Server Emulators And Where To Find Them

Published by

on

It’s always good to see examples of MMO servers up close. Over the years I’ve tracked down quite a few emulators. While not an exact representation of what a production MMORPG server looks like, you can get a very good sense of the design patterns just by reviewing the reverse engineered packets and opcodes. This somewhat dictates how various classes are designed and you can see a lot of repeating patterns through these different game servers.

Interestingly, every MMO listed here uses TCP! (Update SEGs uses UDP via ACE) This has implications on design because these games can assume that the packets are in order. It also makes handling various connection handling code far easier. There are some restrictions that this places on the servers but it is probably OK for games that use tab targeting or don’t require twitchy style game play (such as an FPS).

Except for EVE, it also means they probably can’t handle large populations in the same “zones” or areas of interest at the same time. EVE exploits a time dilation mechanic to allow processing lots of ships in the same area of interest. Fantasy RPGs can’t really do that. If I remember correctly, EQ and EQ2 could only handle like 100 maybe 200 players per zone. If anyone knows how many concurrent players can be in a zone in WoW I’d love to know!

Without further ado, here are the list of emulators I’ve been able to track down. If anyone has any additional ones, please ping me on mastodon or find some other method so I can update this list!

Emulators

GameEmulatorLanguageNotes
ShadowbaneMagicBaneJavaShadowbane is the closest to what I want to build. Even though it had some of the best pvp ever, it was and still is extremely buggy.
EverquestEQEmuC++My all time favorite MMORPG I am extremely nostalgic to this game
Everquest 2EQ2EmuC++This one is new to me! I probably played this MMO the most in my life, more than EQ1. Also really enjoyed it but it has not aged well.
World Of WarcraftAzerothcore-wotlkC++Literally tons of other emulators but AzerothCore seems most popular. Also the code I’ve looked at the most.
Warhammer Online (Dead Now)WarEmuC#Return of Reckoning is based off this but they use a closed source mod
Lineage 2L2JJavaNever actually played this game
Ultima OnlineModernUO / UOX3C#/C++Maybe the most popular? I’ve not kept up to date with these much
EVE OnlineEVESharpC#Not sure if this is even in a runnable state, says it’s for educational purposes
City of Heroes (but supports more…?)SEGs, GitHubC++Uses a reactor pattern based off ACE, UDP, very strange.
Dark Age Of CamelotOpenDAoCC#Seems TCP? Udp is there for just opening UPnP i think, didn’t look at code much