Releases: manups4e/FxEvents
Happy Holidays (last version for real)
Why is this new version being released?
In our previous release, we promised a final version of our library. However, we have since added new features that we believe will greatly enhance the functionality and security of our library. This new release introduces encryption features to our library, enabling a higher level of data protection.
What's new in this release?
We have added SHA256 encryption to the events system to ensure the "non-reversibility" of data sent in events. This means that once data has been sent, it cannot be easily reversed or altered.
The Initialize method now includes a new parameter: the encryption key. This key can be any string you choose, such as a password or a long number. You can generate a random password using the generatekey
command on the server console. This key can then be used as the encryption key.
It's important to note that FXEvents will not save the encrypted key anywhere. It's your responsibility to store it securely and pass it to clients as necessary.
How to use the new encryption features
Here's an example of how to use the new encryption features:
We've also added two new extension methods to the library:
void EncryptObject<T>(string passkey)
T DecryptObject<T>(string passkey)
These methods serialize your instanced objects internally into binary code and then encrypt those very bytes with SHA256 encryption, so you won't need to serialize before encrypting. Same thing for decryption.
The passkey parameter is used to give you the flexibility to encrypt/decrypt with any key you want, as long as the keys are the same for encryption/decryption.
These methods are also used with the initialized key internally to ensure events encryption.
What's Changed
- chore: fix formatting and version by @Local9 in #17
- fix: packing errors in client project by @Local9 in #18
- Update README.md by @Whoeza in #20
- fix: correctly instance singleton by @Local9 in #22
- fix: issues created with instancing a singleton by @Local9 in #23
New Contributors
Full Changelog: 2.5...2.6
Last version for FiveM/RedM Mono V1
This is gonna be the last version for Mono V1 in Fivem/RedM
- MsgPack library used in FiveM right now for mono v1 is too old to be worked on, and also doesn't let us update to newer versions as the internal libraries are always 1st priority in dependency loading for resources so adding newer version of msgpack would end up in errors for the old msgpack included in FiveM.
- Native compatibility with Vectors, Quaternions, Snowflake and Dictionaries has been added so via custom Resolvers so that even when used as class properties those objects will be correctly serialized/deserialized.
Many of the features of this library has been extracted and added to Mono V2 for native compatibility with custom classes serialization / deserialization in events so while waiting for mono V2 (@thorium-cfx hurry up!!) you can enjoy this library!
What's Changed
- feat(client): add redm support by @Local9 in #6
- feat(nuget): update projects to be deployed for nuget by @Local9 in #8
- build(nuget): bumped pack versions by @Local9 in #9
- README: Add missing [FromSource] by @Local9 in #10
- tweak: add init example by @Local9 in #11
- chore: version update to match releases by @Local9 in #12
- chore: bump version by @Local9 in #14
- Fixed an error when trying to turn off debug mode with a string by @QuadrupleTurbo in #15
- Updated serialization by @manups4e in #16 (Most important update!!)
New Contributors
- @QuadrupleTurbo made their first contribution in #15
Full Changelog: 2.2...2.5
Fixed signature retrival
Fixed signature retrival on Server -> Client -> Server callbacks and removed Where clause for server Callbacks to retrieve simple types like int / string
Full changelog here: 2.1...2.2
Bug Fixing
Fixed a bug on Server -> Client -> Server callbacks where the task was completed but not awaited causing a security critical error.
First public release
You can add these libraries both to your Visual Studio / Rider projects and in your server resource folders.
Serverside is provided with pdb file to debug your resources (simply copy it with the dll in the resource)