You will need to find and download an unpacked LEGO Universe client (this guide will work for packed and unpacked clients). Make sure that its hash matches the ones mentioned in the repo README
This tutorial was done in Windows 11. The way some things are accessed might be different in older versions of Windows
You will need to install the following software
-
Make sure, if asked, to add the program to the system PATH
-
MUST KEEP THE DEFAULT PORT AT
3306
!! will not work if it is changedSet the root password as root However, if you plan on making your server accessible outside your network, set this to a strong password instead
- Navigate to your
Documents
folder - Right click in this folder and select
Show More Options > Git Bash Here
If you are on Windows 10, you can skip the
Show More Options
option - In the terminal window that popped up run
git clone --recursive https://github.com/DarkflameUniverse/DarkflameServer
-
Navigate to the
DarkflameServer
folder -
Right click in this folder and select
Show More Options > Git Bash Here
If you are on Windows 10, you can skip the
Show More Options
option -
Run
./build.sh
While the server is building we will prepare the client files
- Navigate to where you downloaded the client and move it to your
Documents
folder - Right click the .rar client file and select
7-Zip > Extract files...
Keep the default settings (this will take some time)If your client is already extracted, move the folder to
Documents
- You should now have a folder called something like
LEGO Universe (unpacked)
orLEGO Universe
- Delete the .rar file
- Rename the client folder to
client
Right click the folder, go to
Show more options
>Rename
- In the Start Menu start typing
mariadb
and open the program that is calledCommand Prompt (MariaDB XXX (x64))
(where XXX is the version number) - In the terminal that just came up, log into the root user by running the following
mysql -u root -p
the password when prompted will be
root
- Once logged in, run
CREATE OR REPLACE USER 'darkflame'@'localhost' IDENTIFIED BY 'password';
darkflame
is the database username. Replacepassword
with a password of your choice. This will be the database password - Then run
CREATE OR REPLACE DATABASE darkflame;
darkflame
is again the name of the database - Then run
GRANT ALL PRIVILEGES ON darkflame.* TO 'darkflame'@'localhost';
- Then run
FLUSH PRIVILEGES;
- Then exit by running
EXIT;
- You can now close the terminal
Navigate to the DarkflameServer/build
folder.
If you dont have the build folder and/or the following .ini files, your build failed
In the sharedconfig.ini
file, add the database IP (localhost
) to mysql_host=
, the database name (darkflame
) to mysql_database=
, database username (darkflame
) to mysql_username=
, and the database password to mysql_password=
The end result should look like this
# MySQL connection info:
mysql_host=localhost
mysql_database=darkflame
mysql_username=darkflame
mysql_password=XXXYYYZZZ
Where
XXXYYYZZZ
is the password you chose earlier
Next, in the same file, add the server IP (localhost
) to external_ip=
Should look like
external_ip=localhost
Still in the sharedconfig.ini
file, add the following to client_location=
..\..\client
The end result should look like this
# The location of the client
# Either the folder with /res or with /client and /versions
client_location=..\..\client
- As of 10/25/2022 the mysql migrations are now done automatically when you start the server
- As of 10/30/2022 the sqlite migrations are now done automatically when you start the server
-
Open a terminal in the
build
folder of the server and run./MasterServer.exe -a
IF that gives you issues, try
./MasterServer -a
It might hang for a minute or two, just wait.
-
Enter a username
-
Enter a password
-
These credentials are what you are going to use to login to the game with REMEMBER THEM
- Open you client folder and open the boot.cfg file in a text editor
If you had a packed client, the
boot.cfg
file will be in theclient
folder - If it isn't already, set
AUTHSERVERIP=0:
tolocalhost
- Change
UGCUSE3DSERVICES=7:1
toUGCUSE3DSERVICES=7:0
The file should look like this
.
. [unchanged lines here]
.
AUTHSERVERIP=0:localhost,
.
. [unchanged lines here]
.
UGCUSE3DSERVICES=7:0
.
. [unchanged lines here]
.
- Save and close the file
- Open a terminal in the build folder of the server and run
./MasterServer.exe
IF that gives you issues, try
./MasterServer
- A bunch of terminal windows should popup, this is normal
If you get a bunch of firewall requests, close them out. You only need to accept them if you want make your server accessible outside your network (not covered in this tutorial)
- Start your client and login
- Go to the main terminal you opened and hit
Ctrl+C
- After a few seconds all the terminal windows (except the main one) should close
- Server is now shutdown
- Close the main terminal
As of the writing of this guide the DLU codebase is still actively being contributed to and as such, the code base is constantly being updated. Some of these updates include bug fixes or feature additions. It is recommend to update the server at least once every 2 weeks.
Open a terminal in the server folder and run the following
-
git pull --recurse-submodules
-
./build.sh
Running the build script will automatically run mysql migrations
-
Any new sqlite or mysql migrations are run automatically when you start the server. If there are new migrations to run, startup will be slightly slower
last updated 1/21/24
Thank you!
For reference, here's the video guide, and here's the Reddit release post