Commit Graph

47 Commits

Author SHA1 Message Date
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
0d4f86b20b
Resolve missing RakNet replacement (#650)
Repair issue from PR earlier, crucial fix.
2022-07-17 06:57:00 +01: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
David Markowitz
24dbd3944d
Friends List Overhaul (#630) v103
* Add friends list migration

* Change friends to use charID

Update friends table to use charID and not LWOOBJID variant.

* Fix remove friend

Fix remove friend and make the query more readable at a glance.

* Add and remove friends in the container

Properly add and remove friends in the player container

* add enums

* Add best friends and basic GM support V1

* Add more features

* not online / doesnt exist implementation

Implements the not online and invalid character response codes

* Address players not being removed

Fix an issue where players would not be marked as offline in the friends list due to the message not being sent in all circumstances.

Tested changes on 3 clients, switching characters, logging out from character select, switching characters, world transfer and my friends list looked as it was supposed to.

* Implement proper friends system

Remove debug logs

Track count of best friends

Add best friends list cap of 5

Add config option and best friend update

Add a config option and implement the last missing best friend serialization

Added comments and fixed remove best friend bug

Added some comments and addressed an issue where removing best friends would not remove them from your internal count of friends.

properties and logs fixes

whoops, had an issue

send reply if already BFFs

Send the correct objectID

I really need to rename these

Fix white space

goon

* Replace queries with unique ptrs

* remove user from player container on deletion

Remove the user from the player container when they delete their character.
2022-07-12 20:36:06 -07:00
Aaron Kimbrell
e3422ac0c5
Merge branch 'main' into main 2022-05-24 19:00:52 -05:00
Aaron Kimbrell
20b45bc27f
Merge branch 'main' into proper-rocket-holding 2022-05-12 08:21:17 -05:00
Aaron Kimbre
875827d688 Set url from world config instead of hardcoding 2022-05-09 17:33:43 -05:00
Aaron Kimbre
d7eb8783a8 replace the survey link with the repo link
(not that anything can load in the in-game browser anyway)
2022-05-09 08:43:31 -05:00
Aaron Kimbre
ec207838d4 Proper Rocket Holding
Sanity checks on Prop and LUP launchpads to not open if no valid rocket
Add serialization for sending item configs
so that rockets show for other players
2022-05-08 19:57:36 -05:00
EmosewaMC
a32c5a2f3c Vault corrections 2022-04-13 01:50:06 -07:00
EmosewaMC
f01c2e1bd3 Updated logging 2022-04-10 17:08:29 -07:00
EmosewaMC
30c7b65150 incorrecly named variable 2022-04-10 17:00:03 -07:00
EmosewaMC
1e514a8b61 more specific logging 2022-04-09 18:48:13 -07:00
EmosewaMC
c08557f37d separated world server to more functions 2022-04-09 18:35:41 -07:00
EmosewaMC
ae61b23896 Chat log no longer needed 2022-04-09 16:02:27 -07:00
EmosewaMC
fd13770e87 Sped up server shutdown 2022-04-09 14:17:31 -07:00
EmosewaMC
0bf2d398ea moved initialization of entity 2022-03-31 18:17:43 -07:00
Unknown
d5a18af0e8 Rehook dPhysics to main framerate
Should fix bug causing double enter and exit events
2022-02-09 10:38:09 +01:00
Xiphoseer
cabd220a66
Fix spam-log on master disconnect (#447) 2022-02-08 17:25:14 +01:00
Xiphoseer
417a1a7485
Improve logging
Log when a WorldServer initiates shutdown because the master server connection went missing or wasn't established in the first place.
2022-02-07 10:19:16 +01:00
Xiphoseer
b8c1f7629e
Merge pull request #359 from AxtonF/HandleSIGTERM
Add handling of SIGTERM
2022-02-05 15:38:49 +01:00
TheMatt2
59afc63a2f Merge DarkflameServer 2022-01-30 13:40:08 -05:00
EmosewaMC
850ae40f05 Moved retroactive flag check to Character.cpp 2022-01-19 17:34:53 -08:00
EmosewaMC
7cf458cff2 Removed redundant comparison 2022-01-19 03:36:18 -08:00
EmosewaMC
d69a4ffaf0 Added retroactive check for player faction flags
Added a retroactive check for player flag when loading into a world.
2022-01-18 17:51:12 -08: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
Felix Racz
2221945dc8 Add handling of SIGTERM 2022-01-11 22:47:29 +01:00
TheMatt2
e5f7d164cb Additional SQLite lookup sanitizing.
Using CDClientDatabase::ExecuteQueryWithArgs() across all known lookups.
2022-01-06 21:12:47 -05:00
cooltrain7
ff8d68f45c Merge branch 'main' into Log-Line-Cleaning 2021-12-28 18:46:44 +00: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
9d52ee7120 WorldServer now attempts to reconnect to ChatServer 2021-12-20 13:50:53 +01: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
Wincent Holm
f816ce4beb
Merge pull request #189 from OogwayUniverse/fdb_checksum
Implement FDB Checksum
Checks the client database with a checksum. This is an optional check to prevent the use of modded or outdated clients.
2021-12-16 23:54:08 +01:00
Jett
6f932fe2cb Spelling and set filestream mode 2021-12-16 22:51:37 +00:00
wincent
49aba62dbb Updated database check
When applied this commit updates the style of the database check, changes some logging statements, and makes developers able to skip the check.
2021-12-16 23:11:51 +01:00
Jett
a5d527d0cf client fdb checksum bug 2021-12-15 18:45:42 +00:00
Jett
ff2f5cb2ce (untested) 2021-12-14 19:25:30 +00:00
Jett
543b231a80 Update WorldServer.cpp 2021-12-14 18:12:44 +00: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
9b1fbe6c2c Added extra log information and replaced incorrect print statements
- Added extra Zone and Instance information to ambiguous log calls during loading. chat connection, chat connection loss, and shutdown
- Fixed correct class names in some log lines
- Replaced printf during world shutdown with correct log call with instance and zone info
2021-12-13 01:37:09 +00:00
Jett
9e032223eb Remove unused MD5 functions and fixed memory leak 2021-12-12 15:53:19 +00:00
Jett
830cf22beb Calculate FDB checksum in chunks 2021-12-12 15:14:04 +00:00
Jett
49c1cb3aff Implement FDB Checksum
- Added config option `check_fdb`
- Added check in WorldServer.cpp
- Added raw MD5 function in MD5.cpp and MD5.h
2021-12-12 03:41:11 +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
TomNordesen
bfcce19649 Nice Commit! :) 2021-12-07 19:58:24 +01:00
Unknown
0545adfac3 Public release of the DLU server code!
Have fun!
2021-12-05 18:54:36 +01:00