AscEmu - Framework 3.3.5

AscEmu - Framework

Show on github

About AscEmu

Introducing the Emu

AscEmu is an independent MMORPG server framework. The goal of the project is to provide a solid foundation for users to build on whilst also providing control over most aspects of the game.

AscEmu does not dictate to users to how the game must run, but instead provides a level of customisation that allows users to deliver the experience they want to deliver.

Whether you wish to mimic what once was or create something entirely new, AscEmu aims to provide the tools to do this.

Welcome to the summer of 2023

17. Jul 2023 by Zyres

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 :-)


2021 - What an awesome trip

"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...


Latest Discussions

Profile Zyres

Modern C++ Use shared_ptr instead of raw point

22. Jul 2023 by Zyres

SmartPointers come in handy if you want to invest your time in the code instead of memory management.As an example we have a lot Structures and Classes created...

Profile Zyres

Item Enchanter

17. Jul 2023 by Zyres

Item Enchanter by BatidaDeKill (Thursday, 9. March 2017)ItemEnchanter.txt

Profile Zyres

Icons with LUAScript

17. Jul 2023 by Zyres

Example Script for showing icons with LUAScript

Profile xBarselonx

The branch

21. Feb 2023 by xBarselonx

Can you tell me which branch to take master or develop? more stable branch "master".

Profile schnek

How to clear history and merge commits

13. Jun 2022 by schnek

First, let's find out how many commits need to be merged.????
This command will show you what commits you have added compared to the develop branch:

Profile Zyres

Speed up compilation

04. Jul 2021 by Zyres

Hey thereI see a lot of unnecessarily include headers. Keep in mind everytime you "#include" a header file it will open the file and begins to processing it fr...

Profile Zyres

Codestyle VS functionality

30. Dec 2020 by Zyres

So there is a lot of things we could discuss here, but the most important topic in the last few years was:
codestyle VS functionalitySure w...

Profile Zyres

Missing Cata data

12. Dec 2020 by Zyres

Hey there :-)here some information about missing data in AE:

Missing creature_propertie

SELECT * FROM ┬┤your_favori...