Welcome to AscEmu

AscEmu is derived from ArcEmu to keep up the Antrix-Ascent-Arcemu way of MMORPG Framework. We focus on optimizing the codebase and improving the ingame functionality.

You can help us by contributing. It is completely open source and can be used by everyone.

Welcome to 2017 and with it, modern C++

08. Jan 2017 by Zyres


Welcome to 2017 and with it, modern C++

We dropped support for Visual Studio versions older than Visual Studio 2015 Update 3 (see this thread for instructions on how to set up Visual Studio correctly visit this link).

Our goal for this year is to replace as much legacy code as possible with modern C++.

What is Legacy Code?
Legacy code refers to all code prior to the creation of the AscEmu project. This code represents over a decade of community efforts and is licensed under the Affero General Public License (AGPL). Going forward, all new contributions will be licensed under the MIT license, which permits use of the source without restriction. visit this link

What is the AGPL?
This license is designed to force all users of the software to release the source if they provide access to the program in any form. This includes providing access to a hosted service via networking. This is more restrictive than the GPL (a license preferred by many other open source projects), which requires source disclosure only when providing the binary itself.

Why not simply release AscEmu under the new license?
There are two main reasons for this. The first reason is that we simply do not believe we have the legal rights to do so. The second (and arguably more important) reason is that we do not believe it is ethical for us to do so. Previous contributions were made to the project under the knowledge that the project had a GPL-style license - a license that developers often use for various ethical and political reasons, rather than simply out of pragmatism. As we cannot possibly contact all previous developers to ask permission, even if we had permission to relicense the project doing so would be incredibly disrespectful as we would be disregarding the wishes of past contributors. AscEmu would not exist without their work, and we are extremely thankful for it.

What is modern C++?
C++ is a very old language, but is still being actively developed. Ever since 2011, C++ has made huge improvements to make the language safer and more readable. In light of this, we will be keeping up with the latest version of C++, and our code will reflect this through use of features such as type deduction and smart pointers. This means that going forward, you will be required to use a modern C++ compiler in order to compile AscEmu - this will often mean using the latest version of MSVC, GCC or Clang.

How can I update my custom server?
First of all, you should check out the commits made between your version of AscEmu and the current public version. We highly recommend that you document your changes. We also recommend that you use the "AdditionalTable" feature and move your custom spawns and properties to another table. You should check out the db updates (especially the structure changes).
You should ALWAYS set up a test server if you decided to switch to a newer version of AscEmu and TEST your custom scripts/db-changes there before doing anything else! While we support custom modifications of AscEmu as best we can, changes to the public repository are made only with the public repository in mind, meaning that occasionally our changes WILL break your custom code. You are responsible for checking this before updating.

Will you be developing game content (instances, spells etc)?
We accept pull requests aimed at developing game content, however the focus of the AscEmu developer team is currently on improving the core systems in AscEmu. Once we are happier with the state of the core systems in AscEmu (or if we get more contributors :)) we will revisit the idea of officially focusing on game content. Remember, AscEmu is powered by community contributions - if you want something improved, you have the power to change it!

Finally, an immediate change we are making is to types used - do NOT use old typedefs such as uint32, uint8 etc - use the new fixed-size types such as uint32_t and uint8_t for all new code.

Best regards,
The AscEmu Team


Merry Christmas and a happy new year!

24. Dec 2016 by Zyres


We wish you a merry christmas and all the best for the year 2017.
The AE-Team is driving home for christmas. Our new team member Octoplush will answering your support requests (Do not expect any wonder)


Best regards
The AscEmu-Team


Looking for new staff

28. Nov 2016 by Zyres


Dear Community

AscEmu is a big project with nearly 840K lines of code and 2 supported versions. Currently we stuck between database and feature development on 4.3.4 and there is a lot to do.
We need some new people to get back on track so feel free to step in.

- C++ development
- MySQL development
- Content management
- Testing and reporting
- Support and verification management
- Documentation

Open tasks:
- Spellsystem (3.3.5/4.3.4)
- Backport from 3.3.5 to 2.4.3
- Synchronize table structure (4.3.4/3.3.5)
- Documentation LuA-Engine
- Proper npc AI
- ... a lot more

Feel free to post your content on our forums.

Best regards


Organized Github repo

04. Sep 2016 by DankoDJ


We will move the logonserver files to a submodule

git submodule update --init --recursive
To receive all files from our submodule(s).



26. Jun 2016 by Zyres


Upcoming changes:
- creature_names and creature_proto going to be in one table creature_properties

- Rename: event_names -> event_properties
- Rename: gamobject_namse -> gameobject_properties
- Rename: items -> item_properties
- Rename: itempages -> item_pages
- Rename: items_extendedcost -> item_extended_cost
- Rename: items_linked_itemsets -> itemset_linked_itemsetbonus
- Rename: quests -> quest_properties
- Rename: teleport_coords -> spell_teleport_coords

- Rename: localized tables:
-- creature_name_localized ->locales_creature
-- gameobject_names_localized -> locales_gameobject
-- items_localized -> locales_item
-- itempages_lacalized -> locales_item_pages
-- npc_monstersay_localized -> locales_npc_monstersay
-- npc_script_text_localized -> locales_npc_script_text
-- npc_text_localized -> locales_npc_text
-- worldbroadcast_localized -> locales_worldbroadcast
-- worldstring_tables_localized -> locales_worldstring_table

We will list the major .sqls here for simple update your world db.


Command changes

09. May 2016 by Zyres


Currently we are working on chat commands.
Check out the command documentation on our wiki pages:
visit this link

Best regards


Transporter updates

22. Feb 2016 by Zyres


We finally changed the transport system with the following features:
- Player can logout on transports, after relog they are still on the transport.
- npcs react to players (e.g. Snack-O-Mat or simple gossips)
- player orientation is now saved to the characters table (Check out the updatefiles and char_db_version!!!)
- creatures won't disappear on map change

All instance related stuff will be committed in the near future.

These changes are available on our develop branch and will be merged into our master branch as soon as possible: visit this link
Special thanks to Aaron02 and Evilfairy.


Good bye HackFixes.cpp and enGB dbcs only

17. Feb 2016 by Zyres


Some of you had noticed that we have changed a lot in HackFixes.cpp

We discussed the content of this file internal and we are going to replace these "hackfixes" in a new file called SpellCustomizations.
If you notice that some spells are not working anymore, please create a new issue with the following content on our github page:
- ID: (Use the Addon "SpellId")
- Describe "how should it work":
- Describe "the problem, how it currently work":

If we are done with these changes you can use dbcs from other client languages too.

Best regards


Upcoming changes

08. Feb 2016 by Zyres


We clean up some tables in the database

Dropped tables:
creature_proto_difficulty -> link difficulty with creature entry in table creature_difficulty.
itemnames -> redundant data, see items table.
itempetfood -> merged into items table (column food_type).

Misc changes:
- Removed column difficulty (had never worked correct)
- Added column dungeon_difficulty (now it is saved)
- Added column raid_difficulty (now it is saved)

The Wiki is already updated.

Since this commit: visit this link world is worldserver.

Best regards Zyres


New year is coming

17. Dec 2015 by Zyres


A short overview for the year 2015

Since we moved to open source, a lot of things happened to the framework. Here is a short overview what we have done:
- 875 commits in closed source (eventmgr was implemented here)
- over 900 commits in open source
- over 100 issues fixed reported by you on our github branch
- Style changes everywhere
- 939 issues fixed reported by static analytics coverity scan
- dbc loader is nearly completly rewritten
- database is developed by us and not by an external dev team (we changed a lot in our database)
- and a lot more...

We are a small group of people and we can be proud of ourselfs and our work we have done in 2015.

What will happen in 2016?
That's a good question and I can't answer it. It depends on you (and your creativity and skills). Feel free to work on an subsystem, discuss functions and create some awsome code to improve AscEmu.

What should happen in 2016?
Noting speciall, we should work on the issues on github and maybe do some promotion to grow our team and be more flexible/faster in writing code.

The next few days we will clean some random stuff so be patient with us, it is christmas and we visit our families and friends too ;-)

Best Regards
Thank you for your support


New dbc loader

09. Dec 2015 by Zyres


A few months ago we implemented a new dbc loader system. Now we moved most dbcs to this system.
If you have any issues/crashes, please report it as detailed as possible, so we can resolve the problems.

Best regards


"One logon"

08. Oct 2015 by Zyres


Now it is done.... "one logon" has arrived.

3.3.5a changes:
- logoncomm allowing clients with build 12340 and 8606.
- Send only the realms which matches client build

2.4.3 changes:
- complete update of the logonserver
- added all new features for logoncomm (packet handling)
- Send only the realms which matches client build

Please update your realms.conf (see: visit this link )

Currently our 2.4.3 repo is still only for MSVC compile. If you like to help feel free to report issues or create pullrequests.

Best regards.


RBG honor in world.conf

17. Sep 2015 by Zyres


We applied the contributed patch from master312.
This patch fixed the missing honor values for random battlegrounds.

To use it add the following lines to your world.conf:

For more information see the latest commits on github.


Celebration everyday

24. Aug 2015 by Zyres


If you wonder about the commits on github (including these mysterious CID XXXX) here is the answer.
Coverity-Scan is a static analytic tool and finally we reached a Defect Density of 0.42

For more information click visit this link
Good job together! We are on a good way ;-)


Happy Birthday AscEmu #1

21. Aug 2015 by Zyres


The first year of development is done.

Good work and special thanks to our contributors:
- aaron02
- armm77
- Evairfairy
- DankoDJ

Special thanks to Tulba for reporting (mostly) detailed issues.


3.3.5 logon changes

06. Aug 2015 by Zyres


Tonight we changed/removed the password column. (AscEmu/AscEmu not in our TBC repository)
If you setup a new ascemu server you can create a new account in the logon console:
account create name password email

Setting the gm level:
account set gm name gmlevel

See this wikipage: visit this link

If you are updating you server you will need to execute sql/logon_updates. (Not for new users)


2.4.3 project

16. Jun 2015 by Zyres


We started the 2.4.3 TBC project: visit this link

- MSVC compilation (done)
- Full db (done)
- new move maps (extractor) included and old map-system updated


Short summary

19. Mar 2015 by Zyres


After we start with this project (end of August) we finished some of the big points:
- Random Dungeonfinder
- mmaps_extractor
- GameEventMgr (all old ArcEmu sql data are ported)
- ...

Currently we try to clean up the source for future works.

We need feedback and detailed bugreports to plan the next steps.


Opening the gates

18. Feb 2015 by Zyres


Currently the source is available on GitHub. (since 14/03/2015 ;-).)

We would appreciate contributions and some helping hands.

NOTE: We are not high level pro magician... things need time.

Best regards


Under Construction

02. Oct 2014 by Zyres


As you can see we are still under construction.

Our goal is to create a small community to keep up the "Antrix-Ascent-Arcemu" way of MMORPG framework.
We are a couple of hobby programmer and designer, try to do the best with our knowledge and creativity.

If you don't like what we do "don't flame us"! If you think something is wrong, make a suggestion or start a discussion on our forums.

Best regards
AscEmu Team