3 releases
Uses new Rust 2024
new 0.1.2 | Apr 21, 2025 |
---|---|
0.1.1 | Apr 20, 2025 |
0.1.0 | Apr 20, 2025 |
#1069 in Cryptography
100 downloads per month
Used in 4 crates
23KB
510 lines
sustenet-shared
sustenet-shared
is a Rust crate providing common utilities, configuration, networking types, security primitives, and macros for Sustenet's networking solution. It is designed to be used by the master, cluster, client, and other Sustenet components to ensure consistency and code reuse.
Sustenet is a networking solution for game engines. It's made to primarily be used for MMO or large-scale multiplayer games in Godot Engine but can also be used in Unity and Unreal Engine. Support for other engines will continue to grow over time.
Features
- Configuration: Read and manage settings for master and cluster servers.
- Networking: Common event types, protocol enums, and cluster structures.
- Security: AES-256-GCM encryption/decryption, key management, and base64 utilities.
- Logging: Unified logging macros and log level/type definitions.
- Macros: Utility macros for error handling and data parsing.
- Plugin: Define plugins for extensible server logic.
Modules
config
: Handles and reads the Config.toml file for master and cluster servers.logging
: Logging macros and log level/type enums.network
: Protocols, events, and cluster info types.packets
: Packet enums for master and cluster communication.security
: AES encryption, key management, and base64 helpers.utils
: Constants and utility functions.macros
: Useful macros for error handling and parsing.
Usage
Add sustenet-shared
as a dependency in your Cargo.toml (usually crates.io):
[dependencies]
sustenet = { version = "0.1.0", features = ["shared"] }
Or via git:
[dependencies]
sustenet = { git = "https://github.com/Quaint-Studios/Sustenet", version = "0.1.0", features = ["shared"] }
Dependencies
~8–17MB
~243K SLoC