
All checks were successful
Build / Build (push) Successful in 29s
This commit introduces binary serialization for the RAM database to improve performance and adds a mission end event handler to ensure data is saved with a backup when the mission ends. - Implemented binary serialization and deserialization for key-values, hash tables, and lists in `Utils.cs`. This replaces the previous text-based serialization, resulting in faster save and load times. - Moved data writing and reading logic from `RAMDb.cs` to `Utils.cs` for better code organization and reusability. - Modified `RAMDb.cs` to use the new binary serialization methods (`ExportToBinary` and `ImportFromBinary`). - Added a mission end event handler in `XEH_preInit_server.sqf` to trigger a forced save with backup when the mission ends. This ensures that data is not lost in case of unexpected server shutdowns. - Updated the extension binaries (`ArmaRAMDb_x64.dll` and `ArmaRAMDb_x64.so`) with the new serialization logic. - Added a static `db` property to the `Main` class to allow access to the `RAMDb` instance from anywhere in the extension. - Modified the `Save` and `Load` methods in `Main.cs` to use the new binary serialization methods. - Updated the `Dispose` method in `RAMDb.cs` to ensure a final save and backup is performed when the object is disposed.
Welcome to ArmaRAMDb.
Experience next-level persistence in Arma 3 with our mod powered by C# .NET 8. This ultra-fast in-memory data store offers unparalleled performance and scalability for your Arma 3 gameplay data management needs.
If something is broken, contact J. Schmidt92 or open a new issue on Gitea.
For more information, read the Docs.
For Roadmap, visit the project page. (WIP)
Contributors
- Creedcoder for his contributions, help, input and time
Description
ArmaRAMDb v1.0.0.19
Latest
Languages
TeX
35.9%
HTML
30.9%
JavaScript
10.7%
C++
7.6%
C#
5%
Other
9.9%