top of page

Important Notes for DarkflameUniverse WSL Guide

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

I strongly recommend using my other guide (multiplayer) because there is a very possible chance that WSL simply will not work, even if you did everything right.

My other guide is exactly the same as this one except on a different and more stable platform. Please consider this before continuing!

This guide was made a month after the initial release of the source code for DarkflameServer, and the footage in the video is the first time I successfully installed the server. As a result, this video gets slightly outdated as new issues arise and it was not completed to the best of my ability.

I highly recommend that you instead follow my multiplayer server guide since it is much higher quality, is more up-to-date, does not require your personal computer to be running the server locally, and allows you to play with friends. This guide requires you to be in the US or UK and a credit or debit card is also required, although it does not cost anything. If you do not meet these requirements or only want the server to be run as a LAN server, you can continue to follow this guide.

Since this was my first time, I overlooked a few major issues in this video, including the one that involves WSL's IP address changing every time your computer is restarted. This would force you to update the IP address in multiple locations each time you wanted to play. I addressed this issue in an additional video. I also included a script that will automate most of the server startup process. Please follow this additional video once you have completed the original guide and the server is working properly.

Watch the video here: https://www.youtube.com/watch?v=4vDFu0c_X70

Newer versions of Darkflame Server require cmake to be version 3.18 or higher. This is because WSL uses a long-term support version of Ubuntu, and cmake cannot be updated to a newer version by default. You will receive an error at 12:37 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.24 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 "Building the Environment" 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 12:30 IN THE VIDEO, YOU WILL NEED TO DO THE FOLLOWING:

If you have already reached the "make" step (12:30) 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 17:20 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 yourUsername ~/DarkflameServer

cmake ..

make -j 2

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 17:00 in the video, from anywhere on the server console. Simply run each of these commands in order and the issues will be fixed:

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

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

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

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

At 29:00 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. You can leave the original four config files as they are.

At 31:30 in the video, I instruct you to open and edit a file called l_zone_survival_client.lua. By default, this file is marked as "Read-only" and cannot be saved as shown in the video. I misunderstood this in the video and did not clarify. To fix this:

Right-click the l_zone_survival_client.lua file

Click "Properties"

In the menu that shows up, look for "Read-only" and uncheck the box

Click OK and continue along with the video

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