A C++ Emulator which emulates 2009 version of Darkorbit (before the UI make over).
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)
Using Boost ASIO with the capability of asynchronous operations.
Using MYSQL C - Using own wrapper class which supports synchronous/asynchronous queries.
- Using own Logger class which supports the standard logging configurations: INFO, WARNING, ERROR, VERBOSE, ASSERT.
- Logs to terminal console or/and file.
- Thread Safe.
- Using own configuration.
- Thread Safe
- 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.
In order to boot the emulator, you require the following tools/libaries below.
Click on the link to be directed to download page
- Boost 1.66
- OpenSSL 1.1
- MySQL C 5.6.44
- Note; Downloading a newer version than the one provided, could lead to unintentional results.
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.
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.
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/
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).
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.
You can contact me on discord (Quadral#6999) or open an issue.