Giter Club home page Giter Club logo

darkflameserver's Introduction

Darkflame Universe

Introduction

Darkflame Universe (DLU) is a server emulator for LEGO® Universe. Development started in 2013 and has gone through multiple iterations and is now able to present a near perfect emulation of the game server.

LEGO® Universe

Developed by NetDevil and The LEGO Group, LEGO® Universe launched in October 2010 and ceased operation in January 2012.

License

Darkflame Universe is licensed under AGPLv3, please read LICENSE. Some important points:

  • We are not liable for anything you do with the code
  • The code comes without any warranty what so ever
  • You must disclose any changes you make to the code when you distribute it
  • Hosting a server for others counts as distribution

Disclaimers

Setup difficulty

Throughout the entire build and setup process a level of familiarity with the command line and preferably a Unix-like development environment is greatly advantageous.

Hosting a server

We do not recommend hosting public servers. Darkflame Universe is intended for small scale deployment, for example within a group of friends. It has not been tested for large scale deployment which comes with additional security risks.

Supply of resource files

Darkflame Universe is a server emulator and does not distribute any LEGO® Universe files. A separate game client is required to setup this server emulator and play the game, which we cannot supply. Users are strongly suggested to refer to the safe checksums listed here to see if a client will work.

Step by step walkthrough for a single-player server

If you would like a setup for a single player server only on a Windows machine, use the Native Windows Setup Guide by HailStorm and skip this README.

Steps to setup server

Clone the repository

If you are on Windows, you will need to download and install git from here

Then run the following command

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

Install dependencies

Windows packages

Ensure that you have either the MSVC C++ compiler (recommended) or the Clang compiler installed. You'll also need to download and install CMake (version CMake version 3.25 or later!).

MacOS packages

Ensure you have brew installed. You will need to install the following packages

brew install cmake gcc mariadb openssl zlib

Linux packages

Make sure packages like gcc, and zlib are installed. Depending on the distribution, these packages might already be installed. Note that on systems like Ubuntu, you will need the zlib1g-dev package so that the header files are available. libssl-dev will also be required as well as openssl. You will also need a MySQL database solution to use. We recommend using mariadb-server.

For Ubuntu, you would run the following commands. On other systems, the package install command will differ.

sudo apt update && sudo apt upgrade

# Install packages
sudo apt install build-essential gcc zlib1g-dev libssl-dev openssl mariadb-server cmake

Required CMake version

This project uses CMake version 3.25 or higher and as such you will need to ensure you have this version installed. You can check your CMake version by using the following command in a terminal.

cmake --version

If you are going to be using an Ubuntu environment to run the server, you may need to get a more recent version of cmake than the packages available may provide.

The general approach to do so would be to obtain a copy of the signing key and then add the CMake repository to your apt. You can do so with the following commands.

Source of the below commands

# Remove the old version of CMake
sudo apt purge --auto-remove cmake

# Prepare for installation
sudo apt update && sudo apt install -y software-properties-common lsb-release && sudo apt clean all

# Obtain a copy of the signing key
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null

# Add the repository to your sources list.
sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main"

# Next you'll want to ensure that Kitware's keyring stays up to date
sudo apt update
sudo apt install kitware-archive-keyring
sudo rm /etc/apt/trusted.gpg.d/kitware.gpg

# If sudo apt update above returned an error, copy the public key at the end of the error message and run the following command
# if the error message was "The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6AF7F09730B3F0A4"
# then the below command would be "sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6AF7F09730B3F0A4"
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <TheCopiedPublicKey>

# Finally update and install
sudo apt update
sudo apt install cmake

Database setup

First you'll need to start MariaDB.

For Windows the service is always running by default.

For MacOS, run the following command

brew services start mariadb

For Linux, run the following command

sudo systemctl start mysql
# If systemctl is not a known command on your distribution, try the following instead
sudo service mysql start

You will need to run this command every time you restart your environment

If you are using Linux and systemctl and want the MariaDB instance to start on startup, run the following command

sudo systemctl enable --now mysql

Once MariaDB is started, you'll need to create a user and an empty database for Darkflame Universe to use.

First, login to the MariaDB instance.

To do this on Ubuntu/Linux, MacOS, or another Unix like operating system, run the following command in a terminal

# Logs you into the MariaDB instance as root
sudo mysql

For Windows, run the following command in the Command Prompt (MariaDB xx.xx) terminal

# Logs you into the mysql instance
mysql -u root -p
# You will then be prompted for the password you set for root during installation of MariaDB

Now that you are logged in, run the following commands.

# Creates a user for this computer which uses a password and grant said user all privileges.
# Change mydarkflameuser to a custom username and password to a custom password. 
GRANT ALL ON *.* TO 'mydarkflameuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

# Then create a database for Darkflame Universe to use.
CREATE DATABASE darkflame;

Build the server

You can either run build.sh when in the root folder of the repository:

./build.sh

Or manually run the commands used in build.sh.

If you would like to build the server faster, append -j<number> where number is the number of simultaneous compile jobs to run at once. It is recommended that you have this number always be 1 less than your core count to prevent slowdowns. The command would look like this if you would build with 4 jobs at once:

./build.sh -j4

Notes

Depending on your operating system, you may need to adjust some pre-processor defines in CMakeVariables.txt before building:

  • If you are on MacOS, ensure OPENSSL_ROOT_DIR is pointing to the openssl root directory.
  • If you are using a Darkflame Universe client, ensure client_net_version in build/sharedconfig.ini is changed to 171023.

Configuring your server

This server has a few steps that need to be taken to configure the server for your use case.

Required Configuration

Darkflame Universe can run with either a packed or an unpacked client. Navigate to build/sharedconfig.ini and fill in the following fields:

  • mysql_host (This is the IP address or hostname of your MariaDB server. This is highly likely localhost)
    • If you setup your MariaDB instance on a port other than 3306, which can be done on a Windows install, you will need to make this value tcp://localhost:portNum where portNum is replaced with the port you chose to run MariaDB on.
  • mysql_database (This is the database you created for the server)
  • mysql_username (This is the user you created for the server)
  • mysql_password (This is the password for the user you created for the server)
  • client_location (This is the location of the client files. This should be the folder path of a packed or unpacked client)
    • Ideally the path to the client should not contain any spaces.

Optional Configuration

  • After the server has been built there should be five ini files in the build directory: sharedconfig.ini, authconfig.ini, chatconfig.ini, masterconfig.ini, and worldconfig.ini.
  • authconfig.ini contains an option to enable or disable play keys on your server. Do not change the default port for auth.
  • chatconfig.ini contains a port option.
  • masterconfig.ini contains options related to permissions you want to run your servers with.
  • sharedconfig.ini contains several options that are shared across all servers
  • worldconfig.ini contains several options to turn on QOL improvements should you want them. If you would like the most vanilla experience possible, you will need to turn some of these settings off.

Verify your setup

Your build directory should now look like this:

  • AuthServer
  • ChatServer
  • MasterServer
  • WorldServer
  • authconfig.ini
  • chatconfig.ini
  • masterconfig.ini
  • sharedconfig.ini
  • worldconfig.ini
  • ...

Running the server

If everything has been configured correctly you should now be able to run the MasterServer binary which is located in the build directory. Darkflame Universe utilizes port numbers under 1024, so under Linux you either have to give the AuthServer binary network permissions or run it under sudo. To give AuthServer network permissions and not require sudo, run the following command

sudo setcap 'cap_net_bind_service=+ep' AuthServer

and then go to build/masterconfig.ini and change use_sudo_auth to 0.

Linux Service

If you are running this on a linux based system, it will use your terminal to run the program interactively, preventing you using it for other tasks and requiring it to be open to run the server.
Note: You could use screen or tmux instead for virtual terminals
To run the server non-interactively, we can use a systemctl service by copying the following file:

cp ./systemd.example /etc/systemd/system/darkflame.service

Make sure to edit the file in /etc/systemd/system/darkflame.service and change the:

  • User and Group to the user that runs the darkflame server.
  • ExecPath to the full file path of the server executable.

To register, enable and start the service use the following commands:

  • Reload the systemd manager configuration to make it aware of the new service file:
systemctl daemon-reload
  • Start the service:
systemctl start darkflame.service
  • Enable OR disable the service to start on boot using:
systemctl enable darkflame.service
systemctl disable darkflame.service
  • Verify that the service is running without errors:
systemctl status darkflame.service
  • You can also restart, stop, or check the logs of the service using journalctl
systemctl restart darkflame.service
systemctl stop darkflame.service
journalctl -xeu darkflame.service

First admin user

Run MasterServer -a to get prompted to create an admin account. This method is only intended for the system administrator as a means to get started, do NOT use this method to create accounts for other users!

Account management tool (Nexus Dashboard)

If you are just using this server for yourself, you can skip setting up Nexus Dashboard

Follow the instructions here to setup the DLU Nexus Dashboard web application. This is the intended way for users to create accounts and the intended way for moderators to approve names/pets/properties and do other moderation actions.

Admin levels

The admin level, or Game Master level (hereafter referred to as gmlevel), is specified in the accounts.gm_level column in the MySQL database. Normal players should have this set to 0, which comes with no special privileges. The system administrator will have this set to 9, which comes will all privileges. gmlevel 8 should be used to give a player a majority of privileges without the safety critical once.

While a character has a gmlevel of anything but 0, some gameplay behavior will change. When testing gameplay, you should always use a character with a gmlevel of 0.

User guide

Some changes to the client boot.cfg file are needed to play on your server.

Allowing a user to connect to your server

To connect to a server follow these steps:

  • In the client directory, locate boot.cfg
  • Open it in a text editor and locate where it says AUTHSERVERIP=0:
  • Replace the contents after to : and the following , with what you configured as the server's public facing IP. For example AUTHSERVERIP=0:localhost for locally hosted servers
  • Next locate the line UGCUSE3DSERVICES=7:
  • Ensure the number after the 7 is a 0
  • Launch legouniverse.exe, through wine if on a Unix-like operating system
  • Note that if you are on WSL2, you will need to configure the public IP in the server and client to be the IP of the WSL2 instance and not localhost, which can be found by running ifconfig in the terminal. Windows defaults to WSL1, so this will not apply to most users.

Updating your server

To update your server to the latest version navigate to your cloned directory

cd path/to/DarkflameServer

Run the following commands to update to the latest changes

git pull
git submodule update --init --recursive

Now follow the build section for your system and your server is up to date.

In-game commands

  • A list of all in-game commands can be found here.

Verifying your client files

LEGO® Universe 1.10.64

To verify that you are indeed using a LEGO® Universe 1.10.64 client, make sure you have the full client compressed in a rar file and run the following command.

# Replace <file> with the file path to the zipped client

# If on Linux or MacOS
shasum -a 256 <file>

# If on Windows using the Command Prompt
certutil -hashfile <file> SHA256

Below are known good SHA256 checksums of the client:

  • 8f6c7e84eca3bab93232132a88c4ae6f8367227d7eafeaa0ef9c40e86c14edf5 (packed client, rar compressed)
  • c1531bf9401426042e8bab2de04ba1b723042dc01d9907c2635033d417de9e05 (packed client, includes extra locales, rar compressed)
  • 0d862f71eedcadc4494c4358261669721b40b2131101cbd6ef476c5a6ec6775b (unpacked client, includes extra locales, rar compressed)

If the returned hash matches one of the lines above then you can continue with setting up the server. If you are using a fully downloaded and complete client from live, then it will work, but the hash above may not match. Otherwise you must obtain a full install of LEGO® Universe 1.10.64. You must also make absolutely sure your LEGO Universe client is not in a Windows OneDrive. DLU is not and will not support a client being stored in a OneDrive, so ensure you have moved the client outside of that location.

Darkflame Universe Client

Darkflame Universe clients identify themselves using a higher version number than the regular live clients out there. This was done make sure that older and incomplete clients wouldn't produce false positive bug reports for us, and because we made bug fixes and new content for the client.

To verify that you are indeed using a Darkflame Universe client, make sure you have the full client compressed in a zip file and run the following command.

# Replace <file> with the file path to the zipped client

# If on Linux or MacOS
shasum -a 1 <file>

# If on Windows using the Command Prompt
certutil -hashfile <file> SHA1

Known good SHA1 checksum of the Darkflame Universe client:

  • 91498e09b83ce69f46baf9e521d48f23fe502985 (packed client, zip compressed)

Docker

The Darkflame Server is automatically built and published as a Docker Container / OCI Image to the GitHub Container Registry at: ghcr.io/darkflameuniverse/darkflameserver.

Compose

Warning

It seems that Docker Desktop on Windows with the WSL 2 backend has some issues with MariaDB (c.f. mariadb-docker#331) triggered by NexusDashboard migrations, so this setup may not work for you. If that is the case, please tell us about your setup in NexusDashboard#92.

You can use the docker-compose tool to setup a MariaDB database, run the Darkflame Server and manage it with Nexus Dashboard all at once. For that:

  • Install Docker Desktop
  • Open the directory that contains your LU Client
    • If the legouniverse.exe is in a subfolder called client, you're good to go. There may also be a folder versions.
    • Otherwise, create a new client folder and move the exe and everything else (e.g. res and locale) in there. This is necessary to work around a bug in the client that will prevent that you to log back in after getting disconnected.
  • Download the docker-compose.yml file and place it next to client.
  • Download the .env.example file and place it next to client with the file name .env
    • You may get warnings that this name starts with a dot, acknowledge those, this is intentional. Depending on your operating system, you may need to activate showing hidden files (e.g. Ctrl-H in Gnome on Linux) and/or file extensions ("File name extensions" in the "View" tab on Windows).
    • Update the ACCOUNT_MANAGER_SECRET and MARIADB_PASSWORD with strong random passwords.
      • Use a password generator like https://keygen.io
      • Avoid : and @ characters
      • Once the database user is created, changing the password will not update it, so the server will just fail to connect.
    • Set EXTERNAL_IP to your LAN IP or public IP if you want to host the game for friends & family
  • Open a terminal in the folder with the docker-compose.yml and client
  • Run docker compose up -d
    • This might require sudo on Linux, and a recent version of docker compose
  • Run docker exec -it dlu-darkflameserver-1 /app/MasterServer -a and follow the instructions to create the initial admin account
  • Open http://localhost:8000 to access Nexus Dashboard with the admin account to create normal users
  • Set AUTHSERVERIP=0:localhost in client/boot.cfg
    • Replace localhost with the value of EXTERNAL_IP if you changed that earlier.
    • Also make sure UGCUSE3DSERVICES=7: is set to 0
  • Launch legouniverse.exe

Standalone

This assumes that you have a database deployed to your host or in another docker container.

A basic deployment of this contianer would look like:

# example docker contianer deployment
docker run -it \
    -v /path/to/configs/:/app/configs \
    -v /path/to/logs/:/app/logs \
    -v /path/to/dumps/:/app/dumps \
    -v /path/to/res:/app/res:ro \
    -v /path/to/resServer:/app/resServer \
    -e DUMP_FOLDER=/app/dumps \
    -p 1001:1001/udp \
    -p 2005:2005/udp \
    -p 3000-3300:3000-3300/udp \
ghcr.io/darkflameuniverse/darkflameserver:latest

You will need to replace the /path/to/'s to reflect the paths on your host.

Any config option in the .ini's can be overridden with environmental variables: Ex: log_to_console=1 from shared_config.ini would be overidden like -e LOG_TO_CONSOLE=0

Development Documentation

This is a Work in Progress, but below are some quick links to documentaion for systems and structs in the server Networked message structs General system documentation

Credits

DLU Team

Research and Tools

Community Management

Logo

  • Cole Peterson (BlasterBuilder)

Active Contributors

Former Contributors

  • TheMachine
  • Matthew
  • Raine
  • Bricknave

Special Thanks

darkflameserver's People

Contributors

aronwk-aaron avatar codeax2 avatar codeshaunted avatar cooltrain7 avatar darwinanim8or avatar emosewamc avatar hailstorm32 avatar jadebenn avatar jettford avatar jgkawell avatar kkaprolat avatar luxaritas avatar m888r avatar marcono1234 avatar maxdelayer avatar melon095 avatar mickvermeulen avatar na-2n avatar ninjaoflu avatar nordegraf avatar racater avatar red031000 avatar stefanh-at avatar tahuntling avatar thematt2 avatar thenoim avatar thexxturboxx avatar verathian2 avatar wincent01 avatar xiphoseer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

darkflameserver's Issues

Non-interactable vendors in Avant Gardens

Hello!

I am running a server using WSL and MariaDB. I reached the end of avant gardens and noticed none of the vendors there are able to be interacted with. The vendor in sentinel base camp works fine, but for whatever reason these vendors do not. I did previously have the issue of mechs not spawning quick builds, meaning my database was not set up correctly, and have since run the code from #46 on my database to remedy that. Not sure if that is related to this issue.

Any help is much appreciated!

"Got an error while connecting to the database: Unable to connect to localhost"

On the step where we run the MasterServer binary, I get this error. I suspect it has something to do with a misconfiguration of the .ini files from an earlier step. I'm new to SQL, could someone provide an example authentication info for mysql_host, mysql_database, mysql_username, and mysql_password for a locally hosted MySQL server?

Also, my MySQL server only opens one port. Should this port be 1001 to match the auth, or something different? Are the ports mentioned in the .ini files supposed to be used by MySQL or is that something different?

Survival Minigame is still broken

The instructions to fix the survival minigame say to modify a line in res/scripts/ai/minigame/survival/l_zone_survival_client.lua. However, this file does not exist in the game client folder unless you have unpacked the client, so making this change does not actually fix the issue. I assume the game is actually reading something else that still has this bug and ignoring the scripts folder entirely. Any idea what this file might be?

As for the actual breaking bug, I cannot move in the survival minigame. Choosing "Smash myself" in the help menu fixes this, but there is still nothing spawning and no timer visible. For now, if you re-log after being smashed, you will be kicked back to Avant Gardens, so it is not complete hardstuck bug (though it prevents further progression).

DLU table schema not compatible with MySQL dialect

https://github.com/DarkflameUniverse/DarkflameServer/blob/main/migrations/dlu/0_initial.sql

This file contains the command CREATE OR REPLACE, which is only available on MariaDB, and is not available on many other variants of MySQL servers.

To maximize compatibility and minimize issues, the syntax of this file should be reworked to be compatible with other SQL dialects.

My proposed changes are:

  • Remove OR REPLACE from each line and add DROP TABLE IF EXISTS 'bla'; before each line. DROP TABLE is available and usable in more dialects.
  • The ugc table includes a default value for the filenname. MySQL requires parenthesis around this value for the statement to be valid.

"Your game is out of date."

image
Getting this error when trying to log into my admin account

I'm using version 1.10.64, but the server logs say "Received client version: 171022" every time I try to log in

Corrupted Sentries in Return to Venture Explorer not working

I just got to Return to Venture Explorer for the first time (so far everything else has been working great!) and the Corrupted Sentries are neither attacking nor attackable. They show a red (not purple!) health bar and walk around passively, but are not interactable in any way, which keeps me from doing the mission to smash 6 of them. The other enemies, both Stromlings and Spiderlings, are working as expected.
I'm running the server on WSL and the game on Windows, in case that might be relevant.

MacOS MasterServer terminating with std::invalid_argument: stoi: no conversion

Getting this issue when running the MasterServer binary from MacOS terminal with sudo /path/to/MasterServerBinary

<myuser>@<my-computer> ~ % sudo /Users/<path/to>/DarkflameServer/build/MasterServer
Password:
Diagnostics not supported on this platform.
libc++abi: terminating with uncaught exception of type std::invalid_argument: stoi: no conversion
zsh: abort      sudo /Users/<path/to>/DarkflameServer/build/MasterServer
<myuser>@<my-computer> ~ % 

Not sure how to open the Unix executable file to be able to debug, and no issues show up in the log file generated each time I run this. Please help!

Avant Gardens (AG) mechs not dropping turrets

If mechs are not dropping turrets, this means that your CDServer.sqlite (see https://github.com/DarkflameUniverse/DarkflameServer#resources, under "Client database"), is not properly set up. Some entities in DLU have scripts attached to them that make them perform certain behaviour, an example of this is the AG mech and it dropping a quick build when it's smashed.

To pinpoint this issue, make sure CDServer.sqlite is in your build/res folder and connect to it using your SQLite browser. Run the following SQL statement:

SELECT * FROM ScriptComponent WHERE id = 1075;

If the output looks like this:

1075|ScriptComponent_1075_script_name__removed|

Your CDServer.sqlite is not properly set up. To fix this issue, keep the SQLite browser open and run all the SQL statements from the files in this folder: /migrations/cdserver. To verify this worked, run this command again:

SELECT * FROM ScriptComponent WHERE id = 1075;

The output should now look like:

1075|scripts\02_server\Enemy\VE\L_VE_MECH.lua|

Your CDServer.sqlite is now setup correctly! Restart DLU and happy exploring!

Cmake could not find Zlib

Expected Behaviour
While in the build folder, typing cmake would start generating make files successfully.

Current Behaviour
Cmake encounters an error where it cannot find Zlib (It is installed on the system).

Steps to Reproduce

  1. Run the build script (or follow the same commands in the script / README -- they're both the same).

Your Environnment
Fedora KDE Spin. Zlib and all other required packages are installed from the official repos.

Terminal Output

❯ cmake ..
-- Variable: PROJECT_VERSION_MAJOR = 1
-- Variable: PROJECT_VERSION_MINOR = 0
-- Variable: PROJECT_VERSION_PATCH = 0
-- Variable: LICENSE = AGPL-3.0
-- Variable: NET_VERSION = 171023
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find ZLIB (missing: ZLIB_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake/Modules/FindZLIB.cmake:120 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:40 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/sloofy/Documents/DarkflameServer/build/CMakeFiles/CMakeOutput.log".

CMakeOutput.log

Mixed Cases on Linux

The code attempts to load the maps using all lowercase, however the unpacked files are a mix of Title_Case and lower_case. Currently had to use a python script to recursively rename files from lowercase to uppercase.

Ubuntu can't find Cmake.

I'm doing the Linux adapter on my Windows device. However, when I get to the step where I'm supposed to type <cmake ..>, it gives me an error message
<CMake Error: The source directory "/home/jack" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.>

Connection From World Server Lost

I successfully compiled the server (native windows) and configured the MySQL database. My user account authenticates correctly, but when I press play, I get a "Connection From World Server Lost" message after a few seconds.

I am getting [timeStr] [dpWorld]: Error(s) occurred during navmesh load. in the console, although I have ensured that navmesh folder is corectly configured

Issue logging in

I'm recognized by the server but my client says "enter nickname/password", then shows me the login again.

CppScript returned InvalidScript

When attempting to start the server, the script loader tries to load scripts\ai\AG\L_AG_SHIP_SHAKE.lua which causes the server to throw an InvalidScript error. I'm not sure if this is an issue from Unix using / and not \ to denote file paths. All, parts of the path are correctly named. I have attempted this with both build/res/scripts and build/scripts.

MySQL connection destroyed

Running off WSL Ubuntu. Locally hosted.

It appears something is wrong with my configs for the database. This is odd because the account manager is able to read/write to the database using the database URL. When running the server, spits out the following;
[05-12-21 23:23:08] [Test]: Quitting Destroying MySQL connection!

mysql_host=localhost
mysql_database=luserver
mysql_username=root
mysql_password= some password

above is used in all the config.ini files. it this correct syntax?

Unknown packet ID from master: 21

Running Ubuntu WSL
Compiled server for version 171022 and using client 171022
Created keys and accounts, everything works but when trying to log into the game the server says
Unknown packet ID from master: 21

The client says : "connecting to world" and then shortly after says "enter your nickname/password and press "Sign In" to continue"

Syntax errors in 0_initial.sql

(On windows) Attempting to run 0_initial.sql through the MySQL command line throws the following error:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TABLE accounts ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHA' at line 1

Putting the contents of the file through an online MySQL syntax checker throws the same error. I have no experience with MySQL to properly troubleshoot this, but I can only assume it's an issue with the file, rather than on my end, so I'm putting it here.

Stromling Mech Quick Builds not Spawning

Expected Behavior

Stromling Mechs spawn their quick builds when defeated. Allowing the mission "Fortify the Front" to be completable.

Current Behavior

Stromling Mechs do not spawn their quick builds when defeated. Making the mission incompletable.

Possible Solution

The simplest short term fix would be to use the completemission command, but I do not know the id for "Fortify the Front"

Steps to Reproduce

Kill a mech in Avant Gardens

Your Enviorment

I have compiled and ran the server on Manjaro and WSL (both connecting to the same database but not simultaneously)

Can't reach nimbus station

when you try to leave avant garden and enter nimbus station, it just says "your game assets don't match the server. Please logout and try again"

No error message in the console

raknet fails to compile on arm64: "I can't tell what endian-ness to use for your architecture."

Attempting to build the server on Ubuntu 20.04 arm64 throws an error when trying to compile AutoRPC.cpp, indicating that it doesn't recognize the architecture. Build continues for a bit, but will ultimately fail since the raknet component never finishes compiling. Should be a simple fix in theory but I'm not sure where to make the changes.

ubuntu@instance-20210714-1042:~/git/DarkflameServer/build$ make -j3
[  1%] Built target dChatFilter
[  1%] Built target libbcrypt
[  1%] Building CXX object CMakeFiles/raknet.dir/thirdparty/raknet/Source/AutoRPC.cpp.o
Scanning dependencies of target recast
Scanning dependencies of target dDatabase
[  1%] Building CXX object CMakeFiles/recast.dir/thirdparty/recastnavigation/Recast/Source/Recast.cpp.o
In file included from /home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:14,
                 from /home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/AutoRPC.h:29,
                 from /home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/AutoRPC.cpp:1:
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Types.h:101:3: error: #error "I can't tell what endian-ness to use for your architecture."
  101 | # error "I can't tell what endian-ness to use for your architecture."
      |   ^~~~~
In file included from /home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/AutoRPC.h:29,
                 from /home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/AutoRPC.cpp:1:
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:230:2: warning: #warning Unknown Architecture [-Wcpp]
  230 | #warning Unknown Architecture
      |  ^~~~~~~
[  1%] Building CXX object CMakeFiles/dDatabase.dir/dDatabase/CDClientDatabase.cpp.o
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:772:18: error: ‘NaturalWord’ in namespace ‘GenRPC’ does not name a type
  772 |  typedef GenRPC::NaturalWord NaturalWord;
      |                  ^~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:777:4: error: ‘NaturalWord’ does not name a type
  777 |    NaturalWord func_address_or_vtable_index;
      |    ^~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:778:4: error: ‘NaturalWord’ does not name a type
  778 |    NaturalWord class_offset;
      |    ^~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:780:3: error: ‘NaturalWord’ does not name a type
  780 |   NaturalWord raw_pointer[2];
      |   ^~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h: In copy constructor ‘GenRPC::PMF::PMF(const GenRPC::PMF&)’:
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:786:3: error: class ‘GenRPC::PMF’ does not have any field named ‘func_address_or_vtable_index’
  786 |   func_address_or_vtable_index( pmf.func_address_or_vtable_index ),
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:786:37: error: ‘const struct GenRPC::PMF’ has no member named ‘func_address_or_vtable_index’
  786 |   func_address_or_vtable_index( pmf.func_address_or_vtable_index ),
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:787:3: error: class ‘GenRPC::PMF’ does not have any field named ‘class_offset’
  787 |   class_offset( pmf.class_offset )
      |   ^~~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:787:21: error: ‘const struct GenRPC::PMF’ has no member named ‘class_offset’
  787 |   class_offset( pmf.class_offset )
      |                     ^~~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h: In constructor ‘GenRPC::PMF::PMF(int)’:
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:795:3: error: class ‘GenRPC::PMF’ does not have any field named ‘func_address_or_vtable_index’
  795 |   func_address_or_vtable_index( 0 ),
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:796:3: error: class ‘GenRPC::PMF’ does not have any field named ‘class_offset’
  796 |   class_offset( 0 )
      |   ^~~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h: In constructor ‘GenRPC::PMF::PMF(void*)’:
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:804:3: error: class ‘GenRPC::PMF’ does not have any field named ‘func_address_or_vtable_index’
  804 |   func_address_or_vtable_index( reinterpret_cast<NaturalWord>( func ) ),
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:804:50: error: ‘NaturalWord’ does not name a type
  804 |   func_address_or_vtable_index( reinterpret_cast<NaturalWord>( func ) ),
      |                                                  ^~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:805:3: error: class ‘GenRPC::PMF’ does not have any field named ‘class_offset’
  805 |   class_offset( 0 )
      |   ^~~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h: In constructor ‘GenRPC::PMF::PMF(void*, unsigned int)’:
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:812:18: error: class ‘GenRPC::PMF’ does not have any field named ‘func_address_or_vtable_index’
  812 |   : castUp( 0 ), func_address_or_vtable_index( reinterpret_cast<NaturalWord>( func ) ),
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:812:65: error: ‘NaturalWord’ does not name a type
  812 |   : castUp( 0 ), func_address_or_vtable_index( reinterpret_cast<NaturalWord>( func ) ),
      |                                                                 ^~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:813:3: error: class ‘GenRPC::PMF’ does not have any field named ‘class_offset’
  813 |   class_offset( offset )
      |   ^~~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h: In constructor ‘GenRPC::PMF::PMF(Func, void* (*)(void*))’:
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:823:3: error: class ‘GenRPC::PMF’ does not have any field named ‘func_address_or_vtable_index’
  823 |   func_address_or_vtable_index( ((NaturalWord*)&func)[0] ),
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:823:35: error: ‘NaturalWord’ was not declared in this scope
  823 |   func_address_or_vtable_index( ((NaturalWord*)&func)[0] ),
      |                                   ^~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:823:47: error: expected primary-expression before ‘)’ token
  823 |   func_address_or_vtable_index( ((NaturalWord*)&func)[0] ),
      |                                               ^
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:824:3: error: class ‘GenRPC::PMF’ does not have any field named ‘class_offset’
  824 |   class_offset( ((NaturalWord*)&func)[1] )
      |   ^~~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:824:31: error: expected primary-expression before ‘)’ token
  824 |   class_offset( ((NaturalWord*)&func)[1] )
      |                               ^
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h: In member function ‘void* GenRPC::PMF::computeFuncAddr(void*)’:
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:833:10: error: ‘func_address_or_vtable_index’ was not declared in this scope
  833 |   if ( ( func_address_or_vtable_index & 1 ) == 0 )
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:840:28: error: ‘NaturalWord’ was not declared in this scope
  840 |    char* vtable = (char*)*(NaturalWord**)_object;
      |                            ^~~~~~~~~~~
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:840:41: error: expected primary-expression before ‘)’ token
  840 |    char* vtable = (char*)*(NaturalWord**)_object;
      |                                         ^
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:841:50: error: expected primary-expression before ‘)’ token
  841 |    return reinterpret_cast<void*>( *(NaturalWord*)( vtable + func_address_or_vtable_index - 1 ) );
      |                                                  ^
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h: In member function ‘void* GenRPC::PMF::computeThis(void*)’:
/home/ubuntu/git/DarkflameServer/thirdparty/raknet/Source/Gen_RPC8.h:853:35: error: ‘class_offset’ was not declared in this scope
  853 |   return (void*)( (char*)object + class_offset );
      |                                   ^~~~~~~~~~~~
make[2]: *** [CMakeFiles/raknet.dir/build.make:76: CMakeFiles/raknet.dir/thirdparty/raknet/Source/AutoRPC.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:265: CMakeFiles/raknet.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

build continues for a bit...

make: *** [Makefile:84: all] Error 2

How to approve usernames?

Is there an interface through which usernames can be approved? I was expecting it to be part of the Account Manager but I don't see it there.

Binoculars and Story Plaques are not tracked

The blue shimmer treatment is never removed, and the achievements panel does not update when interacting with either. So far I've confirmed this to be the case in both Advent Gardens and Venture Explorer.

WSL Bluescreen when connecting to MySQL

In order to run the server under WSL one hast to execute "sudo /etc/init.d/mysql start" before executing "./MasterServer".
Sometimes when the MasterServer attempts to connect to MySQL it causes a BSOD because of memory leaks.

Issues with SQLite database

This is probably me because I have not worked with SQLite in the past but I am stuck on configuring the client database.

I turned the .fdb into a sqlite and placed it in the right folder, but when I try to open the database to read the .sql files into I get a cannot open error.

I am trying .open /home/User/DarkflameServer/build/res/CDServer.sqlite
and receiving Error: cannot open "/home/User/DarkflameServer/build/res/CDServer.sqlite"

Avant Gardens survival frozen on start

Upon entering Avant Gardens survival the game never starts. Nothing spawns and the character is frozen in position.

image
image

Here is the console output

[06-12-21 10:47:03] [WorldServer]: Updating team (1), (1), (1)
[06-12-21 10:47:03] [WorldServer]: Updating team member (1152921508901814274)
[06-12-21 10:47:03] [WorldServer]: Updating team (1), (1), (1)
[06-12-21 10:47:03] [WorldServer]: Updating team member (1152921508901814274)
[06-12-21 10:47:03] [WorldServer]: Updating team (1), (1), (1)
[06-12-21 10:47:03] [WorldServer]: Updating team member (1152921508901814274)
[06-12-21 10:47:03] [WorldServer]: Updating team (1), (1), (1)
[06-12-21 10:47:03] [WorldServer]: Updating team member (1152921508901814274)
[06-12-21 10:47:03] [WorldServer]: Updating team (1), (1), (1)
[06-12-21 10:47:03] [WorldServer]: Updating team member (1152921508901814274)
[06-12-21 10:47:03] [WorldServer]: Updating team (1), (1), (1)
[06-12-21 10:47:03] [WorldServer]: Updating team member (1152921508901814274)
[06-12-21 10:47:03] [WorldServer]: Updating team (1), (1), (1)
[06-12-21 10:47:03] [WorldServer]: Updating team member (1152921508901814274)
[06-12-21 10:47:03] [WorldServer]: Updating team (1), (1), (1)
[06-12-21 10:47:03] [WorldServer]: Updating team member (1152921508901814274)
[06-12-21 10:47:03] [GameMessageHandler]: Player UnderAParsec (1152921508901814274) loaded.

Advant Gardens Survival still not working after fix

So I updated the L_ZONE_SURVIVAL_CLIENT.lua file to fix the survival minigame. However, when I try to go into the minigame, I am stuck in the minigame where I can only rotate my character. I genuinely have no idea what's going on here.

Server Crashing WSL Ubuntu

Whenever I run my server with the command sudo ./MasterServer all that happens is this:
[05-12-21 20:29:18] [dServer]: Server is listening on localhost:2000 with encryption: 0 Fatal error -1 Stacktrace: ./MasterServer(+0x1ddcf)[0x55e0275badcf] /lib/x86_64-linux-gnu/libstdc++.so.6(+0xaa38c)[0x7f1e174e238c] /lib/x86_64-linux-gnu/libstdc++.so.6(+0xaa3f7)[0x7f1e174e23f7] /lib/x86_64-linux-gnu/libstdc++.so.6(+0xaa6a9)[0x7f1e174e26a9] /mnt/c/Users/Dimitri/Desktop/DLU/DarkflameServer/build/_deps/mysql-src/lib64/libmysqlcppconn.so.9(+0x73a7b)[0x7f1e176bfa7b] ./MasterServer(+0x2382e)[0x55e0275c082e] ./MasterServer(+0x1701c)[0x55e0275b401c] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f1e1726d0b3] ./MasterServer(+0x18b3e)[0x55e0275b5b3e]

MySQL Cpp connection .dll error

I thought I built everything correctly, but I seem to be getting an error related to a specific MySQL dll when I go to launch the MasterServer binary.
image
Has anyone seen his error before?

Flying and turbo-mechs in avant gardens survival

The mechs in avant gardens survival run around with super speed and sometimes get stuck in mid air while running up the hill towards the player.

They also dont drop turrets (in the survival minigame) but I suppose this is the way its supposed to be.

Cutscene not loading and stuck on Re-Connect

I got the Server to work and i can connect to it. Once i try to launch with a Charakter however it doesnt load the Cuscene and only the Text in the left bottom appears. When restarting the Client it wont load into Venture Explorer, taking forever to load to 53% and then stopping. I am using MariaDB and the Client from Nexus Launcher, the Server is on a Ubuntu 20.something VPS. Changed the Buildversion in the CMakefile before building the Server. Might be a Clientproblem, but it works just fine in Uchu.

BUG: Shooting gallery minigame sometimes not initializing

Entering the shooting gallery minigame puts the player in a falling animation at the spot they're supposed to be with nothing else happening. The exit button has to be pressed to return to Gnarled Forest.

This is similar to what happens with the Avant Gardens survival with an unmodified client

Edit:
/skip-sg allows you to skip the captain's quest if the hook is all you want, but the underlying issue is still there

Unable to point MasterServer toward localhost SQL

I am unable to boot the MasterServer binary after compilation.
This is in Win11 WSL.
I am using the latest iteration of Wampserver.

Any attempts to use:

  • localhost
  • localhost:3306
  • 127.0.0.1
  • 127.0.0.1:3306
  • ::1
  • ::1:3306

fail to attach to the database I can observe to be online and working via localhost/phpmyadmin (for the management side, of course).

Attempting to use a public domain name (google.com, just as a test) hang indefinitely and do not generate any log files.

Here is my masterconfig.ini:

MySQL connection info:

mysql_host=localhost
mysql_database=dfu
mysql_username=root
mysql_password=

The public facing IP address. Can be 'localhost' for locally hosted servers

external_ip=localhost

Port number

port=2000

The port number to start world servers on. Will be incremented for each world

world_port_start=3000

Use sudo when launching the auth server.

Required by default if on Linux as auth runs on port 1001

use_sudo_auth=1

Use sudo when launching the chat server

use_sudo_chat=0

Use sudo when launching world servers

use_sudo_world=0

Where to put crashlogs

dump_folder=

How many clients can be connected to the server at once

max_clients=999

0 or 1, should log to console

log_to_console=1

0 or 1, should autostart auth, chat, and char servers

prestart_servers=1

The generated logfile, for any combination of the localhost references above:

[06-12-21 18:40:44] [MasterServer]: Starting Master server...
[06-12-21 18:40:44] [MasterServer]: Version: 1.0
[06-12-21 18:40:44] [MasterServer]: Compiled on: Sun Dec 5 13:18:00 2021
[06-12-21 18:40:44] [MasterServer]: Got an error while connecting to the database: Unable to connect to localhost

Any help in allowing the server to recognize the existence of my databse would be appreciated.

Issues while running on webserver

Information:
Status: I have built DLU and am running it. Ive opened all ports I saw in the config files as tcp and udp.

Server: a VPS running on Linode (Ubuntu 20.04).

First of all i get this error even though those referenced files do exist, just in lowercase.

[05-12-21 16:44:51] [CppScripts]: Attempted to load CppScript for 'scripts\ai\AG\L_AG_SHIP_SHAKE.lua', but returned InvalidScript.

Full log: https://pastebin.com/J7jimWHp (actual logs dont exist because of permission issues even though i set those properly).

when I try to connect to the server using my admin account, the client immediately crashes.

Not sure what is meant by "run the MasterServer binary"

I may just be missing something / may not be well versed in this stuff. But I've made it all the way to the end of the guide, just not sure what you guys meant by "run the MasterServer binary". Should I be running the 'MasterServer.cpp'?

Your game assets don't match the server. Please logout and try again.

First of all, thanks for all your hard work getting this game up and running again.

I have followed all the steps in the readme. After which I had a single issue with the "client out of date" bug (#29) which I resolved by changing the NET_VERSION and recompiling.

However, after I got logged in, created a character, and then clicked the start button I received the following error:
"Your game assets don't match the server. Please logout and try again."

Issues creating make-Files with CMake on MacOS

After downloading the mysql-connector-c++, creating the build-Folder and Symlinking the .dylib-Files I'm trying to run cmake .. whilst being in the build-Folder and I'm getting this Error:

DarkflameServer/build [main] » cmake ..
-- Variable: PROJECT_VERSION_MAJOR = 1
-- Variable: PROJECT_VERSION_MINOR = 0
-- Variable: PROJECT_VERSION_PATCH = 0
-- Variable: LICENSE = AGPL-3.0
-- Variable: NET_VERSION = 171023
-- Version: 1.0.0
-- Configuring done
CMake Error at CMakeLists.txt:373 (add_library):
  No SOURCES given to target: tinyxml2


CMake Error at CMakeLists.txt:374 (add_library):
  No SOURCES given to target: detour


CMake Error at CMakeLists.txt:375 (add_library):
  No SOURCES given to target: recast


CMake Error at CMakeLists.txt:376 (add_library):
  No SOURCES given to target: libbcrypt


CMake Generate step failed.  Build files cannot be regenerated correctly.

Googling the specific Error Messages didn't really help.

I'm running cmake version 3.22.0
MacOS Version: 12.0.1
CPU: Intel i9

Pet Cove pad at back of Lighthouse (Near Imagination brick)

The pad at the back of the lighthouse (the one where the pet needs to stand above you) doesn't work.

When clicking shift the pet is supposed to stand on the pad while the player goes down to stand on the jump pad.

The pet instead decides to ignore the command and jump down with you.

Chat not working

Tested on a Vultr VPS with all ports open and a home server
OS: Ubuntu 20.04
Database: Mysql 8.0.27 and MariaDB 10.7.1 on docker

Problem: Local chat can not be used, any messages without a slash typed in show a loading button and then a red exclamation mark. Level ups do not show in the chat box either. Only slash commands that do work are /info and /credits, all others do nothing but do not show the red exclamation. Tested using gm levels 0, 1, 9. Others who managed to compile report the same issue but not everyone.

no such table: ActivityRewards

Sorry for opening another Issue I got confused last time.

I want to setup the Server on Ubuntu running in WSL. This is the Error message:

image

These are the contents of build/res
image

And as it seems like, the Table ActivityRewards should exist in the DB
image

Issues compiling DarkflameServer on OpenBSD

Hello! I am currently trying to compile the server code on OpenBSD, but it complains about a missing alloca.h. Can anyone please help? Thanks.

Log:

[  0%] Building CXX object CMakeFiles/dDatabase.dir/dDatabase/CDClientDatabase.cpp.o
c++: warning: argument unused during compilation: '-static-libgcc' [-Wunused-command-line-argument]
[  1%] Building CXX object CMakeFiles/dDatabase.dir/dDatabase/CDClientManager.cpp.o
c++: warning: argument unused during compilation: '-static-libgcc' [-Wunused-command-line-argument]
In file included from /home/_lego/DarkflameServer/dDatabase/CDClientManager.cpp:1:
In file included from /home/_lego/DarkflameServer/dDatabase/CDClientManager.h:16:
In file included from /home/_lego/DarkflameServer/dDatabase/Tables/CDItemComponentTable.h:5:
In file included from /home/_lego/DarkflameServer/dCommon/dCommonVars.h:6:
In file included from /home/_lego/DarkflameServer/dCommon/../thirdparty/raknet/Source/BitStream.h:26:
/home/_lego/DarkflameServer/thirdparty/raknet/Source/RakMemoryOverride.h:18:10: fatal error: 'alloca.h' file not found
#include <alloca.h>
         ^~~~~~~~~~
1 error generated.
*** Error 1 in . (CMakeFiles/dDatabase.dir/build.make:90 'CMakeFiles/dDatabase.dir/dDatabase/CDClientManager.cpp.o': /usr/bin/c++  -I/home/_...)
*** Error 2 in . (CMakeFiles/Makefile2:372 'CMakeFiles/dDatabase.dir/all': make -s -f CMakeFiles/dDatabase.dir/build.make CMakeFiles/dDataba...)
*** Error 2 in /home/_lego/DarkflameServer/build (Makefile:91 'all': make -s -f CMakeFiles/Makefile2 all)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.