Skip to content

Wuthery/spectrum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Rust OpenSource Documented

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.


Installation

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:

As Git Submodule

  1. Add this repository as a submodule to your project:
git submodule add https://github.com/Wuthery/spectrum
  1. Put packetIds.json and protos.proto files in spectrum/proto/ directory. Your project structure should look like this:
your_project
 ┣ spectrum
 ┃ ┗ proto
 ┃   ┣ protos.proto
 ┃   ┗ packetIds.json
 ┣ your_crate
 ┃ ┗ Cargo.toml
 ┗ Cargo.toml
  1. Use cargo workspace to include Spectrum in your project:
[workspace]
members = [
    "spectrum",
    "your_crate"
]
  1. In your_crate/Cargo.toml, add:
[dependencies]
spectrum = { path = "../spectrum" }
  1. You can now use Spectrum in your crate:
use use spectrum::Sniffer;

let sniffer = Sniffer::new("...");

As a Local Dependency

  1. Clone this repository to any location:
git clone https://github.com/Wuthery/spectrum
  1. Put required files in the proto/ directory of the cloned repository;
  2. In your crate's Cargo.toml, add:
[dependencies]
spectrum = { path = "/path/to/spectrum" }
  1. You can now use Spectrum in your crate:
use spectrum::Sniffer;

let sniffer = Sniffer::new("...");

Usage

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 = false

Projects using Spectrum

We value community contributions and would love to see your projects that use Spectrum! Hop on board and add your project to the list below!

Acknowledgements

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.

License

The project is distributed under Apache License 2.0 License.

About

Spectrum is a rust crate for processing and parsing waves game packets.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages