Commit Graph

47 Commits

Author SHA1 Message Date
David Markowitz
1464762bcd
Implement GTest and change windows output path
Implement GTest as a testing infrastructure.
Make windows output binaries to the build folder instead of the release type folder (potentially issue further down the line)
Add a simple unit test for DestroyableComponent
2022-11-07 00:12:35 -08:00
David Markowitz
906887bda9
Add automatic cdclient migration runner support and setup (#789)
* Add automatic migrations for CDServer

Add support to automatically migrate and update CDServers with new migrations.  Also adds support to simplify the setup process by simply putting the fdb in the res folder and letting the server convert it to sqlite.

This reduces the amount of back and forth when setting up a server.

* Remove transaction language

* Add DML execution
`poggers`
Add a way to execute DML commands through the sqlite connection on the server.

* Make DML Commands more robust

On the off chance the server is shutdown before the whole migration is run, lets just not add it to our "finished list" until the whole file is done.

* Update README
2022-10-30 00:38:43 -07:00
Jett
a745cdb727
Implement a shared config between servers (#795)
* Implement a shared config between servers

* Auto move config file on CMake run
2022-10-29 16:17:35 -07:00
David Markowitz
c13937bd1f
Address Brick-By-Brick builds not properly saving and make migrations automatic (#725)
* Properly store BBB in database

Store the BBB data in the database as the received SD0 packet as opposed to just the raw lxfml.  Addressed several memory leaks as well.

* Add Sd0Conversion

Add brick by brick conversion commands with 2 parameters to tell the program what to do with the data.

Add zlib -> sd0 conversion.  Files look good at a glance but should be tested in game to ensure stability.  Tests to come.

* moving to laptop

ignore this commit.  I need to move this to my laptop

* Add functionality to delete bad models

Adds functionality to delete bad models.  Models are batched together and deleted in one commit.

More testing is needed to ensure data safety.  Positive tests on a live database reveal the broken models were truncated and complete ones were kept around successfully.  Tests should be done to ensure larger sd0 models are properly saved and not truncated since this command should be able to be run any time.

Valgrind tests need to be run as well to ensure no memory leaks exist.

* Delete from query change

Changed from delete to delete cascade and instead deleting from properties_contents as opposed to ugc.

* Address numerous bugs

DELETE CASCADE is not a valid SQL command so this was changed to a better delete statement.

Added user confirmation before deleting a broken model.
Address appending the string model appending bad data, causing excess deletion.
Addressed memory leaks with sql::Blob

* Error handling for string

* Even more proper handling...

* Add bounds check for cli command

Output a message if a bad command is used.

Update MasterServer.cpp

* Remove user interference

-Add back in mariadb build jobs so i dont nuke others systems
- Remove all user interference and consolidate work into one command since 1 depends on the next.

* Add comments

test

Revert "test"

This reverts commit fb831f268b7a2f0ccd20595aff64902ab4f4b4ee.

* Update CMakeMariaDBLists.txt

Test

* Improve migration runner

Migration runner now runs automatically.
- Resolved an issue where extremely large sql queries caused the database to go into an invalid state.
- Made migrations run automatically on server start.
- Resolved a tiny memory leak in migration runner? (discarded returned pointer)
- Moved sd0 migrations of brick models to be run automatically with migration runner.
- Created dummy file to tell when brick migrations have been run.

* Update README

Updated the README to reflect the new server migration state.

* Make model deleter actually delete models

My complicated sql actually did nothing...  Tested that this new SQL properly gets rid of bad data.

* Revert "Update CMakeMariaDBLists.txt"

This reverts commit 8b859d8529.
2022-10-24 17:20:36 -05:00
Demetri Van Sickle
bc132487e9
Updated README (Formatting and flow) (#744)
* Updated flow of database section

* Changed bolded headers to actual headers

Will now allow you to link to them

* Updated Linux build command to match build script

* Updated database wording
2022-08-25 14:16:20 -07:00
David Markowitz
408163ed35
Add windows docker setup guide to README (#712)
* Add docker windows

* Update README.md
2022-08-05 07:40:27 -05:00
aequabit
4556f13474
Mention option to use Docker in README.md (#702) 2022-08-05 01:04:45 -07:00
Aaron Kimbrell
3dfe363a6b
Added Aronwk and Simon to the readme (#657)
* Added myself and Simon to the readme

Me, since I've started to work on implementing mounts again.
Simon for his work in Reverse engineering the client which has been helping over the years.
Venture Vision and moving platforms/simple movers being two recent things that his RE has helped fix.

moved the special thanks out a header at the suggestion of Xipho and Max, since these people have not directly contributed to the DLU codebase.
made a section under the DLU team recognizing Blaster for the Logo that DLU uses
bumped up the credits header to make formatting make more sense

* Update based on feedback

Credit Blaster builder as they requested.
Remove duplicate entries for under DLU Team as requested
2022-07-19 09:29:26 -05:00
David Markowitz
ccb9f7c499
Move instruction for database
Move the instruction for running the MasterServer migration down to where the command will actually work as well as use a more syntactically correct statement
2022-07-12 20:45:25 -07:00
Jett
d642de9462 Implement a migration runner 2022-07-12 02:16:08 +01:00
David Markowitz
0734760d42
Add openssl to list of package requirements
I forgot to add this to the list of needed packages.
2022-07-06 12:05:42 -07: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
Jett
00f7a5c4d6
Update README.md 2022-06-22 08:57:36 +01:00
Aaron Kimbrell
1b222a64c3
removing myself from the situation 2022-06-21 20:07:44 -05:00
Jett
6a7c6da01a
Update to simpler list. 2022-06-22 00:35:24 +01:00
Jett
9bfff533c3
Update Darwins link on the README 2022-06-22 00:04:45 +01:00
Jett
8e9c48cce0
Update README.md 2022-06-21 23:57:47 +01:00
Jett
c0d05b00df
Replace list with new formatting 2022-06-21 09:03:31 +01:00
Jett
ef0873075f
Reflect the same order as that in the CREDITS.md file 2022-06-21 07:04:41 +01:00
Jett
ea94de16cd
Update Xiphoseers position on the project 2022-06-21 06:48:35 +01:00
Jett
09d50faf79
Add new contributors to contributions list 2022-06-21 06:40:19 +01:00
Avery
29199f4755
Update README.md 2022-06-19 18:34:18 -07:00
Jett
445c01d485
Add instructions on solving missing DLL issue (#379)
* Add instructions on solving missing DLL issue

* Repair formatting to be consistent
2022-05-25 18:41:42 -05:00
Avery
026654b0d0
Update README.md 2022-01-31 04:34:22 -08:00
Nico Mexis
7dd7fdaf71
Update CMake minimum requirement (#380) 2022-01-17 12:46:33 +01:00
Mick
73718fe9af
Merge pull request #14 from maxdelayer/main
Set `build.sh` as executable & update `README.md` to acknowledge  `build.sh`'s existence
2022-01-03 18:48:33 +01:00
ash
e58af90c8b Correct documentation for /instanceinfo 2021-12-14 21:45:35 +00:00
Stefan Heinz
fdd4e3cc80
Add note to readme for troubleshooting tips with script editing 2021-12-08 18:22:05 +01:00
Avery
0db954fa72
Update README.md 2021-12-07 12:15:57 -05:00
Mick
b580f19825
Merge pull request #2 from StefanH-AT/readme-cmake-version
Add note to readme about cmake version to build
2021-12-07 10:22:26 +01:00
Gie "Max" Vanommeslaeghe
994382b801
Merge pull request #43 from TheLongestRose/patch-1
Important note for WSL2 users
2021-12-06 23:08:41 +01:00
Wincent Holm
d7b443d51b
Merge pull request #13 from JoachimFlottorp/main
Modified README specifying CMakeVariables outside the Python box
2021-12-06 15:01:22 +01:00
Wincent Holm
9dc38e87cd
Merge pull request #11 from yuwui/patch/default_net_version
change default network version to unmodded client
2021-12-06 14:53:23 +01:00
yuwui
932bf7ca60 update readme 2021-12-06 12:29:42 +01:00
TheLongestRose
7dadc4ce77
Important note for WSL2 users
The server and client cannot connect when the server is running on a WSL2 distro and the server is set to localhost, due to differences between WSL1 and 2. This won't affect most people, but would have saved me a few hours.
2021-12-06 00:04:52 -08:00
Avery
7e4be6fdb6
Update README.md 2021-12-06 00:39:13 -05:00
Avery
4b8712b0f5
Update README.md 2021-12-06 00:37:30 -05:00
Max
57ba0cde37 Tweaked markdown of README to reflected what was intended in previous commit. 2021-12-05 17:30:24 -06:00
Max
a409132f69 Marked build.sh as executable and updated README.md to note that build.sh exists and is useful 2021-12-05 17:28:27 -06:00
JoachimF
0c006b4007
Update README.md 2021-12-05 23:50:30 +01:00
Gie "Max" Vanommeslaeghe
498a9c0be4
Merge pull request #3 from luxaritas/patch-1
Note that the zlib -dev package is needed
2021-12-05 23:25:14 +01:00
Wincent Holm
54810fd5ef
Added names to folder to copy over to build/res 2021-12-05 22:11:09 +01:00
XenoTrixx
a54687671a Correctet apt install command for ubuntu 2021-12-05 21:48:43 +01:00
Jonathan Romano
e0ef02bfdb
Note that the zlib -dev package is needed 2021-12-05 15:31:42 -05:00
Stefan Heinz
18d33933d4
Add note to readme about cmake version to build 2021-12-05 21:26:58 +01:00
Unknown
0545adfac3 Public release of the DLU server code!
Have fun!
2021-12-05 18:54:36 +01:00
Unknown
5f7270e4ad Initial commit 2021-12-05 18:40:43 +01:00