Skip to content

Latest commit

 

History

History
91 lines (58 loc) · 4.76 KB

README.md

File metadata and controls

91 lines (58 loc) · 4.76 KB

Hunt: ShowStats

About

This project is a simple web-based parser for the attributes.xml file for the game Hunt: Showdown. It uses the File System Access API to watch attributes.xml during games, and automatically stores the results of games in the browser using IndexedDB.

This is a pure client-side web application, requiring no 3rd party applications to be downloaded, and all data is stored locally in your own web browser. All match data is yours and private.

Usage Instructions

  • Open the index.html file in any modern browser that supports the following APIs. Note that Chromium based browsers are the only ones that support all required APIs at time of writing.
  • Click the "Watch File" button towards the top of the page to select your attributes.xml file.
    • This file is located at ./user/profiles/default/attributes.xml relative to the installation folder of Hunt Showdown.
    • NOTE: If you have Hunt installed in a "System Folder" (e.g., Program Files (x86) on Windows), Google Chrome will refuse to open the file for security reasons.
  • The table of information should be automatically created and displayed.
  • At the end of each game, new data will automatically be parsed, saved, and displayed on this page.

Development

This project uses NPM and Webpack to bundle the source and place the generated content in dist. Note that the index.html is also generated by Webpack during the build process. Also note that a Git Hook is used on the pre-commit stage to automatically build the site on each commit.

Requirements

Ensure the following are installed and accessible via your PATH variable (where applicable):

Running Locally

On first run, generate a dummy SSL certificate to allow the page to run over https://:

npm run openssl

Follow the above prompts as required.

Next, start a HTTPS server serving the repository directory:

npm run server

If you have an alternate server solution you prefer, it should be entirely compatible provided it supports HTTPS, and provides the appropriate MIME types for the various assets.

Troubleshooting

My Hunt Folder is a System Folder?

If your browser refuses to open attributes.xml because it is in a system folder, you have three workarounds:

  1. Move your Hunt Showdown installation to a non-system folder.
  2. Manually copy & paste attributes.xml into a non-system folder at the end of each game.
  3. Create a directory link to "trick" the browser into accepting a system folder
    1. Windows PowerShell: New-Item -ItemType Junction -Path "{Link}" -Target "{Target}" where {Link} is the non-system folder you want to access attributes.xml from (e.g., Documents), and {Target} is the path to the system folder actually holding attributes.xml.
    2. Linux: ln -s {Target} {Link} where {Link} is the non-system folder you want to access attributes.xml from (e.g., Documents), and {Target} is the path to the system folder actually holding attributes.xml.

The pre-commit Hook isn't Running?

Git Hooks are local to each workstation and are not version controlled in the repository. However, the only hook we recommend using is a simple call to the version controlled pre-commit:

#!/bin/sh

./hooks/pre-commit

Ensure that your pre-commit contains the above content.

My Changes are Being Overwritten by Webpack?

Webpack is responsible for generating all content in the following locations:

If you are trying to modify content, you want to be looking in the source folder for the appropriate assets.

I'm Worried About Easy Anti Cheat, Is This Cheating?

In our opinion, absolutely not. This application runs exclusively in the browser, and only has read access to a single file, which Hunt typically doesn't even use during gameplay. Below are some other methods which are more invasive which have not been labelled as cheating by EAC: