Skip to main content

TF2 demo file management tool written in Python and Tcl, using tkinter.

Project description

Demomgr

Demomgr is a python script designed to keep track of, cleanup and play demo files from the Source video game Team Fortress 2, released by Valve Corporation in 2007.

Main program window
A folder, filtered to only include demos with at least 2 killstreaks, sorted by creation date. One demo selected.

Current features:

  • List Demos, their filesize, creation date and the amount of Killstreaks/Bookmarks
    • View demo header information
  • Read Killstreak/Bookmark information from both .json files and the _events.txt file
  • Manage bookmark information of individual demos
  • Sort and filter demos by multiple criteria
  • Play or delete demos from within the program
    • Optionally with HLAE
  • Cleanup entire folders by multiple criteria
    • Removes unneccessary entries from _events.txt and also deletes useless .json files

The script has so far only been tested on python 3.8.3.

Start Instructions:

Run pip install demomgr. This should create an entry point script in your python installations's Scripts directory. You should now be able to run demomgr.exe.

If that does not work out for you, create a procedure that invokes the python commands from demomgr.main_app import MainApp; MainApp()

After accepting the license, you will be presented with an empty UI. In order to view your demos, click "Add demo path" and select the directory containing your demos.
You can switch between directories using the Selection box at the top of the window.

Filter instructions:

The filter criteria must be entered as follows:
<keyname>:<parameter>, seperated by commas.
You can negate all key-parameter pairs by prefixing the key with !.
Do not use the same filtering key (Even if negated) in a filter request, as one will replace the other.
You can enter multiple parameters by seperating them with ,.

Example: !map:(mvm_,plr_, tr_, ), killstreaks:2.. , beststreak:5..
Returns all demos where: The user has gotten at least two killstreaks, at least one of those streaks were 5 or more and the game does not take place on maps containing the substrings mvm_,plr_ or tr_.

You can currently filter the directory you are in by the following:

  • map : Name of the map the demo is playing on. (String)
  • name : Filename of the demo. (String)
  • killstreaks : (Inclusive) Minimum amount of present killstreaks. (Range/Integer)
  • bookmarks : (Inclusive) Minimum amount of bookmarks recorded. (Range/Integer)
  • beststreak : (Inclusive) Minimum value of the best streak recorded in demo (Range/Integer)
    • May produce erratic results at values out of normal ranges
  • bookmark_contains : Bookmarks containing this String (String)
  • hostname : Name of the server the demo took place on. (Usually in IPv4 format)
  • clientid : Steam community name of the player. (String)
  • moddate : Modified (created) after this date. (UNIX Timestamp) (Range/Integer)
  • filesize : Filesize in bytes (Integer)

Accepted parameters are:

  • Quoteless string: foo
    • Quoteless strings may consist out of A-Z, a-z, _, -
  • Quoteless string tuple: (foo, bar, baz)
  • String: "foo", 'b\u0061r'
  • String tuple: ("foo", 'b\u0061r', "b\u0061z", )
  • Range: 1..2, 10.., ..50

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

Demomgr-1.5.0-py3-none-any.whl (98.0 kB view details)

Uploaded Python 3

File details

Details for the file Demomgr-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: Demomgr-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 98.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.3

File hashes

Hashes for Demomgr-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a4492793a330256ed52d53fa6449bb103008bf0ee043db2cb5931984af2512a5
MD5 2c5a1a5a621a5880cea1cc2995fa1c2e
BLAKE2b-256 ea43476e1585a395ec0be08cb92e510c51e39122c077827a146e335852eb368e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page