Skip to content

Installation & Setup

NLObP edited this page May 29, 2024 · 9 revisions

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

  1. Install MySQL - Archeage State Database

    Download MySQL 8.0.32 Installer and follow all the default wizard setup instructions to install your mysql server

  2. Install .NET SDK.

    Download .NET 8 SDK and follow all the default wizard setup instructions to install the SDK, this is required to build and run the project.

  3. Download - AAEmu Repository

    Go to AAEmu Repository and download the repository AAEmu 3.0.3.0.

    We strongly recommend to use the client_version/3.0_client(2017-03-15)+ branch.

    You can download the repository as a zip file or clone it using git.

    image

  4. Download - Archeage Reference Sqlite Database

    Attention! The format of the database has been changed:

    • Now requires the database compact.server.table.sqlite3 - contains server tables;
    • Now the database required is compact.sqlite3 - the database from the current client;

    Download [compact.sqlite3 & compact.server.table.sqlite3] and copy this files to the AAEmu.Game/Data folder in the location where you downloaded from the repository (previous step).

  5. Download and Extract - Archeage Client

    Download the Archeage Client v.3.0.3.0 (r330995) from one of the options below:

  6. Download and Extract - Archeage Game Launcher

    Download Latest

Setup

Setup MySQL - Archeage State Database

  1. Open MySQL Workbench (Which should have been included in the MySQL setup above) and create two schemas for AAEmu to use.

    image

  2. Name these schemas aaemu_game_3030 and aaemu_login, your workbench should now look like this:

    image

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

  4. Go to the location where you downloaded from the repository and enter into the SQL folder

    image

  5. Drag aaemu_login.sql file into your MySQL workbench

    image

  6. Click the lightning bolt icon over the text to run the commands.

    image

  7. Select aaemu_game_3030 schema and repeat the process for aaemu_game.sql file.

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

    image

  9. 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');
  10. The second will create a login for you to use with the username and password as test.

    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');
  11. Well done, you have now setup your MySQL database for AAEmu.

Game Server Configuration

  1. 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:

    image

  2. Go to the location where you downloaded from the repository and enter into the AAEmu.Game\bin\Debug\net8.0 folder

  3. Find the exampleconfig.json file, rename it to Config.json and update its contents

    Change the values to fit your system.

    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": "127.0.0.1",
            "Port": 1239,
            "NumConnections": 10
        },
        "StreamNetwork": {
            "Host": "*",
            "Port": 1250
        },
        "LoginNetwork": {
            "Host": "127.0.0.1",
            "Port": "1234"
        },
        "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": false
    }
  4. Find the file AAEmu.Game\bin\Debug\net8.0\Configurations\ClientData.json and open it

  5. 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)

    image

  6. Add the path as one of the Source options in the ClientData.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

  1. Go to the location where you downloaded from the repository and enter into the AAEmu.Login\bin\Debug\net8.0 folder

  2. Find the exampleconfig.json file, rename it to config.json and update its contents

    Change the values to fit your system.

    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": "127.0.0.1",
            "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

  1. Go the folder where you extracted the Launcher and open it.

    image

  2. Click in the Path to Game input, locate your Archeage Client folder within the bin32 folder and select the archeage.exe file like the following:

    image

Running the servers

Start the servers in the following order:

  1. Go to the location where you downloaded from the repository and enter into the Scripts folder

  2. Run the StartLoginServer.bat

  3. Run the StartGameServer.bat

  4. After a few moments you should see similar outputs in the command prompt windows:

    image

Playing the game

  1. Open the Launcher and configure your username and password

    By default you should use test on both.

    You can change this if needed in the MySQL aaemu_login.users table

    image

  2. Click in the Play button and you should see the Archeage Client starting.

Happy playing! 🥳🥳🥳