Spectrum is a rust crate for processing and parsing waves game packets. Developed by Wuthery team, open-sourced for the community. Works with any packet source.
Warning
We do not publish Protobuf definitions and decryption keys out of caution. With very little effort, you can extract/find everything needed yourself.
This crate will not be published to crates.io, and can not be installed from GitHub. There are currently two options for installation:
- Add this repository as a submodule to your project:
git submodule add https://github.com/Wuthery/spectrum- Put
packetIds.jsonandprotos.protofiles inspectrum/proto/directory. Your project structure should look like this:
your_project
┣ spectrum
┃ ┗ proto
┃ ┣ protos.proto
┃ ┗ packetIds.json
┣ your_crate
┃ ┗ Cargo.toml
┗ Cargo.toml
- Use cargo workspace to include Spectrum in your project:
[workspace]
members = [
"spectrum",
"your_crate"
]- In
your_crate/Cargo.toml, add:
[dependencies]
spectrum = { path = "../spectrum" }- You can now use Spectrum in your crate:
use use spectrum::Sniffer;
let sniffer = Sniffer::new("...");- Clone this repository to any location:
git clone https://github.com/Wuthery/spectrum- Put required files in the
proto/directory of the cloned repository; - In your crate's
Cargo.toml, add:
[dependencies]
spectrum = { path = "/path/to/spectrum" }- You can now use Spectrum in your crate:
use spectrum::Sniffer;
let sniffer = Sniffer::new("...");When using the library, you must add overflow-checks = false to your dev profile in Cargo.toml to avoid errors caused by kcp dependency:
[profile.dev]
overflow-checks = falseWe value community contributions and would love to see your projects that use Spectrum! Hop on board and add your project to the list below!
- Spectro PCAP Server by Wuthery Team - API server for parsing capture files into importable JSON game data; used for Wuthery Website;
Special thanks to IceDynamix and all the contributors of reliquary repo, which was used as a reference for Spectrum's implementation.
Pktmon and pcap are two great rust crates for sniffing game packets. Kudos to emmachase and pcap crate contributors for their work.
The project is distributed under Apache License 2.0 License.
