Joriku
Working in the mines, need something?
Hi,
( This worked for the current server, it now boots )
can't find any issues related to this. Currently investigating this but server hangs when booting with a database over 1.1k+ players.
After a very long and deep investigation, I've found and fixed the issue of this.
1) Startup system, it has no control over handling item data over large set player bases. Causing too heavy boot loads, attempting to load all items at once.
2) I changed the way the data is handled and is now booting more than half the time than it did before, even with all original data.
Affected files:
C++ ( Source ) Files:
Lua Script Files:
- data/scripts/lib/register_migrations.lua
( Disabled old convention script, not needed in our case )
- canary-main/data-otservbr-global/scripts/game_migrations/20231128213358_move_hireling_data_to_kv.lua.disabled
Configuration Files:
- config.lua
Also changed the argon2 hashing rate and threads allowed in config.lua
I am debating if this is worthy of a pull request, it fixed the issues on this server with 1.1k+ players and is now running smoothly again.
But it will require a few eyes to review the changes made.
Changes has been attached to thread.
( This worked for the current server, it now boots )
can't find any issues related to this. Currently investigating this but server hangs when booting with a database over 1.1k+ players.
Post automatically merged:
After a very long and deep investigation, I've found and fixed the issue of this.
1) Startup system, it has no control over handling item data over large set player bases. Causing too heavy boot loads, attempting to load all items at once.
2) I changed the way the data is handled and is now booting more than half the time than it did before, even with all original data.
Affected files:
C++ ( Source ) Files:
- src/game/game.cpp
- src/canary_server.cpp
- src/database/databasemanager.cpp
- src/map/house/house.cpp
- src/config/config_enums.hpp
- src/config/configmanager.cpp
- src/database/database.cpp
Lua Script Files:
- data/scripts/lib/register_migrations.lua
( Disabled old convention script, not needed in our case )
- canary-main/data-otservbr-global/scripts/game_migrations/20231128213358_move_hireling_data_to_kv.lua.disabled
Configuration Files:
- config.lua
Also changed the argon2 hashing rate and threads allowed in config.lua
LUA:
memoryConst = "1<<20" -- Increased to 1MB for better performance with large datasets
temporaryConst= 2
parallelism = 8 -- Increased to 8 for better multi-core utilization ( Previous 2, much more power for large datasets )
I am debating if this is worthy of a pull request, it fixed the issues on this server with 1.1k+ players and is now running smoothly again.
But it will require a few eyes to review the changes made.
Changes has been attached to thread.
Attachments
-
2025-10-05 04-01-07.zip13 KB · Views: 2 · VirusTotal
-
3.2.0_14.12_fixes.zip6.1 KB · Views: 0 · VirusTotal
Last edited: