Skip to content
Slotease edited this page Oct 20, 2023 · 81 revisions

ACE consists of two main components. The database, and the server (executable).

ACE is very demanding on the database. This load increases with player count. For this reason, it is highly recommended your database be installed on the same instance as your server.  
 

Recommended System Requirements

  • 1-10 Players
    • 2 Threads
    • 4 GB RAM
  • 11-49 Players
    • 4 Threads
    • 8 GB RAM
  • 50-499 Players
    • 6 Threads
    • 16 GB RAM
  • 500+ Players
    • 8 Threads
    • 32 GB RAM
    • 2 Mbps incoming network traffic
    • 12 Mbps outgoing network traffic

Installing and Running the Server

Database

  1. Install MySQL or MariaDB

  2. Create three databases named ace_auth, ace_shard, and ace_world

  3. Load AuthenticationBase.sql and ShardBase.sql for their respective databases. These can be found in the Database\Base directory.

  4. Load all incremental SQL updates found in the Database\Updates\Authentication sub directory in the order of oldest to newest. Skip this step if there are no updates in this directory.

  5. Load all incremental SQL updates found in the Database\Updates\Shard sub directory in the order of oldest to newest. Skip this step if there are no updates in this directory.

  6. Download the latest release of world data, extract and load into your ace_world database.

  7. SKIP THIS STEP IF USING DOWNLOADED WORLD DATA FROM PREVIOUS STEP.

    • If using a custom database, you may need to update the schema for the emulator to operate correctly. If you're using the official release data, this step is not recommended.
    • Load WorldBase.sql from Database\Base 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. Skip this step if there are no updates in this directory.

Recommended Database Configuration

  • inno_db_buffer_pool_size This setting can have a significant impact on your database performance. The minimum size recommended for a public server is 2G. As the server approaches 500+ active players, the recommended buffer pool size will grow to over 5G. You will need to manage the memory consumed by your database and the ACE server vs the total system memory available. The buffer pool size should not exceed more than half of your total system memory. Using about 25% of your system memory for the buffer pool is a likely safe number for a common ACE configuration, assuming your system is provisioned at or greater than the recommended system requirements described above.

Host Agnostic Config.js Recommendations

Host specific information can be found in both the Windows and Linux Specific Instructions.
The Config.js already has documentation. However, we have found the following settings pair well with typical servers of the given player counts:

  • 1-10 Players
    • WorldThreadCountMultiplier: 0.34
    • MultiThreadedLandblockGroupPhysicsTicking: false
    • MultiThreadedLandblockGroupTicking: false
  • 11-49 Players
    • WorldThreadCountMultiplier: 0.5
    • MultiThreadedLandblockGroupPhysicsTicking: true
    • MultiThreadedLandblockGroupTicking: false
  • 50-499 Players
    • WorldThreadCountMultiplier: 0.5
    • MultiThreadedLandblockGroupPhysicsTicking: true
    • MultiThreadedLandblockGroupTicking: true
  • 500+ Players
    • WorldThreadCountMultiplier: 0.5
    • MultiThreadedLandblockGroupPhysicsTicking: true
    • MultiThreadedLandblockGroupTicking: true

Configuring the Server (Shard)

Shard specific configurations are done in game, or on the console, using ACE commands.

Connecting to the Server

  1. Create your first account as an admin at the ACE prompt: accountcreate testaccount testpassword 5
  2. Launch ACClient directly with this command: acclient.exe -a testaccount -v testpassword -h 127.0.0.1:9000  
     

Resources

ACE provides help for server operators. The ACE Discord can be a great resource with advice available from other server operators as well as developers