/SteerStone-Emulator

Emulator for Darkorbit 2008-2009

Primary LanguageC++GNU General Public License v3.0GPL-3.0

SteerStone-Darkorbit

A C++ Emulator which emulates 2009 version of Darkorbit (before the UI make over).

Info

The Daemon Emulator is coded in C++17. Using the following libraries:

  • MYSQL C v5.6
  • Boost v6.6
  • OpenSSL v1.1
  • SFMT v1 (Customised)

Networking

Using Boost ASIO with the capability of asynchronous operations.

Database

Using MYSQL C - Using own wrapper class which supports synchronous/asynchronous queries.

Logger

  • Using own Logger class which supports the standard logging configurations: INFO, WARNING, ERROR, VERBOSE, ASSERT.
  • Logs to terminal console or/and file.
  • Thread Safe.

Configuration File

  • Using own configuration.
  • Thread Safe

Thread Pooling

  • Using own Thread Pooling class.
  • Optimises existing running threads and their tasks; pushes/pops tasks to other threads depending on performance on said thread.
  • Thread Pooling launches x amount of threads as default depending on your machine specifications (can be changed through configuration).
  • Threads are split into types: *Inclusive: Runs multiple tasks. *Exclusive: Only runs one task. *Critical: Launch new task on new thread ignoring hardware concurrency.

Requirements

In order to boot the emulator, you require the following tools/libaries below.

Click on the link to be directed to download page

Tools

Libaries:

Installation

Step 1:

A. Create a folder and create two sub folders; Source and Build such as:

SteerStone/
├── Source/
├── Build/

B. Once you've created your folder(s), clone the source into your Source folder.

Step 2:

A. Open CMake, and set the source directory to your Source folder and set the build directory to your Build folder.
B. Click Configure and then afterwards click build.

Step 3:

A. Go into your build folder and locate the file which is named: SteerStone-Darkorbit.sln

B. Compile the project.

C. Once compiled, go into build folder and find the folder bin and you should see the compiled binaries such as:

SteerStone/
├── Build/bin/Release/

Step 4:

A. Go into your source folder, into SQL Folder and then into Base folder such as:

SteerStone/
├── Source/sql/Base

B. Query the base.sql into your MySQL Editor (for example: HeidiSQL).

Step 5:

A. Go back into your build directory where the compiled binaries are. Find game.conf.dist.
B. Find the MySQL Section settings and set the database username/password/database.
C. Rename Policy.conf.dist to Policy.conf do the same for Game aswell.

Contact

You can contact me on discord (Quadral#6999) or open an issue.