10 ms·
I used to be involved with this sort of thing, and it's actually pretty interesting stuff. There are enormous open source projects, operating largely out of pub
by Meekro 11y ago
I used to be involved with this sort of thing, and it's actually pretty interesting stuff. There are enormous open source projects, operating largely out of public sight, that have recreated the WoW server backend in most of its glory. The lower-level content works quite well these days, though a lot of complex raid scripts are missing or broken.
This one is probably the most popular: https://github.com/TrinityCore/TrinityCore https://github.com/TrinityCore/TrinityCore
It's pretty rare for Blizzard to go after these companies in court, but it's happened here and there. Look up "Blizzard Entertainment, Inc. v. Alyson Reeves" if you're curious what such a lawsuit looks like! Every patch since Lich King, though, has attacked these reverse engineers on the technical front by adding layers upon layers of obfuscation to the protocol. That's had some effect, and many private servers have stuck with the old Burning Crusade or Lich King releases.
- wcummings 11y agoThere's also a cool community around reversing the battle.net protocol(s).
- scrollaway 11y agoThe Battle.net 2 protocol is almost entirely Protobuf based and the protos can be recreated from the HS decompiled code or the Diablo 3 in-executable protobins. https://github.com/hearthsim/hs-proto https://github.com/hearthsim/hs-proto https://github.com/hearthsim/proto-extractor https://github.com/hearthsim/proto-extractor
- ChuckMcM 11y agoOne could argue that the Lich King was the last "good" patch for WoW. What I've never understood though was there is clearly some residual demand for "down rev" versions of the game where the mechanics favored a more engaged play style, why not facilitate it? How much does it really cost to run a single realm at the Vanilla, TBC, and LK levels? So many new players where their first experience with Onxyia was soloing her with a Paladin. Just not the same as 40 people trying to bring her down without falling to the whelp adds. Sure I don't think you could get $15/month for it but certainly $5/month or $10 a month. And they already let you "play for free up to level 20" why not just let you play for free on a vanilla server up to level 60?
- kibwen 11y agoMy personal intuition is that splitting your userbase like this is disastrous for a game in the long-term (to say nothing of my intuition that 90% of people longing for "the old days" are just looking for a quick hit of nostalgia, with no intent to pay long-term). However, it's worth mentioning that Runescape now officially offers a "classic" version of the game alongside (and separate from) the modern version, which should be an interesting experiment to watch.
- Zancarius 11y agoI think the first concern could be countered somewhat by 1) the nature of Battle.net's integration with WoW and 2) either doing it via their phasing mechanics or having a means to copy a character over at the expansion's level cap. This way, you could see what friends are playing, which expansion level, and opt to join them. Otherwise, I do see your point. As much as I'd enjoy it if they offered new players/characters the option of playing revised post-Cataclysm content for leveling or "classic" content instead, it might pull away enough of the existing population to make early group quests painful. (Although, that could be mitigated somewhat in the same manner their cross-realm stuff currently works.) You may be right about the nostalgic effects, although it is a pretty powerful effect and certainly got one particular company's side venture off to a good start [1]. In the times I've toyed around with TrinityCore, I find I'd play it at least 2-3 times a week if I had friends who weren't absolutely terrified of the potential for permanent bans--the old content was that enjoyable to me. Nevertheless, I recently re-subscribed to retail this February, and I enjoy it, but it feels like it's missing something. It doesn't have the same charm, but I do appreciate a few of the improvements (the "spell crunch" is miserable, however). I'm a sample size of one, though, and that's certainly not enough to make any time investment worthwhile on Blizzard's behalf. [1] http://www.polygon.com/2014/7/21/5913763/gog-com-back-catalog-new-releases http://www.polygon.com/2014/7/21/5913763/gog-com-back-catalo...
- anexprogrammer 11y agoIf done at least semi-officially it could equally be a way to bring back lapsed players as much as any splitting of user base. Many leave in major updates or exciting new releases. WoW lost loads since LK. In other games LotRO horse riding update lost 30% of the users. GW2 redesigned for the intellectually challenged. I'm sure some would want to come back to the game before it was wrecked. Maybe not so much GW2 - it was always too easy to hold interest for long. The problem I see is old versions would be unlikely to get updates like new content or dungeons so even those hoping to play long term would get bored eventually.
- jacksonsabey 11y agothere's also this https://en.wikipedia.org/wiki/MDY_Industries,_LLC_v._Blizzard_Entertainment,_Inc.# https://en.wikipedia.org/wiki/MDY_Industries,_LLC_v._Blizzar... when they managed to get glider, one of the first bots taken down
- Kiro 11y agoI can't believe they actually re-create the backend. Seems harder than actually making a MMORPG from scratch. Where do you even begin?
- chii 11y agoYou examine the packets received by the client in response to a discrete action by the client. Recorded enough of these, and you can emulate the server!
- mdellabitta 11y agoIt would be pretty hilarious if this was a ML problem.
- aetherson 11y agoThe thing to understand is that MMORPGs create the illusion that they're kind of like browsers -- all the content is on the server, the client is little more than a window into a shared world. That's not the case. The bandwidth would be crippling if it were. Most of the game is in the client. Clients know how to do actions, cast spells, count cooldowns, etc. The server has some maps that tell the clients "put this immobile resource here, spawn this mob there" (but the clients know what those resources and mobs look and act like, the server just tells them to instantiate a mob of this id there), and then sanity-checks and synchronizes the clients.
- Kiro 11y ago> but the clients know what those resources and mobs look and act like, the server just tells them to instantiate a mob of this id there Are you saying the clients decide how a mob moves and behaves? > sanity-checks and synchronizes the clients Which in practice means the whole game logic must live on the server as well, right? How else would they validate the client's input?
- dogma1138 11y agoThe majority of the private servers are either WOD or MOP, there are virtually no TBC servers and Nost was one of the few vanilla servers. There are allot of WOTLK servers because WOTLK was the most "popular" patch of WoW and allot of work on both the emulation and the database was done for that patch. However private servers for Cata, MoP, and WoD came out pretty much almost hand in hand with live release, they were and still are utterly garbage but most private servers are. This is quite big it's the first time for quite a long while that Blizzard went to close an private server, and it's the first time that the server in question was not hosted in the US/CA and was not anywhere close to emulating retail content. The content that is available on Nostralius is literally not available on any live server any more since Cataclysm which altered all the original "vanilla" content. This might actually also be interesting to see if this can actually go to court, the server emulation (if done as a clean room) does not infringe on Blizzards actual IP, all the text, sounds, textures models are present on the client side alone the server holds only an itemized database of objects and knows how to communicate with the client.
- throwaway125 11y ago>all the text, sounds, textures models are present on the client side alone This isn't entirely true. All the quest text, monster says, NPC interactions and more are sent by the server. Sure, the models and sounds are part of the client, but the server tells your client where to place which mobs, how much health they should have, how they react to you, etc. >The content that is available on Nostralius is literally not available on any live server any more Yeah, hosting a game server that is no longer available because the company that used to host them stopped offering that option should probably not be against the law. Even single player games are being created as "multiplayer" nowadays, so it's bound to become an even bigger problem in the future.
- sbarre 11y agoYou're absolutely right, this is a larger issue (not just with games but with "always-on" and connected devices in general). It's one thing for a company to shut down an older game's multiplayer-only services when the player base dwindles, but with many single player games now requiring a server connection to even function, what happens to those? At the very least, companies should have a contingency plan for making a "sunset" patch available to allow those games to keep working - even in reduced capacity - once those servers go away.
- speeder 11y agoI was involved in the Ultima Online scene. I submitted RunUO patches to our local forks (I then had no idea how to help with "upstream" stuff), and I also was fan of Sphere based servers. Also I GMed a couple servers, made maps, scripts, RPG Scenes, researched lore of the series to teach to people... One thing that happened interestingly, is that several servers over time ended rolling back expansions, even if they already had implemented them, because of how obviously bad they were for the game overall, this also affected the mainstream EA servers, each expansion made people leave instead of grow... The most popular servers were the "T2A" servers, that emulated the expansion "The Second Age", usually with a few minor features from new expansions (like custom house architecture). I noticed after I started to study game design formally, that the problem of the expansions was two-fold: 1, power creep, lots of it, each expansion introduced stronger enemies, harder dungeons, and better equipment... and required that you paid for them to get all that, in a obvious cash grab, but that made the game unbalanced. And 2, and biggest problem: it shifted the genre of the game! When Ultima Online started, it was a sort of medieval life simulator, it had farming, alchemy, baking, and all sorts of "boring" daily stuff, there was even one interview were Richard Garriot mentioned when he was walking around invisible, and saw a warrior show up near a fisherman, and out of pity drop on the ground for him lots of good equipment, and the fisherman got offended, and explained he was a fisherman, he wanted to fish, not kill, and did not wanted swords and armour near him. New expansions routinely broke "skills" that did non-combat tasks (example: item identification), or made them irrelevant (blacksmithing... in the original game a blacksmith could make the best equipment possible, after expansions blacksmithing became useless, with the best smithed equipment having only half the power of the stuff you could find in the "end-game" dungeons). Meanwhile they introduced mostly combat features: new weapons, new offensive magic, new combat-based "classes" (in a game that was supposed to be classless in first place), and so on... Also expansions gimped some past features that made the game interesting, for example in UO default map, you could attack anyone that you wanted, anywhere, the only protection players had were other players, and the city guards (that were practically invincible). New expansions instead introduced new maps that had all sorts of shenanigans disabled, and lots of restrictions, also they made LOTS of maps, and after they pissed off players with the genre shifts, it became too much map for too little people, it became easy to wander for hours before ever meeting people. Thus, if you wanted a "real" UO experience, private servers were the way to go.
- debacle 11y ago> It's pretty rare for Blizzard to go after these companies in court Blizzard is actually the company that set the precedent of going after these companies in court (bnetd [1]), and I can't think of a single company that has gone after these types of projects (private servers) more than Blizzard. [1] https://en.wikipedia.org/wiki/Bnetd https://en.wikipedia.org/wiki/Bnetd
- djsumdog 11y agoI was thinking of bnetd when I saw the title. Bnetd set a horrible prescient IMO. You have the court saying reverse engineering a protocol and creating a clone of it was essentially illegal. The software which, was both free and open source, was now infringing if it was published (even though it was a totally original work). You can sill find the bnetd source code around here and there for people who made copies. I've been at LAN parties where we cranked one up and ran old copies of Blizzard games. I was thinking of publishing a legal paper on this a few years back; started some preliminary work with a friend who was a lawyer in NZ, but it kinda all fell through the cracks. Interestingly, I wonder what would have happened had this project been based in NZ instead. Software patents are illegal there .. but, they did illegally spy on Kim dotcom (then change the laws so it wasn't illegal anymore), impounded his servers on behalf of the US (coughmovieindustrycough) government. He lost his extradition trial, so he now faces extradition...for copyright infringement. They are extraditing a man, for a non-criminal, civil violation. (Don't get me wrong, he's kinda a dick and his CD was terrible, but the whole case is bullshit...plus he's fucking hilarious).
- 15155 11y ago> Every patch since Lich King, though, has attacked these reverse engineers on the technical front by adding layers upon layers of obfuscation to the protocol. I haven't seen such obfuscation, personally. Mostly design/implementation inconsistency, which, can happen to any large, old software project. The biggest nastiness I personally witnessed was the battle.net authentication system upgrade, and it wasn't borne out of anti-RCE efforts.
- dduarte 11y agoRandomization of opcode identifiers or shuffling packet structures every other (client) build is not "inconsistency".
- Hortinstein 11y agoDo you have any good reads on how someone would go about starting a TrinityCore like project and the approach it takes to emulation?