Commit Graph

118 Commits

Author SHA1 Message Date
Aaron Kimbrell
5374c555f5
Implement bubble seriliaztion in controllable physics (#942)
* bubble

* "Correct" serialization and enum

* Enum update

* figured out what things do

* accurate types and cleanup

* add sanity check
add getter
add slash command for testing

* fix default

* cleanup slash command

* handle game message probably
remove funny slash command
add all bubble GM's

Co-authored-by: Jett <55758076+Jettford@users.noreply.github.com>
2023-01-07 00:14:51 -06:00
David Markowitz
1ac898ba00
Remove GameConfig (#874)
* Remove GameConfig

* Fully remove GmeConfig

* Update worldconfig.ini

Co-authored-by: Aaron Kimbrell <aronwk.aaron@gmail.com>
2023-01-06 23:21:40 -06:00
David Markowitz
fc75d6048f
dGame Precompiled header improvements (#876)
* moving branch

* Add deleteinven slash command

* Change name of BRICKS_IN_BBB

* Use string_view instead of strcmp

* Clean up include tree

* Remove unneeded headers from PCH files

Removes unneeded headers from pre-compiled headers.  This increases compile time, however reduces development time for most files.

* Update Entity.h

* Update EntityManager.h

* Update GameMessages.cpp

* There it compiles now

Co-authored-by: Aaron Kimbrell <aronwk.aaron@gmail.com>
2023-01-06 23:17:05 -06:00
EmosewaMC
19be0a61b2 Eliminate WorldConfig Magic Numbers
Add comments for fields

Use the name directly
2023-01-01 05:20:03 -08:00
David Markowitz
51dd56f0a0
Add MTU config option (#908)
* Add config option

* Add reloading
2022-12-21 10:51:27 -06:00
David Markowitz
84c5d74450
Add Delete Inventory Slash Command (#865)
* moving branch

* Add deleteinven slash command

* Change name of BRICKS_IN_BBB

* Use string_view instead of strcmp

* Remove GameConfig

* Revert "Remove GameConfig"

This reverts commit cef5cdeea2.
2022-12-18 09:46:04 -06:00
Jett
1da2db9db6 Resolve some string related issues for Windows Debug 2022-12-17 16:03:18 +00:00
David Markowitz
5292f36417
Packages updates (#864)
Update packages to not open if you dont have enough room.  Update packages to no longer allow them selves to be open unless you meet the pre-reqs.
2022-12-11 00:27:01 -08:00
David Markowitz
da910309a0
Remove unneeded commands (#880)
* Remove unneeded commands

* Thank you aron
2022-12-08 15:32:47 -06:00
David Markowitz
18a0ae599b
Add bandwidth limit of 10kb/s(#863) 2022-12-05 16:08:47 -08:00
David Markowitz
e8ba3357e8
Add support to reload the config (#868) 2022-12-04 16:25:58 -06:00
David Markowitz
e1af528d9b
Add SlashCommand for spawngroup (#858) 2022-12-02 03:47:27 -08:00
David Markowitz
56da3f8543
Remove Locale (#808)
* Remove Locale (finally)
2022-11-27 16:56:55 -08:00
Jonathan Romano
f8f5b731f1
Allow servers to be run from directories other than build. Read/write files relative to binary instead of cwd (#834)
Allows the server to be run from a non-build directory.  Also only read or write files relative to the build directory, regardless of where the server is run from
2022-11-27 03:59:59 -08:00
Aaron Kimbrell
1eff3ae454
Add checks to AssetBuffers before they are used (#820)
* add checks to buffers before they are used
to avoid crashing

* address feedback
2022-11-10 12:59:31 -06:00
David Markowitz
1d5c71eb9b
Fix Pet Taming causing seg fault (#818)
* Fix Pet Taming

* Fix Pet Taming

* fix pet taming path loading
just make it go to build file since the asset managet handles intermediate steps
there is never res in the path in the live db, so no need to check

* special case BrickModels to uppercase if unpacked
remove redundent variable

Co-authored-by: Aaron Kimbrell <aronwk.aaron@gmail.com>
2022-11-05 19:09:26 -05:00
Jett
4a6f3e44ee
Add support for packed clients (#802)
* First iteration of pack reader and interface

* Fix memory leak and remove logs

* Complete packed asset interface and begin on file loading replacement

* Implement proper BinaryIO error

* Improve AssetMemoryBuffer for reading and implement more reading

* Repair more file loading code and improve how navmeshes are loaded

* Missing checks implementation

* Revert addition of Manifest class and migration changes

* Resolved all feedback.
2022-11-01 13:21:26 -05:00
Aaron Kimbrell
26f2eb409f
Mounts v2 (#726)
* Mounts -v2

* fix stun state and make comments a bit nicer

* remove extra serilization

* update the char position a bit more correctly

* make vehicles face thr player's direction

* address feedback

* fix compiling for real this time

* removed uneeded check
2022-09-02 13:49:19 -05:00
Aaron Kimbrell
2d0faae759
Merge pull request #719 from DarkflameUniverse/unix-line-endings
Unix line endings
2022-08-08 09:33:43 -05:00
Jett
6c97ea8208
Implement flying command (#713)
* Implement flying command

* Add documentation.
2022-08-06 01:19:34 -07:00
Aaron Kimbre
72477e01e2 convert to unix line endings 2022-08-05 22:01:59 -05:00
Daniel Seiler
a429489846
use UTF8ToUTF16 more (#695) 2022-08-02 08:56:20 -05:00
Jett
9ee219ea42
Move Navmesh code away from dPhysics (#701) 2022-08-02 06:30:19 +01:00
aronwk-aaron
19e77a38d8 format codebase 2022-07-28 08:39:57 -05:00
Aaron Kimbrell
e97ae92624
Make logger automatically put a newline (#675)
at the end of the line
remove all the newlines in log calls
2022-07-24 21:26:51 -05:00
Aaron Kimbrell
f2d1c5d26d
Split out Level progression component (#671)
* Split out Level progression component
from Character Component
This is to get to the Player forced movement Comp in a sane way

* move XML to component insted of abusing charComp

* use overrides
should probably make everything that calls that call it correctly

* fix linking issue
2022-07-24 13:04:02 -05:00
David Markowitz
6a38b67ed5
General AMF cleanup (#663)
* General AMF cleanup

Proper memory management as well as style cleanup

* General optimizations

Fix AMFArray so values are properly deleted when you leave the scope it was created in.
Add bounds check for deletion so you don't double delete.
Remove all AMFdeletions that are contained in an array since the array now manages its own memory and deletes it when it is no longer needed.

* Better tests and fix de-serialize

Fix de-serialize to be correct and implement a test to check this

* Update AMFDeserializeTests.cpp

* Update AMFFormat.cpp
2022-07-21 22:26:09 -07: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
Aaron Kimbrell
dddc33607b
remove unused code and callbacktimers in testmap (#620) 2022-07-08 22:25:44 -05:00
David Markowitz
22b2516107
Fix nested preconditions not evaluating costs (#618)
Fixed an issue with some builds that had preconditions not taking items from the players due to the evaluate costs parameter not being passed to nested conditions.

Tested the build in Avant Gardens and it now correctly takes items from the player upon completion.
2022-07-06 19:29:15 -07:00
David Markowitz
8cdb388915
Optimize scripts for faster compilation (#597)
* Implement Precompiled Headers

* First volume of optimizations

* Scripts A-B

Gonna be doing this in alphabetical order now.

* C Scripts and remove unneeded includes from base cppscripts header

Remove the MissionComponent and Loot includes from all base scripts and place their needed includes in the respective scripts.

* D scripts

* F scripts

* F scripts 2

Finish up removing extraneous includes from scripts that start with the letter F

* G scripts

Removing extraneous includes from scripts that start with the letter G

* I scripts

Removing extraneous includes from scripts that start with the letter I

* M-Z scripts

Removing extraneous includes from scripts that start with the letter M-Z

* Revert "Implement Precompiled Headers"

This reverts commit d79d8d4991.

* Revert "Revert "Implement Precompiled Headers""

This reverts commit 0597faf308.

* Add back in PCH

Add back in PCH

* Fix CMake

Whitespace

Remove duplicate file glob

Remove newline
2022-07-04 23:00:10 -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
EmosewaMC
a61c6e5e41 Add /setlevel slash command
Add the setlevel slash command.  Command accepts parameters of the requested level and a player to set the level of.  This also adjects the uscore of the player accordingly.  The player must re-log upon using the command to see any updates to themselves or others.
2022-06-13 00:45:17 -07:00
Aaron Kimbrell
e3422ac0c5
Merge branch 'main' into main 2022-05-24 19:00:52 -05:00
EmosewaMC
18fc01cd49 missed change for forge 2022-04-23 20:44:08 -07:00
EmosewaMC
7a051afd97 loot source for item drops
Added support for Items to have a loot source attached to them when dropped or rolled.  This fixes the issue where achievements would give the item before it appeared in the achievement window.
2022-04-23 20:35:34 -07:00
EmosewaMC
ceab229a63 Specified enum
the LOOT_SOURCE enum is now attached to all loot sources.
2022-04-23 20:32:31 -07:00
EmosewaMC
a4d934913c added lootsource send in GM
WIP commit
2022-04-23 05:13:06 -07:00
Aaron Kimbre
959c90985c missed a semicolon 2022-04-12 18:32:52 -05:00
Aaron Kimbre
4a98c46fb9 fix tabs/spaces 2022-04-12 18:30:46 -05:00
Aaron Kimbre
40d396c7e2 simplify 2022-04-12 18:05:22 -05:00
Aaron Kimbre
6b44936c68 check if map exists for testmap 2022-04-12 14:06:03 -05:00
Avery
75fd425ef6
Remove ability for gmlevel 0 to use /playanim (#391) 2022-03-29 13:06:28 -07:00
David Markowitz
f0a4324bd4
Fixed an issue where leave-zone was working outside of instanced zones (#431) 2022-02-04 07:32:45 +01:00
David Markowitz
13980c4133
Added logic to Convert UScore to Coins for Level 45 Characters (#348) 2022-02-03 07:50:02 +01:00
TheMatt2
59afc63a2f Merge DarkflameServer 2022-01-30 13:40:08 -05:00
David Markowitz
1e01423a93
Added support for flags in macros (#410) 2022-01-24 14:57:50 +01:00
enteryournamehere
84a376b425
Add zone 1700 to list of accessible zones (#87)
* Add zone 1700 to list of accessible zones

also fix indentation

* Indent using tabs instead of spaces

* Add zone 1500

* Remove zone 1500

and add back 1700 which was accidentally deleted again
2022-01-18 11:48:56 -08:00
TheMatt2
9dfa401b27 Fix whitespace
Convert to tabs and remove trailing whitespace
2022-01-15 14:02:14 -05:00
TheMatt2
3de3932503 Comply with Xiphoseer required changes.
Remove the CDClientDatabase::ExecuteQueryWithArgs() function and replace 
it with CDClientDatabase::CreatePreppedStmt().

This prevents a developer from accidently using %s, or incorrectly 
passing std::string, and causing a silent error.
2022-01-12 22:48:27 -05:00
TheMatt2
e5f7d164cb Additional SQLite lookup sanitizing.
Using CDClientDatabase::ExecuteQueryWithArgs() across all known lookups.
2022-01-06 21:12:47 -05:00
Jett
c1903ca12d Remove IP Logging 2022-01-06 21:54:48 +00:00
TheMatt2
590ccc78aa Add proper sanitizing for input to SQLite database.
Adds function `ExecuteQueryWithArgs(query, ...)` to allow for queries 
with user input.

There is a known issue, that the funciton does not work with 
std::string. All strings must be converted to c strings.
2022-01-05 21:52:33 -05:00
TheMatt2
f7b3a1ef10
Merge branch 'DarkflameUniverse:main' into main 2022-01-04 12:53:41 -08:00
Xiphoseer
4d19459015
Merge pull request #291 from EmosewaMC/EmosewaMC
Implemented sourceType for SendSetCurrency
2022-01-04 12:01:32 +01:00
TheMatt2
f2b3b0bf66 Check user input for the "/runmacro" command
Presents users from specifying a file path, and looking up macros in the 
expected folder.
2022-01-03 21:40:07 -08:00
Jett
203e75ef3d
Fix resurrecting in BONS (#334) 2022-01-01 02:10:12 -08:00
EmosewaMC
6aad799f95 Updated variable names
Updated the variable names to match the enum name update.
2021-12-23 18:48:08 -08:00
Wincent Holm
271e14e2f1
Fix loot crash
When applied this commit fixes a crash with the loot system due to a missing nullptr check.
2021-12-22 17:16:31 +01:00
EmosewaMC
97f8e9e9fc Added enum for coin sources
Added an enum for coin sources as to avoid leaving a random number in the code.
2021-12-22 00:01:55 -08:00
EmosewaMC
23e269940b Implemented sourceType for SendSetCurrency
Implemented sourceType for the function SendSetCurrency.
2021-12-21 23:26:54 -08:00
saltshaker
aad4ed6a83 Added include <vector> to Loot.h to allow the server to build on GCP. Resolves #281. 2021-12-21 03:17:35 -07:00
Jett
0531365cb5
Make loot accurate to the loot drop rates during live. (#216)
* loot fix (broken)

* Fixed loot

* Update SlashCommandHandler.cpp

* Remove debug command

* Roll loot command

* Remove debug log

* Added const references
When this commit is applied it adds const references to the loot system avoid some unnecessary copies.

Co-authored-by: wincent <wincent.holm@gmail.com>
Co-authored-by: Avery <averysumner@gmail.com>
2021-12-20 02:25:45 -08:00
Avery
58229a922e
setminifig shirt -> setminifig shirtcolor 2021-12-14 18:55:05 -08:00
Avery
a2ed772417
setMinifig -> setminifig 2021-12-14 18:51:41 -08:00
Jett
6500b62c52 Minifig editing 2021-12-11 02:02:02 +00:00
Unknown
0545adfac3 Public release of the DLU server code!
Have fun!
2021-12-05 18:54:36 +01:00