101 lines
3.2 KiB
Markdown
101 lines
3.2 KiB
Markdown
demboyz
|
|
=======
|
|
|
|
we dem boyz
|
|
|
|
## What is it?
|
|
|
|
Demboyz is a command line tool to convert TF2 STV demos into a human readable json format. Demboyz runs on Linux, Windows, and OSX.
|
|
It supports the following conversions:
|
|
|
|
.dem/.json <-> .dem/.json
|
|
.dem/.json -> .con
|
|
|
|
The .dem format is the TF2 STV demo format.
|
|
The .json format is the demboyz streaming json demo format.
|
|
The .con format is a log equal to what would be produced by TF2
|
|
with netmessage/demmessage logs enabled.
|
|
|
|
## Potential Uses
|
|
* Exporting Stats: Parsing for player stats and motion throughout maps.
|
|
* Anticheat: Interpreting player net data for malicious behavior and cheating
|
|
* Anti-Anticheat: Modifying player net data to hide your malicious behaviour and cheating
|
|
* Censoring: Cover up rude communication by removing player voice and chat messages
|
|
* Social engineering: Make your friends seem rude by adding phony player voice and chat messages
|
|
* ConeBone69 revival: Change the names of all players to ConeBone69
|
|
|
|
## Usage
|
|
|
|
./demboyz mystvdemo.dem mystvdemo.json
|
|
./demboyz mystvdemo.dem mystvdemo.con
|
|
./demboyz mystvdemo.json mystvdemo.dem
|
|
./demboyz mystvdemo.json mystvdemo.con
|
|
|
|
In the first example, mystvdemo.dem will be read from the current working directory, while mystvdemo.json will be written to the current working directory.
|
|
|
|
## Contributing
|
|
|
|
### For Developers
|
|
|
|
If you would like to contribute to demboyz, here are a few tasks up for grabs:
|
|
|
|
#### General programming experience:
|
|
* Document the .dem format.
|
|
* Turn the working demboyz serialization code into a reference manual for the .dem fomat.
|
|
* Any amount of work on this helps. Document one struct!
|
|
* Develop an app that uses demboyz.
|
|
* Provide feedback on the usefulness of the json demo format.
|
|
* Create new tools previously impossible to make.
|
|
|
|
#### C++ and asm experience:
|
|
* Continue reverse engineering the STV demo structs and serialization (svc_ messages).
|
|
* Many of the reversed svc_ messages still have unknown binary chunks of data.
|
|
* Reverse them for addition to the demboyz source.
|
|
* Reverse engineer the POV demo structs and serialization (clc_ messages).
|
|
* Currently, demboyz only supports STV demos due to POV demo messages being separate and unknown.
|
|
* Work on reverse engineering the clc_ messages just like the svc_ messages.
|
|
* Add a conversion to the replay demo format.
|
|
* The replay demo format would require reverse engineering just like POV and STV demos.
|
|
|
|
### For Users
|
|
|
|
* Cheer on the developers.
|
|
* Pressure the developers.
|
|
* Become a developer.
|
|
|
|
## Who Uses demboyz?
|
|
|
|
* [KZMod Demo Player [beta]](http://xtreme-jumps.eu/e107_plugins/forum/forum_viewtopic.php?359435) by kraster
|
|
|
|
## Compiling From Source
|
|
|
|
When following instructions below, the compiled binary will be output in the bin folder.
|
|
|
|
|
|
### Using Vagrant
|
|
|
|
# Launch VM
|
|
vagrant up
|
|
vagrant ssh
|
|
cd /vagrant
|
|
|
|
# Install Linux dependencies (first time setup)
|
|
./vagrant.sh
|
|
|
|
# Build demboyz
|
|
cd premake
|
|
./gmake.sh && cd gmake
|
|
make
|
|
|
|
# Disconnect session and stop VM
|
|
exit
|
|
vagrant halt
|
|
|
|
### With Visual Studio 2013
|
|
|
|
# Generate vs 2013 project
|
|
cd premake
|
|
vs2013.bat
|
|
|
|
Open generated VS solution at premake/vs2013/demboyz.sln
|