A simple GunZ: The Duel replay examiner

Overview

gunz-replay

A simple GunZ: The Duel replay examiner - as it is right now, it scans a directory for GunZ replays containing the specified character.

Warning: the code sucks. I repeat: the code sucks - it was written rather hastily during a solo effort. However, there has been a demand for a working tool like this, and having something available right now is better than nothing - I hope it will prove useful.

Installation

Classic approach (from a git repository; requires Rust):

cargo install --git "https://gitgud.io/mataha/gunz-replay"

Alternatively, one can download a binary from here, then place it somewhere accessible by the PATH.

Manual

gzre <directory> <character>

In its current form, the analyzer scans the specified directory for replays containing the specified character name.

There are a few caveats:

  • works only with replays up to V5 (mid-ijji) for now

  • doesn't support non-ASCII encodings yet (EUC-KR comes to mind)

  • only players present from the start are taken into account

  • takes a rather long time to slew through gargantuan collections of replays

  • doesn't exclude replays in an unviewable state (e.g. when a player has started recording a replay while being alone in a TDM game, or if a replay got desynchronized due to players dying simultaneously)

  • doesn't take filenames into account - my stance on this is that one should not rely on such a fragile mechanism for file organization; however, you can perform a manual search easily by yourself, e.g. on Windows:

    dir /b "<directory>" | find /i "<character>"

Sample usage

Assuming that our collection looks like this:

$ ls -1
'[1v1] AryaVarwin vs. Garamgood.gzr'
'[1v1] Itamz vs. GilGilGil.gzr'
'[1v1] Mataha vs. FireArrowz.gzr'
'[1v1] Screwy vs. Beyondpower.gzr'
'[1v1] toktok vs. mijoma.gzr'
'[CW] Aplus vs. Dowon.gzr'
'[CW] Arashi vs. Magicians.gzr'
'[CW] Curse vs. Flower.gzr'
'[CW] Icon vs. Strike.gzr'
'Empty replay.gzr'

An invocation of the program will produce the following output:

$ gzre . "toktok"  # search in the current directory
Path: .

Replays featuring toktok:

    "./[1v1] toktok vs. mijoma.gzr"
    "./[CW] Curse vs. Flower.gzr"

2 matches found, 9 valid replays scanned.

License

GPLv3. See LICENSE.

You might also like...
A simple key value database for storing simple structures.

Perdia-DB A simple key value database for storing simple structures. No nesting of structures is supported, but may be implemented in the future. Toke

RGB (Rust Game Boy) is a simple emulator for the original game boy
RGB (Rust Game Boy) is a simple emulator for the original game boy

RGB RGB (Rust Game Boy) is a simple emulator for the original game boy and the color game boy. Warning: This no longer compiles in the latest versions

This is a simple implementation of the classic snake game in rust
This is a simple implementation of the classic snake game in rust

My snake game Looks like this. This is with Roboto Mono Nerd Font. If you use a different font it may look different or distorted. Install rust In ord

A simple password manager written in Rust
A simple password manager written in Rust

ripasso A simple password manager written in Rust. The root crate ripasso is a library for accessing and decrypting passwords stored in pass format (G

A fast, simple, recursive content discovery tool written in Rust.
A fast, simple, recursive content discovery tool written in Rust.

A simple, fast, recursive content discovery tool written in Rust πŸ¦€ Releases ✨ Example Usage ✨ Contributing ✨ Documentation πŸ¦€ πŸ˜• What the heck is a f

A simple and fast download accelerator, written in Rust

zou A simple and fast download accelerator, written in Rust Zou is a Snatch fork by @k0pernicus. Snatch is a fast and interruptable download accelerat

A simple, fast and user-friendly alternative to 'find'

fd [δΈ­ζ–‡] [ν•œκ΅­μ–΄] fd is a program to find entries in your filesytem. It is a simple, fast and user-friendly alternative to find. While it does not aim to

Simple timer for your terminal

consoleTimer Simple timer that allows you to initiate countdown from N seconds. Usage: consoletimer [time in seconds] consoletimer [time in minutes]m

Simple tool for scaffolding

quick-skeleton tldr; Lightweight replacement for yeoman or slush. Powered by handlebars. This is a scaffolding tool to save you hours of writing boile

Simple git/hg tui client focused on keyboard shortcuts
Simple git/hg tui client focused on keyboard shortcuts

verco A simple Git/Hg tui client focused on keyboard shortcuts Screenshots Platforms This project uses Cargo and pure Rust stable and works on latest

A simple CLI for UPnP media file streaming

Slingr A simple CLI for streaming media files over a local network to UPnP media renderers. Designed to work with cheap HDMI/DLNA/UPnP/Miracast Dongle

Simple http server in Rust (Windows/Mac/Linux)
Simple http server in Rust (Windows/Mac/Linux)

How it looks like? Screenshot Command Line Arguments Simple HTTP(s) Server 0.6.1 USAGE: simple-http-server [FLAGS] [OPTIONS] [--] [root] FLAGS:

Simple and fast web server

see Overview Simple and fast web server as a single executable with no extra dependencies required. Features Built with Tokio and Hyper TLS encryption

🎭 A CLI task runner defined by a simple markdown file
🎭 A CLI task runner defined by a simple markdown file

mask is a CLI task runner which is defined by a simple markdown file. It searches for a maskfile.md in the current directory which it then parses for

A dead simple ANSI terminal color painting library for Rust.

yansi A dead simple ANSI terminal color painting library for Rust. use yansi::Paint; print!("{} light, {} light!", Paint::green("Green"), Paint::red(

(Rust) Coloring terminal so simple you already know how to do it !

Colored Coloring terminal so simple, you already know how to do it! "this is blue".blue(); "this is red".red(); "this is red on blue".red(

The simple password manager for geeks, built with Rust.

Rooster Rooster is a simple password manager for geeks (it works in the terminal). Rooster is made available free of charge. You can support its devel

PickleDB-rs is a lightweight and simple key-value store. It is a Rust version for Python's PickleDB

PickleDB PickleDB is a lightweight and simple key-value store written in Rust, heavily inspired by Python's PickleDB PickleDB is fun and easy to use u

A refreshingly simple data-driven game engine built in Rust

What is Bevy? Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever! WARNING Bevy is still in the ve

Releases(0.0.1-SNAPSHOT)
Owner
null
rd is a record/replay debugger written in rust

rd The Record & Debug Tool The Record & Debug Tool (rd) is a Rust language port of the rr-debugger/rr debugger. With rd you can record Linux program e

Sidharth Kshatriya 946 Nov 19, 2022
Replay git history with some tweaks

Git-replay Overview Git-replay is a simple tool that replays the history of a Git repository but with some tweaks (i.e., it can change the author name

Tak-gun Na 3 Mar 22, 2022
rd is a record/replay debugger written in rust

rd The Record & Debug Tool The Record & Debug Tool (rd) is a Rust language port of the rr-debugger/rr debugger. With rd you can record Linux program e

Sidharth Kshatriya 950 Dec 4, 2022
Log agent to replay time-stamped log stream

replayman Log agent to replay time-stamped log stream. Getting started Installation cargo install replayman Prepare for your data TSV with a header li

SpringQL 2 Nov 4, 2022
Record and Replay Framework

Overview rr is a lightweight tool for recording, replaying and debugging execution of applications (trees of processes and threads). Debugging extends

null 7.5k Nov 30, 2022
An event replay tool for the Trento storage backend.

photofinish - a little, handy tool to replay events This tiny CLI tool aims to fulfill the need to replay some events and get fixtures. Photofinish re

null 5 Nov 10, 2022
Replay packets from pcap -file to network interface

pktreplay can be used to read packets from pcap file or interface and write them into interface. By default packets are written with the same rate they have been saved into the pcap file, or, when reading from interface, as fast as they are received.

Jukka Taimisto 3 Nov 23, 2022
a simple program that you can scrap, is shit and really simple but is cool.

if you want to run it you need to have installed curl by default scrap youtube, but you can change it, also change the number of threads and run: carg

pai 7 Oct 15, 2021
This is a simple Telegram bot with interface to Firefly III to process and store simple transactions.

Firefly Telegram Bot Fireflies are free, so beautiful. (Les lucioles sont libres, donc belles.) ― Charles de Leusse, Les Contes de la nuit This is a s

null 12 Nov 12, 2022
simple-eq is a crate that implements a simple audio equalizer in Rust.

simple-eq A Simple Audio Equalizer simple-eq is a crate that implements a simple audio equalizer in Rust. It supports a maximum of 32 filter bands. Us

Mike Hilgendorf 11 Sep 17, 2022