All Projects → ButterflyStats → butterfly

ButterflyStats / butterfly

Licence: other
Butterfly Dota Replay parser

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to butterfly

Aurora
Unified lighting effects across multiple brands and various games.
Stars: ✭ 1,673 (+8265%)
Mutual labels:  dota2
DE-Replays-Manager
Manage Age of Empires 2 Definitive Replays
Stars: ✭ 19 (-5%)
Mutual labels:  replays
listen-bot
a dota related discord bot
Stars: ✭ 23 (+15%)
Mutual labels:  dota2
Twitchclipmatchfinder
Finds a dota match when given a twitch clip
Stars: ✭ 150 (+650%)
Mutual labels:  dota2
sc2reader
Extracts gameplay information from Starcraft II replay files
Stars: ✭ 119 (+495%)
Mutual labels:  replays
LegionTD-Reborn
A custom game mode inspired by Legion TD for DotA 2
Stars: ✭ 34 (+70%)
Mutual labels:  dota2
Foda
You are at FODA source code. Play now for free
Stars: ✭ 92 (+360%)
Mutual labels:  dota2
Dota2WebApi
A Dota 2 Web API for Liquipedia
Stars: ✭ 24 (+20%)
Mutual labels:  dota2
sc2gears
The COMPLETE (!) source code of the Sc2gears universe (Sc2gears app + Sc2gears Database + web-based parsing engine - bundled in an Eclipse project).
Stars: ✭ 30 (+50%)
Mutual labels:  replays
steam community market
Get item prices and volumes from the Steam Community Market using Python 3
Stars: ✭ 24 (+20%)
Mutual labels:  dota2
D Optimizer
Make Dota 2 fps great again
Stars: ✭ 161 (+705%)
Mutual labels:  dota2
Dota2ai
This project is a improved Dota2 Bot script based on Valve's default AI. Relase on steam workshop as Ranked Matchmaking AI. This script has more than 1 million current subscribers on Steam Workshop.
Stars: ✭ 199 (+895%)
Mutual labels:  dota2
SteamTracking-GDPR
📜 Tracking Valve's GDPR related pages
Stars: ✭ 21 (+5%)
Mutual labels:  dota2
Dota2
🐸 Python package for interacting with Dota 2 Game Coordinator
Stars: ✭ 129 (+545%)
Mutual labels:  dota2
dotacard
You are at FODA artwork repository. Play now for free
Stars: ✭ 22 (+10%)
Mutual labels:  dota2
Dotabuddy
DotaBuddy is a cross-platform, open-source application with helpful features for when you're playing a match of Dota 2.
Stars: ✭ 93 (+365%)
Mutual labels:  dota2
lol-replay
A collection of Go (golang) packages to record and play back League of Legends games from the spectator endpoint.
Stars: ✭ 61 (+205%)
Mutual labels:  replays
go-opendota
Go client library for accessing the OpenDota API
Stars: ✭ 34 (+70%)
Mutual labels:  dota2
game apis
This repository is for integrating with different apis to allow you to pull player or game data
Stars: ✭ 24 (+20%)
Mutual labels:  dota2
valve-matchmaking-ip-ranges
Lists of locations & IP addresses of Valve servers
Stars: ✭ 69 (+245%)
Mutual labels:  dota2

About

butterfly is a Dota 2 replay parser focused on Source2, built by invokr. Consider it the spiritual successor of his Alice project.

Unfortunately the original author of this code has left forever, so noxville and spheenik have taken over this marvellous example of engineering.

Building

Butterfly has Linux and macOS support (C++). Bindings exist for python and Javascript (using emscripten).

This should do the trick on debian-flavoured systems:

apt-get install build-essential cmake libprotobuf-dev libsnappy-dev protobuf-compiler
git submodule init
git submodule update
cd build
cmake -DWITH_EXAMPLES=1 -DWITH_TOOLS=1 ..
make -j6
make install

The CMake part for building javascript libaries looks like this:

cd build
rm -Rf *        # Make sure the build folder is empty / doesn't contain a previous CMake build
CC=emcc CXX=em++ cmake .. -DWITH_JAVASCRIPT_BINDINGS=1
make -j6

This should generate butterflyjs0.js and butterflyjs1.js. Use the later for a stable JS api.

Docker

You can use the included Dockerfile to build a docker image of the project - and then just copy out the built binaries or use them in-place.

License

Apache 2

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].