fix(Core/Grid): Implement missing GridUnload setting (#17569)

* Implement GridUnload setting

* Minor fixes

- Use GetOption instead of deprecated GetBoolDefault.
- Added a missing check for instances in LoadMap
- Replaced some numbers with global defines

* Possible crashfix + minor improvements

- Initialized initialOrientation which I had forgotten (likely cause of crash)
- Readded a previous check in UpdateSplineMovement
- Made i_objectsToRemove and i_worldObjects tos sets as they were previously, instead of unordered_set.

* Update worldserver.conf.dist

* Fix high CPU usage with preload grid enabled.

This should be it.
This commit is contained in:
AG
2023-10-27 00:32:15 +02:00
committed by GitHub
parent 23a620007b
commit 79b39f9655
8 changed files with 52 additions and 29 deletions

View File

@@ -1372,13 +1372,22 @@ DetectPosCollision = 1
CheckGameObjectLoS = 1
#
# GridUnload
# Description: Unload grids to save memory. Can be disabled if enough memory is available
# to speed up moving players to new grids.
# Default: 1 - (enable, Unload grids)
# 0 - (disable, Do not unload grids)
GridUnload = 1
#
# PreloadAllNonInstancedMapGrids
# Description: Preload all grids on all non-instanced maps. This will take a great amount
# of additional RAM (ca. 9 GB) and causes the server to take longer to start,
# but can increase performance if used on a server with a high amount of players.
# It will also activate all creatures which are set active (e.g. the Fel Reavers
# in Hellfire Peninsula) on server start.
# Description: Preload all grids on all non-instanced maps. Requires GridUnload to be disabled.
# This will take a great amount of additional RAM (ca. 9 GB) and causes the server
# to take longer to start, but can increase performance if used on a server with a
# high amount of players. It will also activate all creatures which are set active
# (e.g. the Fel Reavers in Hellfire Peninsula) on server start.
# Default: 0 - (Disabled)
# 1 - (Enabled)