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.
- 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.
- This file is located at
- 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.
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.
Ensure the following are installed and accessible via your PATH
variable (where applicable):
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.
If your browser refuses to open attributes.xml
because it is in a system folder, you have three workarounds:
- Move your Hunt Showdown installation to a non-system folder.
- Manually copy & paste
attributes.xml
into a non-system folder at the end of each game. - Create a directory link to "trick" the browser into accepting a system folder
- Windows PowerShell:
New-Item -ItemType Junction -Path "{Link}" -Target "{Target}"
where{Link}
is the non-system folder you want to accessattributes.xml
from (e.g.,Documents
), and{Target}
is the path to the system folder actually holdingattributes.xml
. - Linux:
ln -s {Target} {Link}
where{Link}
is the non-system folder you want to accessattributes.xml
from (e.g.,Documents
), and{Target}
is the path to the system folder actually holdingattributes.xml
.
- Windows PowerShell:
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.
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.
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: