Skip to content

NGemity/rzfile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rzfile
Rust Library for client file handling

rzfile

CI codecov crates.io docs.rs

rzfile is a lightweight Rust library designed for parsing and handling binary file structures used in proprietary MMO game clients. It's part of the NGemity project and supports tools such as the RZEmulator.

Features

  • Parser for data.00x index files
  • File name encryption and decryption based on game-specific logic
  • Customizable encryption and reference tables
  • Precise error handling via RZError (compatible with thiserror)
  • Fully tested with high code coverage
  • Minimal dependencies (only thiserror optionally)

Example

use rzfile::file::parse_index;
use rzfile::name::{encode_file_name, decode_file_name};

let mut buffer = std::fs::read("data.000").unwrap();
let entries = parse_index(&mut buffer, None).unwrap();

let encoded = encode_file_name("test.dds", None, None).unwrap();
let decoded = decode_file_name(&encoded, None, None, true).unwrap();

assert_eq!(decoded, "test.dds");

Installation

cargo add rzfile

Or manually via Cargo.toml:

[dependencies]
rzfile = "0.1"

Documentation

License

MIT © NGemity

About

Client encryption library for the ROSE framework

Resources

License

Contributing

Stars

Watchers

Forks

Languages