ACEmulator is a custom, completely from-scratch open source server implementation for Asheron's Call built on C# The ACEmu project is for learning purposes and we only make use of the game client for interoperability with the server.
- MySQL and MariaDB are used as the database engine.
- Latest client supported.
- Currently intended for developers that wish to contribute to the ACEmulator project.
- SQLYog on Github
- Hex Editor (Hexplorer or 010 Editor are both good)
- ACLogView on Github
- StyleCop Visual Studio Extension on visualstudio.com
- For a more detailed installation process, please see this excellent write up by "Immortus"
- Install MySQL (MariaDB is preferred, but either will work) MySQL minimum required version 5.7.17+ MariaDB minimum required version 10.2+
- Create three databases named
ace_auth
,ace_shard
, andace_world
. - Load AuthenticationBase.sql, ShardBase.sql, and WorldBase.sql for their respective databases.
- Load all incremental SQL updates found in the Database\Updates\Authentication sub directory in the order of oldest to newest.
- Load all incremental SQL updates found in the Database\Updates\Shard sub directory in the order of oldest to newest.
- Download from ACE-World the latest release of world data, extract and load into your ace_world database.
- Load all incremental SQL updates found in the Database\Updates\World sub directory in the order of oldest to newest.
- Copy
Config.json.example
toConfig.json
and modify database settings, such as your database password. - Build and run ACE.
- Create your first account as an admin at the prompt -
accountcreate testaccount testpassword 5
- Launch AC -
acclient.exe -a testaccount -h 127.0.0.1:9000 -glsticketdirect testpassword
- Contributions in the form of issues and pull requests are welcomed and encouraged.
- The preferred way to contribute is to fork the repo and submit a pull request on GitHub.
- Code style information can be found on the Wiki.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
- Please use the issue tracker provided by GitHub to send us bug reports.
- You may also submit bug reports to the ACEmu Forums.
- Discord Channel (best option)
- ACEmulator Forums
- Problem
When opening the solution, you get a "The imported project "{project path}\ACE\Source\packages\StyleCop.MSBuild.5.0.0-beta01\build\StyleCop.MSBuild.targets" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk" error.
- Solution
Right click "Solution 'ACE'" in the Solution Explorer and select "Restore Nuget Packages". After it restores, right click "ACE (load failed)" and select "Reload Project."
2. My PR failed because AppVeyor timed out - "Build execution time has reached the maximum allowed time for your plan (60 minutes)."
- Problem
When you submit a PR, we have automation in place that automatically kicks off a build in AppVeyor. These builds sometimes time out. The most common cause is because a Debug.Assert statement was hit that popped up a UI dialog on AppVeyor. However, because it's just running a command line tool, there's no way to click the popup. Even worse, there's now way for you to even see what it says.
- Solution:
- Right click your solution in Visual Studio, select "Rebuild Solution" and make sure there are no compliation errors.
- Installed with Visual Studio 2015 is "Developer Command Prompt for VS2015". Open it up, and change to your "ACE\Source" directory.
- Run the following command and you'll be able to see the popup triggering the build failure.
vstest.console /inIsolation "ACE.Tests\bin\x64\Debug\ACE.Tests.dll" /Platform:x64