Installation & Setup - AAEmu/AAEmu GitHub Wiki
Make sure you checked our Understanding AAEmu Components page to get a better understanding on each of the components you are going to use and install towards this guide.
Getting Started
This guide will help you get started with the AAEmu project both as an experienced developer or as an enthusiast player wanting to spin up your own private server to play with friends.
Preparing your environment
Downloads needed
-
Install MySQL - Archeage State Database
Download MySQL 8.0.12 Installer and follow all the default wizard setup instructions to install your mysql server
-
Install .NET SDK.
Download .NET 9 SDK and follow all the default wizard setup instructions to install the SDK, this is required to build and run the project.
-
Download - AAEmu Repository
Go to AAEmu Repository and download the repository.
We strongly recommend to use the
develop
branch (stable).You can download the repository as a
zip
file orclone
it using git. -
Download - Archeage Reference Sqlite Database
Download the server
compact.sqlite3
from Google Drive or MEGA and copy this file to theAAEmu.Game/Data
folder in the location where you downloaded from the repository (previous step). -
Download and Extract - Archeage Client
Download the Archeage Client v1.2 (Trion_1.2 r208022) from one of the options below:
-
Download and Extract - Archeage Game Launcher
Setup
Setup MySQL - Archeage State Database
-
Open MySQL Workbench (Which should have been included in the MySQL setup above) and create two schemas for AAEmu to use.
-
Name these schemas
aaemu_game
andaaemu_login
, your workbench should now look like this: -
After you have made both schemas, select the aaemu_login schema by double clicking it.
You should see it become bold (Like the aaemu_game schema is the picture above) to indicate that it is selected.
-
Go to the location where you downloaded from the repository and enter into the
SQL
folder -
Drag aaemu_login.sql file into your MySQL workbench to the center where the query window is by default.
-
Click the lightning bolt icon over the text to run the commands.
-
Select aaemu_game schema and repeat the process for aaemu_game.sql file.
-
After you have generated your tables in this way, select the aaemu_login schema and open an sql tab if one isn’t already open using this icon.
-
This first command will add a game server into the database, named AAEmu.Game, running on your local IP on port 1239
Enter the following command into the tab and execute it.
INSERT INTO `game_servers` (`id`, `name`, `host`, `port`, `hidden`) VALUES ('1', 'AAEmu.Game', '127.0.0.1', '1239', '0');
-
(optional) The second will create a login for you to use with the username and password as
test
. By default we have auto-create accounts enabled, so this step is only needed if you want to disable it.Enter the following command into the tab and execute it.
INSERT INTO `users` (`id`, `username`, `password`, `email`, `last_login`, `last_ip`, `created_at`, `updated_at`) VALUES (NULL, 'test', 'n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg=', '', '0', '', '0', '0');
-
Well done, you have now setup your MySQL database for AAEmu.
Game Server Configuration
-
Build the project. Open the command prompt in the location where you downloaded from the repository and run the following command:
dotnet build
Result should be like below:
-
Go to the location where you downloaded from the repository and enter into the
AAEmu.Game\bin\Debug\net9.0
folder -
Find the
exampleconfig.json
file, rename it toConfig.json
and update its contentsChange the values to fit your system. You can find details on this here
The file contents show look similar to the below. Change the user and password info to what you setup in your MySQL installation.
{ "Id": 1, "AdditionalesId": [], "SecretKey": "test", "Network": { "Host": "*", "Port": 1239, "NumConnections": 10 }, "StreamNetwork": { "Host": "*", "Port": 1250 }, "LoginNetwork": { "Host": "127.0.0.1", "Port": "1234" }, "WebApiNetwork": { "Host": "*", "Port": 1280 }, "Connections": { "MySQLProvider": { "Host": "localhost", "Port": "3306", "User": "change to your user name", "Password": "change to your user password", "Database": "aaemu_game" } }, "CharacterNameRegex": "^[a-zA-Z0-9а-яА-Я]{1,18}$", "MaxConcurencyThreadPool": 8, "HeightMapsEnable": true }
-
Find the file
AAEmu.Game\bin\Debug\net9.0\Configurations\ClientData.json
and open it -
Locate the root folder path where you extracted the Archeage Client, copy the full path to the
game_pak
file (should be the biggest file in the folder) -
Add the path as one of the
Source
options in theClientData.json
file like the following:{ "ClientData": { "PreferClientHeightMap": true, "Sources": [ "ClientData", "ClientData/game_pak", "C:/path/to/your/archeage/client/game_pak" ] } }
Note the path here uses forward slashes, and the last entry does not require a comma at the end.
Login Server Configuration
-
Go to the location where you downloaded from the repository and enter into the
AAEmu.Login\bin\Debug\net9.0
folder -
Find the
exampleconfig.json
file, rename it toconfig.json
and update its contentsChange the values to fit your system. You can find details on this here
The file contents show look similar to the below. Change the user and password info to what you setup in your MySQL installation.
{ "SecretKey": "test", "AutoAccount": true, "InternalNetwork": { "Host": "127.0.0.1", "Port": 1234 }, "Network": { "Host": "*", "Port": 1237, "NumConnections": 10 }, "Connections": { "MySQLProvider": { "Host": "127.0.0.1", "Port": "3306", "User": "change to your user name", "Password": "change to your user password", "Database": "aaemu_login" } } }
Launcher Configuration
-
Go the folder where you extracted the Launcher and open it.
-
Click in the
Path to Game
input, locate your Archeage Client folder within thebin32
folder and select thearcheage.exe
file like the following:
Running the servers
Start the servers in the following order:
-
Go to the location where you downloaded from the repository and enter into the
Scripts
folder -
Run the
StartLoginServer.bat
-
Run the
StartGameServer.bat
-
After a few moments you should see similar outputs in the command prompt windows:
Playing the game
-
Open the Launcher and configure your username and password
If you installed the optional SQL command earlier, you can use
test
on both the username and password here.Otherwise if auto-create is enabled (default), you can use your own username and password you want. Just make sure your username is not too long (32 characters maximum). For your own safety do not use the same password that you use on any other (online) account as this password will be stored in plain text during authentication.
You can also change or add login information in the MySQL
aaemu_login.users
table if you want auto-account-creation to be disabled -
Click in the
Play
button and you should see the ArcheAge Client starting.
Happy playing! 🥳🥳🥳