Commit Graph

17 Commits

Author SHA1 Message Date
Ceikry aa038882e8 Fix plugin-sourced movement walking the player to the same tile as the NPC/Player/etc 2023-07-30 19:38:49 +00:00
Ceikry 9a25c2a87d Improved logout handling 2023-06-02 01:34:01 +00:00
Ceikry 88a2f354b4 Added support for varying log levels configurable in the server config (see log_level in default.conf)
Error logs now properly print to stderr when possible
Colour-coded logs
Addressed a scenario in which outgoing packet writes could get hung up
Fixed interface incorrect definition message on server startup
2023-03-01 08:01:14 +00:00
Ceikry a100affda2 Repository reorganisation
Unified kotlin and java into just src/main
Unified the rs09 and core packages
Took all content out of the core package, and placed it into the new content package
Reorganised all source code relating to content to be easier to find and explore
2023-01-26 13:59:28 +00:00
Ceikry 39cf1f60ca Fixed value parsing from item definitions 2022-10-03 07:26:34 +00:00
Ceikry d2283e6716 Removed lots of dead code 2022-09-17 16:28:52 +00:00
Ceikry f406b8aa98 Graves Rewrite
Rewrote graves from scratch using new systems and abundant unit testing
Fixed a race condition bug that would prevent classes implementing PersistWorld from properly... persisting
Fixed a bug where graves were (still) too generous
Fixed a bug where graves would not persist across server reboots
Fixed a bug where graves would not recognize a relogged player
Fixed numerous other bugs with graves, see the unit tests for complete coverage
Grave system now supports quest requirements
2022-09-17 14:40:25 +00:00
vddcore 895444f1a8 Refactored pulse running logic, made it easier to follow and debug
Made the pulse runner use thread-safe collections instead of synchronizing on a thread-unsafe list
2022-07-16 07:36:44 +00:00
Ceikry 07065c7e79 Random Events should now spawn correctly
Fixed an issue that was causing tick event hooks to not fire
2022-05-16 12:22:29 +00:00
Ceikry 9ab9885eef Introduced modular components for authentication, including the storage backend
Servers in dev mode now have a no-auth equivalent that allows any user/pass combo without registration
Added a ban command
Added a mute command
Hooked up the mute functionality of the report screen (for pmods+)
Cleaned up all the now-unused classes for player SQL stuff
Player SQL stuff now uses entirely prepared statements
No longer storing PC name, MAC address, serial number as these are inauthentic components of the protocol Packet to be corrected in the future to allow closer compatibility with authentic clients
Used less threading for the SQL queries/updates as these were causing issues both with the old system and the new
Updated ::resetpassword and ::setpasswordother commands to use the new server authentication pipeline (to ensure things are always correctly set)
Refactored the login read event, now handles more exceptions and edge cases
2022-05-16 11:51:42 +00:00
Ceikry 966a5e1c55 Fixed the load order of configs with plugins - many configs are now loaded after plugins so that npc/item/object handlers in the old plugin system are set properly 2022-05-15 23:22:30 +00:00
Ceikry 24cea604fc Class scanning now distinguishes side effectful plugins from our pure content interfaces
Server store is now loaded and parsed ***before*** side effectful plugins
2022-05-15 11:20:27 +00:00
Ryan ebc540c7c7 selling items for tokkul now returns the correct amount of tokkul (10x less) 2022-05-14 13:23:27 +00:00
Ceikry 90060fde21 Item sets now appear and can be unpacked at the GE
Added a proper mock session that gets used for mock players in unit tests. Allows verifying that certain packets made it to the IoSession (the stage right before sending it to the client)
2022-05-14 10:24:47 +00:00
Ryan d91396d0ea adjusted price calculation formula used when selling items to shops 2022-05-06 22:54:32 +00:00
Ceikry a5f9c64dbb New dynamic region abstraction, consumed in construction 2022-05-03 23:18:11 +00:00
Ceikry b5a78fe18a Add more unit tests for shops and quest related architecture
Fixed bug where quests could be repeatedly finished
Fixed bug where ironman status wasn't checked when buying overstocked items
Fixed bug where selling multiple items at a time that weren't listed in a shop would not succeed
Fixed bug where shop restocking would sometimes interrupt if a shop stock item was in a null slot
2022-04-26 03:48:20 +00:00