rzfile

Crates.iorzfile
lib.rsrzfile
version0.2.0
created_at2025-07-06 19:18:55.759713+00
updated_at2025-07-06 20:06:29.578472+00
descriptionLibrary to handle RZ game data parsing and name decoding
homepage
repositoryhttps://github.com/NGemity/rzfile
max_upload_size
id1740377
size47,102
Marcel (mexby)

documentation

https://docs.rs/rzfile

README

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

Commit count: 0

cargo fmt