Commit Graph

34 Commits

Author SHA1 Message Date
wincent
56f371216b Abstracted the CDClient tables
There is now an option to utilize shared memory for some CDClient tables by adding `CD_PROVIDER_MEMORY=1` to the CMakeVariables.txt file.

Allows masterconfig.ini to specify another run command for the world server, to allow for easier debugging through `valgrind`.
2022-08-11 16:36:03 +02:00
Wincent Holm
45ae46f6f1 Merge branch 'main' into cdclient-rework 2022-07-18 16:44:53 +02:00
Jett
77d35019cc
Replace the usage of RakString (#648) 2022-07-17 04:40:46 +01:00
Jett
df0f11c95b
Update CMake configuration for easier maintenance (#642)
* Update CMake configuration for easier maintenance

* Incorrect casing fix

* Move package requirement

* Update CTest linking

* Add logs to the CMake

* Add linking for common libraries

Added linking for common libraries in tests subdirectory.

* Move test subdirectory higher up for some reason

* Whitespace a log removal

Missed new line

* Add dCommon to dChatFilter

* Update library output dir

* Correct libBcrypt

* Further refactor CMake behaviour

* Repair bad comments and update library defines

* Revert to old include directory method

* Implement platform defines

* Add missing include

Mac needs a specific include for defining platform.  Does not compile without this.

Co-authored-by: EmosewaMC <39972741+EmosewaMC@users.noreply.github.com>
2022-07-17 00:24:16 +01:00
Jett
d642de9462 Implement a migration runner 2022-07-12 02:16:08 +01:00
David Markowitz
325dc5a571
Revert "Wait for world to shutdown (#624)" (#626)
This reverts commit 66edf57b02.
2022-07-09 15:57:45 -07:00
David Markowitz
66edf57b02
Wait for world to shutdown (#624)
We need to wait for the message that the world has shutdown before shutting it down.
2022-07-09 15:27:20 -07:00
wincent
34fa43ed93 Initial concept for CDClient rework.
Utilizes `boost::interprocess` to share a map between worlds.
The master server loads the table into memory, and the worlds hook into it when they want to get an entry.

This solves the issue of skill delay, but introduces the third-party library Boost.
There should be a conversation about the introduction of Boost — it is a large library and adds extra steps to the installation.
2022-07-09 22:59:36 +02:00
jumpy-badger
eaa962f265
Add Aarch64 support (#231)
* added mariadb-connector-cpp submodule

* raknet aarch64 support

* fix compile errors

* mariadb connector swap (in progress)

* update CMakeLists, add preprocessor definition to switch between mysql and mariadb connectors

* update types with missing aarch64 check

* corrected adding extra flag to properly compile mariadbconn in CMakeLists

* updated readme with arm builds section

* fix build failure if test folder does not exist

* Remove mysql connector from all builds, add mariadbconnector to windows build

* readd Linux check for backtrace lib to CMakeLists.txt

* Separate system specific mariadbconncpp extra compile flags

* Copy dlls to exes directory once built

* fetch prebuilt binaries on windows so that ClangCL can be used

* Delay load dll so that plugin directory is set correctly

* Fixed typo in glibcxx compile flag

* whitespacing, spaces -> tabs

* Updated README.md, included instructions to update

* Updated README.md

added libssl-dev requirement and removed mysql connector references from macOS builds section

* apple compile fixes for zlib and shared library name

* add windows arm64 checks to raknet

* remove extra . in shared library location

* Setup plugins directory for the connector to search in, pass openssl_root_dir on for apple

* Fix copy paths for single config generators and non windows

* change plugin folder location, another single config generator fix

* GENERATOR_IS_MULTI_CONFIG is a property not a variable

* Fixed a few errors after merge

* Fix plugin directory path, force windows to look at the right folder

* fixed directory name for make_directory command

* Update README.md

Updated MacOS, Windows build instructions.

* set INSTALL_PLUGINDIR so that the right directory is used

* Support for relative rpath for docker build

* added mariadb-connector-cpp submodule

* raknet aarch64 support

* fix compile errors

* mariadb connector swap (in progress)

* update CMakeLists, add preprocessor definition to switch between mysql and mariadb connectors

* update types with missing aarch64 check

* corrected adding extra flag to properly compile mariadbconn in CMakeLists

* updated readme with arm builds section

* fix build failure if test folder does not exist

* Remove mysql connector from all builds, add mariadbconnector to windows build

* readd Linux check for backtrace lib to CMakeLists.txt

* Separate system specific mariadbconncpp extra compile flags

* Copy dlls to exes directory once built

* fetch prebuilt binaries on windows so that ClangCL can be used

* Delay load dll so that plugin directory is set correctly

* Fixed typo in glibcxx compile flag

* whitespacing, spaces -> tabs

* Updated README.md, included instructions to update

* Updated README.md

added libssl-dev requirement and removed mysql connector references from macOS builds section

* apple compile fixes for zlib and shared library name

* add windows arm64 checks to raknet

* Setup plugins directory for the connector to search in, pass openssl_root_dir on for apple

* Fix copy paths for single config generators and non windows

* change plugin folder location, another single config generator fix

* GENERATOR_IS_MULTI_CONFIG is a property not a variable

* Fixed a few errors after merge

* Fix plugin directory path, force windows to look at the right folder

* fixed directory name for make_directory command

* Update README.md

Updated MacOS, Windows build instructions.

* set INSTALL_PLUGINDIR so that the right directory is used

* Support for relative rpath for docker build

* Rebase on main

* Remove extra git submodule

* Update CMakeLists.txt

* Remove CMakeLists.txt file from mariadb

Remove the CMakeLists.txt file from the mariaDBConnector so we dont build the tests.  Also add a config option to the CMakeVariables.txt so you can build the connector with multiple jobs

* Compile on windows

Specify the mariadbcpp.dll file location with a defined absolute path so windows knows it actually exists.

* default to 1 job

Default mariadb jobs running in parallel to 1 instead of 4

* Move mariadbcpp.dll file to the expected directory on windows

* Changed plugin

Updated the plugin location from the project binary directory to the expected location, the mariadb binary directory.

* Addressed windows dll issues by moving files to the expected directory instead of a directory that wouldnt get created

* Update README

Co-authored-by: Aaron Kimbrell <aronwk.aaron@gmail.com>
Co-authored-by: EmosewaMC <39972741+EmosewaMC@users.noreply.github.com>
2022-07-03 21:33:05 -07:00
EmosewaMC
6927bc614e Spacing 2022-04-09 18:33:38 -07:00
EmosewaMC
aee3290248 Update MasterServer.cpp 2022-04-09 16:02:12 -07:00
EmosewaMC
1efbe2d2c0 added returns 2022-04-09 15:57:18 -07:00
EmosewaMC
d085c0cf10 correct exit 2022-04-09 15:35:40 -07:00
EmosewaMC
fd13770e87 Sped up server shutdown 2022-04-09 14:17:31 -07:00
Gie "Max" Vanommeslaeghe
5e5fefb501
Merge pull request #416 from Marcono1234/MasterServer-closing-db
Fix MasterServer not always closing database connection on exit
2022-04-03 11:31:53 +02:00
Xiphoseer
b8c1f7629e
Merge pull request #359 from AxtonF/HandleSIGTERM
Add handling of SIGTERM
2022-02-05 15:38:49 +01:00
Marcono1234
4cd38f1174 Use exit code macros 2022-01-25 01:30:06 +01:00
Marcono1234
910448b0e7 Fix MasterServer not always closing database connection on exit 2022-01-25 01:30:06 +01:00
TheMatt2
ef194f8796
Remove <filesystem> dependency (#400) 2022-01-21 17:46:19 +01:00
TheMatt2
df77997b0b Clearer Error Message on Misconfiguration
Checks if CDServer.sqlite exists before attempting to open it. Otherwise 
Sqlite will create an empty file only cause a crash when CDClientManager 
tries to Initialize.

Also catches error if CDClientManager tries to initialize, in case an 
empty CDServer.sqlite file already exists.
2022-01-17 15:13:30 -05:00
Felix Racz
03e2a855b1 Add handling of SIGTERM 2022-01-09 01:25:45 +01:00
Nils Bergmann
0f3fafde4b
Merge branch 'DarkflameUniverse:main' into main 2022-01-05 16:33:13 +01:00
cooltrain7
ff8d68f45c Merge branch 'main' into Log-Line-Cleaning 2021-12-28 18:46:44 +00:00
Nils Bergmann
8ba3fe33f3
Merge branch 'DarkflameUniverse:main' into main 2021-12-25 17:05:37 +01:00
Gie "Max" Vanommeslaeghe
1006bd17e3
Merge pull request #276 from cuzitsjonny/main
ChatServer respawn after crash
2021-12-21 20:09:16 +01:00
Jonny
dfb41c7c40 MasterServer now respawns ChatServer on crash 2021-12-20 10:08:57 +01:00
Nils Bergmann
2b92bbc45f
Merge branch 'DarkflameUniverse:main' into main 2021-12-14 20:05:31 +01:00
Nexus
ca8f0059a3 Add port recycling to instance creation
Made instance creation use previously used ports when available, to prevent
crashes caused by ports being used that are outside of the assigned range.
2021-12-14 11:05:33 +08:00
wincent
259c236b72 Fixes dlogger PR
When applied this commit fixes the unix build of the previous dLogger PR.
This commit also fixes backwards compatability with config files.
2021-12-13 16:57:43 +01:00
cooltrain7
932128a084 Replaced printf with correct logger->log call
-  Use of printf breaks the flow of the console
2021-12-13 01:31:39 +00:00
Jett
74742771c4 Added a LogDebug
- Added debug logging
- Created vLog, a root function for all log functions
- Placed failed to load script log under this new LogDebug function
- Updated included config functions
2021-12-11 12:29:34 +00:00
Nils Bergmann
11ade05510 style: fix whitespace 2021-12-09 18:49:46 +01:00
Nils Bergmann
7f1e392be2
WIP: add master_ip option 2021-12-08 14:57:16 +01:00
Unknown
0545adfac3 Public release of the DLU server code!
Have fun!
2021-12-05 18:54:36 +01:00