Skip to content

mtimkovich/slippi-db

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐸 Slippi DB

Slippi DB ingests Slippi replays and puts the data into a SQLite database for easier parsing.

The primary goal of this project is to make it easier to analyze large amounts of Slippi data. Its end goal is to create something similar to Ballchasing.com but for Melee.

Written in Rust using Peppi, Slippi DB can parse gigabytes worth of Slippi files in a couple seconds.

Usage

USAGE:
    slippi-db [OPTIONS] <directories>...

ARGS:
    <directories>...    Directories to search for .slp files in

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -o, --output-db <output-db>    Set output database file [default: slippi.db]

Installation

Releases

The easiest way to install is to download the executable for your system from releases.

Compiling

$ git clone https://github.com/mtimkovich/slippi-db
$ cd slippi-db
$ cargo build --release

🗒️ Examples

There's some examples of what is possible in the examples/ directory. This is good starting point, especially if you're not familiar with SQL. These can be run via:

$ sqlite3 slippi.db < examples/hours_played.sql

If you come up with a cool query, make a PR and I'll add it to the examples!

🚧 Roadmap

  • Write data to SQLite DB.
  • Check the filelist for new files.
  • Save player data.
  • Create more SQL examples.
  • Detect the winner(s).
    • Discard short matches (<30s).
    • Handle tiebreaks.
    • Detect rage-quits and assign them losses.
  • Create releases.
  • Create even more SQL examples.

Bug/Feature Requests

Contributors ✨


Max Timkovich

💻 📖

Fritz

💻

This project follows the all-contributors specification. Contributions of any kind welcome!