v2.0.0
Update for DataReplicator (since I have some free time).
This is a significant feature update aimed at providing developers with more powerful tools for security and network performance, especially for larger-scale projects. The focus of this version is to introduce advanced, optional features that enhance the module’s capabilities for handling sensitive data and complex data structures efficiently, while maintaining the simple API of v1.0.0.
What's new?
-
Optional End-to-End Encryption
You can now add{ Encrypted = true }when creating or registering a key. This will automatically establish a secure session key for each client (via ML-KEM post-quantum exchange) and encrypt all data for that key using AEAD (ChaCha20-Poly1305). -
Delta Compression for Tables
For large tables, enabling{ UseDeltaCompression = true }will now only send the fields that have actually changed on each update, instead of the entire table. This can dramatically reduce bandwidth usage for things like large inventories or stat tables. -
Update Priority Queues
A Priority option("High", "Medium", "Low")can now be set for each data key. The server’s batching system will intelligently process and send higher priority updates before lower priority ones, ensuring critical gameplay data is always timely. -
Intelligent Rate Limiting
The rate limiter has been upgraded from a simple counter to a reputation-based Token Bucket system. It is now much better at distinguishing between legitimate network lag and malicious behavior, applying dynamic cooldowns to suspicious actors. -
Secure Key Generation
All internal obfuscated keys are now generated using a Cryptographically Secure Pseudo-Random Number Generator (CSPRNG), making them statistically unpredictable and hardening security against network inspection. -
Key Registration API
A new server-side function,:RegisterKey(), has been added. This helps prevent race conditions by allowing you to safely declare that a data key is valid before its data has finished loading asynchronously (e.g., from a DataStore).
Documentation & Credits
For a complete breakdown of these new features, updated API references, and in-depth examples, please see the official documentation, which has been fully updated for v2.0.0.
And special thanks to:
-
Cryptography Module by @XoifailTheGod for the powerful Cryptography Library.
-
Signal+ by @AlexanderLindholt for the high-performance Signal Module.
As always, feedback and questions are welcome. Happy developing.