Load items from memory instead of DB (may break 3rd party programs)
Fix item suffix search Closes#9196
For AHBot set expired auctions ignored from update process
This reverts commit a92038feaf which caused items of expired auctions not being mailed back to the owner and leaving those items in item_instance table.
Please refer to the forum for steps to verify the integrity of your database and remove old unneeded rows in item_instance table.
Fixes#12699
- Allow to set a default duration for the Freeze Aura in worldserver.conf
- Handle the .freeze and .unfreeze command custom effects through the Freeze AuraScript
- Make players able to eventually unfreeze by themselves since the aura will expire without someone having to use .unfreeze
- Make .freeze command usable with the following syntax:
* .freeze (with a targeted player)
* .freeze duration_in_seconds (with a targeted player)
* .freeze playername duration (if duration is an invalid value it will be defaulted to the config one)
* .freeze playername (in this case, duration will be defaulted to the config value)
- Make .listfreeze command able to show the remaining freeze duration on all affected players
Closes#12972
Replaced ACE base AutoPtr class with shared_ptr
Note: worldserver currently broken due to MapUpdater threading failure (ACE ofc, what else could it be)
Note: Not exactly sure how shutdown should be handled, currently the queue clears itself out before shutting down
This might need to be changed if the queue should be fully processed before being deleted
* Fix some codestyle, fix some typos
* Change CMakeLists for: Custom (can be uncommented), Events, World
** Custom is theoretically unchanged. You can, however, uncomment the glob_recurse that initializes every file within. This might be easier for beginners.
* Introducing the IP Based Action Log System:
** On several different actions, e.g. Login, Character Login, etc., a new entry is added
** Can be logged on and off in worldserver config
*** Disabled by default to prevent increased log db size for unknowing users.
* Add a new row to account table called 'last_attempt_ip'
** Lists the last ip trying to connect to the account
* Add a new type of HookScripts: AccountScript
** Includes: OnAccountLogin, OnFailedAccountLogin, OnEmailChange, OnFailedChange, OnPasswordChange, OnFailedPasswordChange
* Added new Hook to PlayerScripts: OnFailedPlayerDelete
* Added new variables to PlayerScripts: OnPlayerDelete
Fix some static analysis issues about:
- uninitialized values, most of which are false positives, always initialized before being accessed
- unchecked return values
- dead code never executed
- bad formatting leading to wrong behavior
Please ensure EventMap is never used with event id set to 0 or those events will never execute.