Commit Graph

938 Commits

Author SHA1 Message Date
David Markowitz
04ccd7ebe4 Merge remote-tracking branch 'upstream/main' into ServerShutdown 2022-12-16 04:07:08 -08:00
Daniel Seiler
1ed3af63b9
Log some recvfrom errors on linux (#885) 2022-12-15 22:32:36 -08:00
David Markowitz
213c3c37b0
Fix crash in BasicAttackBehavior (#862)
* Add failArmor server side

Address out of bounds reading in behavior

Address the basicAttackBehavior reading out of bounds memory and reading bits that didnt exist, which occasionally caused crashes and also caused the behavior to do undefined behavior due to the bad reads.

Tested that attacking a wall anywhere with a projectile now does not crash the game.  Tested with logs that the behavior correctly returned when there were no allocated bits or returned when other states were met.

Add back logs and add fail handle

Remove comment block

Revert "Add back logs and add fail handle"

This reverts commit db19be0906fc8bf35bf89037e2bfba39f5ef9c0c.

Split out checks

* Remove case 2

* Update SkillComponent.cpp
2022-12-15 22:10:58 -08:00
EmosewaMC
e1cc25759e Merge remote-tracking branch 'upstream/main' into ServerShutdown 2022-12-15 18:43:28 -08:00
David Markowitz
b7341c8106
Resolve warnings, change config init order and remove unused Game variables for all servers (#877)
* Resolve warnings and change init order

Initialize dConfig first, before logger so we know whether or not to log to console
Initialize namespace Game variables to nullptr so they are a known value if accessed before initialization.
Removed unused Game variables
Replaced config with a pointer instead of referencing something on the stack.
Assign return values to system calls to silence warnings.

Tested that the server still compiles, runs and allows me to load into the game.

* Only start Master of config files exist

Also default the logging to console to on on the off chance the files exist but are wrong / corrupted.
2022-12-15 08:13:49 -06:00
EmosewaMC
1afe717563 Properly exit
Properly exit based on the path taken to shutdown master.

Tested that shutting down through sigint or sigterm returns -1
Tested that a segfault exits the program properly
Need to test that players who are trying to connect while master is shutting down are not able to spawn more child worlds.
2022-12-15 05:46:03 -08:00
EmosewaMC
435761f64b Improve shutdown 2022-12-15 04:14:00 -08:00
EmosewaMC
9659000569 Merge branch 'master-logs' into ServerShutdown 2022-12-15 03:11:10 -08: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
Gie "Max" Vanommeslaeghe
430c6da4a7
Merge pull request #879 from EmosewaMC/main
Fdb NULL fixes
2022-12-08 13:51:55 +01:00
EmosewaMC
d5613b8034 hot fix 2022-12-08 04:44:56 -08:00
Aaron Kimbrell
8886bf6547
Address Force movement behaviors triggering twice (#878) 2022-12-07 23:13:25 -08:00
EmosewaMC
a14e16237b Only start Master of config files exist
Also default the logging to console to on on the off chance the files exist but are wrong / corrupted.
2022-12-06 19:30:43 -08:00
Demetri Van Sickle
fde62a4777
Fixed typo (#875) 2022-12-06 08:36:42 -06:00
EmosewaMC
46f085eb4b Resolve warnings and change init order
Initialize dConfig first, before logger so we know whether or not to log to console
Initialize namespace Game variables to nullptr so they are a known value if accessed before initialization.
Removed unused Game variables
Replaced config with a pointer instead of referencing something on the stack.
Assign return values to system calls to silence warnings.

Tested that the server still compiles, runs and allows me to load into the game.
2022-12-06 04:39:09 -08:00
David Markowitz
18a0ae599b
Add bandwidth limit of 10kb/s(#863) 2022-12-05 16:08:47 -08:00
David Markowitz
0a616f891f
Change File Finder (#873) 2022-12-05 09:04:59 -06:00
David Markowitz
2ba3103a0c
Implement FDB to SQLite (#872) 2022-12-05 00:57:58 -08:00
David Markowitz
e8ba3357e8
Add support to reload the config (#868) 2022-12-04 16:25:58 -06:00
David Markowitz
de3e53de6c
Fix Model Vault (#870)
Allow pets, rockets and racecars to be stored in vault
2022-12-04 16:25:25 -06:00
Wincent Holm
ab5adea24c
Move CDServer migration history table (#867) 2022-12-03 13:17:13 +01:00
David Markowitz
e1af528d9b
Add SlashCommand for spawngroup (#858) 2022-12-02 03:47:27 -08:00
Aaron Kimbrell
d8945e9067
Add migration to make play_key_id nullable (#857)
since there is an option not to use play_keys
2022-12-02 03:46:54 -08:00
Aaron Kimbrell
2b9c014b86
Quiet activity manager timer logs (#861) 2022-12-02 00:44:20 -08:00
David Markowitz
63460ea00d
Fix bricks not creating new stacks (#860)
Unintentionally, bricks were not creating new stacks if you tried to get another stack.  This prevents some missions from being completed.  This issue is now fixed
2022-11-30 01:04:46 -08:00
David Markowitz
09dfb6df3a
Address news feed showing up on every world transfer (#855)
Addresses the news feed showing up on every world transfer
2022-11-27 22:19:15 -08:00
David Markowitz
56da3f8543
Remove Locale (#808)
* Remove Locale (finally)
2022-11-27 16:56:55 -08:00
David Markowitz
3222e78815
Implement undo action for pre-built models (#830)
Brick building as of right now does not implement the undo action properly.  This commit addresses the issue with undoing button being non-functional server side and implements the GM needed for addressing further issues.

Implement GameMessage UnUseModel which is called when a model in BrickBuilding is UnUsed.  Important for UGC content down the line.  Final code has been tested as follows:
1. Placed a model in brick build
2. saved placed a brick
3. repeat 2 and 3 twice more for 6 total models
4. Place a new model in brick mode and then edit all 7 models into one brick model instance
5. Pressing undo returns the converted model to the inventory and properly discards the other 6 without crashing.  Intended live behavior is to store this in the inventory instead however behind the scenes work is needed to implement UGC models properly.

Implement enum

Implement the BlueprintSaveResponseType enum so there are less magic numbers sent via packets.
Correct int sizes from unsigned int to uint32_t

Add deserialize test

Add a test for de-serializing a GM that is sent to the client.  Assertions verify the data is in the correct order and has no extra information.
2022-11-27 16:48:46 -08:00
David Markowitz
3939f19b08
Add Remove Buff Behavior and patch infinite use Imagination Backpack(#845)
Testing does not reveal any issues with existing buff removals sending this GM as well and may fix more bugs that were unknown, or cause more.
2022-11-27 16:40:14 -08:00
David Markowitz
1556f580d6
Improve Diagnostics logging (#841)
Improve diagnostics to write the file name and signal to the log file should there be a crash.
2022-11-27 13:47:14 -08:00
David Markowitz
d382eb3bc2
Fix Boogie Down (#854)
- Give entities that have a script component ID of zero a script component still
- Progress scripted entity missions within the for loop as we do for script calls

Tested that Boogie Down is (finally) completable.
Tested that Mission 737 is still completable
Checked that missions progressed inside OnEmoteReceived scripts to not double trigger progression
2022-11-27 04:03:30 -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
David Markowitz
e40a597f18
Property Behavior deserialize definitions (#812)
* Implement basic functionality

Implements the basic functionality and parsing of property behaviors.

Unhandled messages and logged and discarded for the time being.  The only implemented message is a basic one that sends the needed info the the client side User Interface to pop up.
2022-11-27 01:24:35 -08:00
Jonathan Romano
af28d170fb
Fix chat whitelist path in UserManager error log (#853) 2022-11-27 01:06:17 -08:00
David Markowitz
e2616c5f11
Move enums to a single directory
A technical change to move all emum files to a single directory
2022-11-26 14:22:00 -08:00
Aaron Kimbrell
36eecd693d
Brick stack sizes are now unlimited
Make brick stacks unlimited as they were in live.  If you have more than uint32_max bricks, the extra bricks are trashed.
2022-11-26 02:30:53 -08:00
Jonathan Romano
4569f62100
Fix three-part names coming across as INVALID with custom client path 2022-11-26 02:29:53 -08:00
Jonathan Romano
afb97a81b5
Address Mac CI using specific versions of OpenSSL
Corrected CI to use the version brew links in opt rather than the specific version in Cellar
2022-11-25 17:28:20 -08:00
Nico Mexis
b17ba56af1
Update workflow actions (#844) 2022-11-23 12:50:45 -06:00
Demetri Van Sickle
9d62a8cd0b
Add backwards compatibility with servers using previous setup method
* MasterServer will nolonger require cdclient.fdb

* Added support for packed/unpacked clients not requiring .fdb file if .sqlite exsits
2022-11-21 14:19:37 -08:00
David Markowitz
416021c208
Remove need for Avant Gardens Survival Client Fix
This addresses the Avant Gardens Survival bug
Does not conflict with clients that have the fix.
2022-11-21 14:18:01 -08:00
Aaron Kimbrell
3fa6ea4cea
Fix ninjago crashes (#837)
Fixed reading speed from rail paths
Made the config of rail paths be read in sanely due to not having a type
Fixes #835
2022-11-14 13:57:49 -06:00
Aaron Kimbrell
37524af549
fix trigger loading (#838)
Fixes #836
2022-11-14 12:55:40 -06:00
Jonathan Romano
53b559bef3
Make build script fail if any command fails (#832) 2022-11-14 08:08:49 -06:00
Aaron Kimbrell
848c066924
Not every scene has triggers, that is normal (#831)
Quell the onslaught of meaningless logs
2022-11-12 08:44:37 -06:00
Aaron Kimbrell
7429902a64
Prevent adding movingplatform components to all entites with an attached_path (#829)
* Stop adding movingpla comps where they aren't needed

* move stuff around to make it more congruent

* invert if else block logic patter
Since setting up the comp will be longer han just adding the path
will make the readability flow better

* address feedback
2022-11-12 08:44:27 -06:00
Aaron Kimbrell
22e5d02400
Use Property path name and desc when claiming (#827) 2022-11-12 08:44:13 -06:00
Aaron Kimbrell
cf7fa8e52d
cleanup and define all unknowns in zone reading (#826)
* cleanup and define all unknowns in zone reading
fix for movement path config reading

* simplify reading and don't use intermediates

* fix spelling

* remove dup variable in struct
read to the proper name that relates to the enum
2022-11-12 08:44:03 -06: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