Open source World of Warcraft server emulator in C++ · one core from Classic to Forever

Source code: git clone https://github.com/AscEmu/AscEmu.git
Get startedLearn how to download, compile and configure AscEmu
Welcome, guestQuestions, ideas or bug reports go to GitHub Discussions
Builds: 8Classic to Forever

Legion enters the world, WoD put on hold

Posted by Zyres @ 03. October 2026 Discuss on GitHub

Over the last weeks we have been working on bringing the newer Battle.net based clients to AscEmu. Time for a short status update.

Legion (7.3.5, build 26972)

Good news first: you can now log in with a 7.3.5 client and enter the world.The new bnetserver handles the Battle.net login, including the web login and the realm list. It creates its own certificate on first start, so no manual certificate setup is needed.
The connection patcher in our tools prepares a 7.3.5 client for a private server.
World login, character list, entering the world, movement, and the first set of chat, spell, aura and combat packets are in place in the 7.3.5 format.This is an early state. Legion currently runs on top of our Mists of Pandaria data, and large parts of the game (quests, gossip, loot, groups, guilds, mail and more) still need their packets ported. Expect missing features and rough edges.

Warlords of Draenor (6.2.4)

WoD reaches the character list, but we have decided not to pursue it any further for now. Our time is limited, and we would rather put it into one newer expansion properly than split it across two. The existing WoD code stays in the repository and continues to be built by our CI, so nothing is lost if someone wants to pick it up.

Forever (by @aaron02)

A big "thank you" goes to @aaron02 . His Forever project (branch ClassicPlus) brought the Battle.net server and the realm communication between bnetserver and world. Our WoD and Legion work builds directly on that foundation. The infrastructure part of Forever is already available; the gameplay side of it is still being developed by aaron02 and will follow once it is ready.

Mists of Pandaria (5.4.8, build 18414)

MoP remains our most "worked on" expansion this year and is the foundation the Legion work is built on: Legion uses the MoP code paths and data, so every fix on the MoP side benefits both. Recent work went into movement, vehicles, phasing and the packet layer, and we have started scripted start zones, beginning with the Pandaren starting area, the Wandering Isle. That port is still being tested, so expect it to arrive step by step.

Misc

At this point I have to give out a big "thank you" to @Appled still working on the spell stuff, @Zallios for trying to serialise these version with me, @schnek for reporting everything we fuck up and @Aceandra for still being around when I need her.

Want to help?

There is plenty to do, and much of it is well suited to getting started: most open tasks are single packets that need their 7.3.5, 6.2.4, 5.4.8, 4.3.4 layout, each one small and self-contained. If you enjoy C++, reverse engineering packet structures, or simply testing with a client and reporting what breaks, you are very welcome.

News

Welcome to 2026 - MoP has just begun

Posted by Zyres @ 11. March 2026 Discuss on GitHub

Welcome to the new yearIn addition to all the terrible things happening outside the AscEmu universe, we have our own little battle to fight in and around AE. First of all, we have finally managed to get the next version, MoP, into the multiverse.At this point, a special thanks to VladimirEve, Schnek, and Zallios, who took on the challenge 4785879#diff-17005a18c9269f29f7db9f8255143323e0e9635bc5fc76f468e87a4db65443a6R34imageWe are all happy and grateful for the last shot with this version, but it will take some planning to reduce the bugs in the other versions to an acceptable level. Sure, it's a mess, and yes, we threw best practices, guidelines, and testing out the window to achieve the impossible :-)Good work to everyone involved*
Now it's - back to the problems and further development of MoP with more time.

News

Welcome to the summer of 2023

Posted by Zyres @ 17. July 2023 Discuss on GitHub

It is hot outside...
... like our cpu when we build AscEmu on our machines. I'm glad you are here and filling AE with your ideas and solutions.
Beside the normal development there is something else going on. As you already noticed, our forum is currently not available. We are recreating the some interesting topics from the backup files here on github discussions.Feel free to open a discussion and beside that, stay cool :-)

News

2021 - What an awesome trip

Posted by Zyres @ 03. May 2021 From the forum archive

"Welcome to 2021 - man oh man, what a ride"
So there were no news about us since 2018 and my last blog post was 2019. I guess it is time to write something about this awesome community.
Sure we are not many devs here and some active devs are AFK at least for AE, but what we have done is unbelievable.

Back in 2014 (21. August 2014) we started this journey. Everfairy and I were really enthusiastic about the "only" arcemu successor. We gave a little bit of hope for continue and support other arcemu based communities. Unfortunately there are still a lot of separated side projects working on that "dead" source instead of joining up. However, we are not here for that dead projects (believe it or not, there was a reason why we formed AE :-))

"So where are we now? Time for some numbers:"
- AE has 667K lines of code... Over the course of the last years the top five contributors added 3'128'195 and removed 2'289'488 lines of code. Believe it or not, by lines of code we have rewritten arcemu several times by now XD
- AE is finally on the "list of existing" projects. (special thanks to MangosRumors <3)
- AE has 19 contributors, some known people from arcemu times.
- AE supports three client versions in one project (TBC/WotLK/Cata) two are still in development (Classic/MoP), it is the only project around the emulation community with a consistent database structure and codebase for several versions at once.
- 414 closed issues, wow great work:-)

"We know it well, most "users" want to have everything fully working, but that was never our attempt to achieve. We created a flexible framework where you can do (whatever) you want."
- You want moving gameobjects? Do it.
- You want phasing on the Burning crusade? It is there.
- You want to script everything in LUA? Sure buddy whatever you want.
- You want to upgrade your server from BC to Cata or downgrade from WotLK to BC? Just recompile the server and you are good to go (just change the config.... maybe in the future)
- You want to script your own flightpaths? Yes and you can decide exactly how many times the mount will change the display id XD

What I try to tell you is, that we are not the blizzlike framework (according to the missing scripts) but hell yea we can do whatever we want :-)

"The downsides"
It is a fact, that the community is dying and the people who could handle the codebase have a lot to do in real life...
I'm pretty happy that we do not have hundreds of "users" crying about every change we do. On the other hand it is pretty silent around here. Most bugs are not known or new introduced bugs took months before someone noticed it.
Sometimes I feel like the overlord about the codebase, I guess after 7 years of being the "main dev" there is not a single line I have not already seen or wrapped my head around it (Mostly because it was written so badly that I have to guess about the functionallity and test what I think it should do to be able to rewrite it). UEs (unexpected behaviors) are all over the place and most of the time if we change some simple line it will bite us in the ass somewhere we would have never expected it. We are in our small bubble (like other projects), we never had a code review from outside our project... how the code works and looks like is mostly the work of a few people. Does it make sense to someone else? No one knows.

"The upsides"
We encourage people to work on the code. As always said "I prefer working code over following the codeguidlines". Sure we will review the style and think about every PR here, but I will never close a pullrequest just because it is not perfect by our codeguidlines. Are we professional? I guess we are as much as other projects on github. Over all we are humans and we do mistakes, whatever... we can do amazing stuff even it is not perfect ;-) There is no one blocking the development of AE, even when our real life gets over our heads, we always find time to review a PR or do little changes.

"Conclusion"
Sure we are not the biggest open source project out there, but I have the feeling that we have fun to reach our goals (big or small goals) without thousands of people using our source for their p-server-project. There is no need for a roadmap since we all try our best, to make AE better every day :-)

Big thanks at this point to:
- Appled - our Spellmaster and apparently PR-review-master
- schnek - for all the style changes and discussions (even when we not always understand him :-))
- aaron - for working his ass off to make transports work and fighting with our scripts

I have to thank Zallios for beating my ass when I fucked up something. Thank you armm77 that you appear out of no where from time to time to fix something even when you disappear for another few months.
And last but not least Everfairy... girl I miss you around AE every single day... I hope you will come back, and we can do crazy stuff with the code like it was back in 2014...

Retrospective