top of page

Important Notes for DarkflameUniverse Oracle VPS Guide

PLEASE read ALL of this prior to watching the video, if you do not read everything your server will NOT work properly!

This Oracle guide has been deprecated. Please use my new multiplayer guide for running a multiplayer server on Linux. This page will remain for archival purposes.

This guide was made a few months after the initial release of the source code for DarkflameServer. As a result, this video gets slightly outdated as new issues and changes arise.

​

Currently, I have confirmed that Oracle Cloud VPS is available for free in the United States and the United Kingdom. It may be available for free in other regions, but I am unable to confirm this.

There have been reports of issues with a couple different components of the server when using Ubuntu 20.04 LTS, which is what I recommended in the video.​

​

It is no longer recommended to use 20.04. Please use Ubuntu 22.04 LTS for your server. This version is fully supported and will minimize any potential issues.

Newer versions of Darkflame Server require cmake to be version 3.24 or higher. This is because Ubuntu 20.04 is a long-term support version of Ubuntu, and cmake cannot be updated to a newer version by default. You will receive an error at 21:10 telling you this information if you attempt the "cmake .." step. A few commands will need to be run to resolve this. These are very specific commands so I recommend copying each one in its entirety and then pasting it into the command prompt. You can paste by using the right-click on your mouse. Run the following commands, in order:

​

Step 1: Update and install required packages

sudo apt-get update

sudo apt-get install gpg wget

​

Step 2: Retrieve signing key (this is all one one command on one line)

wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null

​

Step 3: Add cmake repository (There are two commands here, one long and one short)

echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null

sudo apt-get update

​

Step 4: Update keyring package to stay up to date

sudo rm /usr/share/keyrings/kitware-archive-keyring.gpg

sudo apt-get install kitware-archive-keyring

​

Step 5: Install cmake, then check the version (should be 3.28 or higher)

sudo apt-get install cmake

cmake --version

A more recent issue will cause the make step to fail, which will completely halt your progress and can be very confusing. Ensure that you do this prior to the "Installing Darkflame Server" chapter of the video. Run these two commands in order, and this should prevent the issue:

sudo apt update

sudo apt-get install -y git gcc cmake build-essential zlib1g zlib1g-dev mariadb-server python3 python3-pip sqlite3 net-tools unzip libssl-dev

​

IF YOU HAVE NOT RAN THE PREVIOUS TWO COMMANDS BEFORE 21:00 IN THE VIDEO, YOU WILL NEED TO DO THE FOLLOWING:

​

If you have already reached the "make" step and the previous two commands do not fix the issue, you may need to delete the DarkflameServer folder and re-download the server, and re-copy the client files if you have already passed 35:05 in the guide. Run each of these commands in order, if needed:

sudo apt update

sudo apt-get install -y git gcc cmake build-essential zlib1g zlib1g-dev mariadb-server python3 python3-pip sqlite3 net-tools unzip libssl-dev

cd

sudo rm -R ~/DarkflameServer

git clone --recursive https://github.com/DarkflameUniverse/DarkflameServer

sudo mkdir -p ~/DarkflameServer/build

cd ~/DarkflameServer/build

sudo chown -R ubuntu ~/DarkflameServer

cmake ..

make

Recent versions of Darkflame Server require several new additions to the MySQL database in order to function properly. This can be fixed at any time after 27:50 in the video, from anywhere on the server console, as long as the MasterServer program is not running. Simply run each of these commands in order and the issues will be fixed:

mysql -u dluserver -D DLU -p < ~/DarkflameServer/migrations/dlu/1_unique_charinfo_names.sql

mysql -u dluserver -D DLU -p < ~/DarkflameServer/migrations/dlu/2_reporter_id.sql

mysql -u dluserver -D DLU -p < ~/DarkflameServer/migrations/dlu/3_add_performance_cost.sql

mysql -u dluserver -D DLU -p < ~/DarkflameServer/migrations/dlu/4_friends_list_objectids.sql

At 44:30 in the video, you will notice that your four config.ini files will look different from mine. The developers recently made this process easier by only requiring users to fill out a single file, sharedconfig.ini, rather than all four. This makes it easier for you too! Fill out the database information (host, database, user, password) exactly as I do, except you will only need to do it in the sharedconfig.ini file.

Additionally, ensure that you replace localhost in the external_ip= field with your server's IP address. You can leave the original four config files as they are.

You can ignore this notice if you are using the sharedconfig.ini file mentioned above. If not, please read this as well.

At 47:39 in the video, I accidentally cut out the important step of adding the database information and external IP to the masterconfig.ini file. Don't forget to add both of these things, as you did with the other .ini files, or else the server will not work! You can briefly see what the file should look like at the timestamp mentioned previously.

Recent information has revealed that it is NOT recommended to forward port 2000 and 3306 on the virtual machine, as it can lead to network insecurity. If you are reading this before you have started following the guide, omit "2000" and "3306" from the step featured at each of the following timestamps:

7:27

7:53

18:36

​

If you have already forwarded ports 2000 and 3306 in the Oracle dashboard, you can return to the network page in Oracle and remove the insecure ports from the list.

Sorry about the repeated audio at 42:00! Small editing mistake.

That is it! I apologize for the long list, but this project is being actively worked on by the developers and sometimes additional steps are necessary. 

​

If you need any further assistance, click here to join my Discord server.

bottom of page