Data repository tracking HUD metadata for comfig web
This is where your GitHub repos for HUDs are linked to, through HUD data files which describe information about the HUD.
Your HUD is required to be on GitHub, for enhanced file hosting and version approval. So make sure you upload your HUD to a GitHub repository first.
After you've got your repo set up, fork the hud-db repo, make a new branch, and add your HUD to this repository with a pull request (PR), and it will be synced to comfig web.
You can make subsequent PRs in new branches to update your HUD to a new version.
For more information, read below on the files needed to add your HUD and their format. And, be sure to follow the requirements.
There are 3 main folders for the HUDs:
hud-data/
hud-resources/
hud-pages/
This is the main data source for a HUD. This defines the HUD and its properties. You create a .json
file called hud-id.json
. Here's an example with explanations (please note that comments are not allowed in actual JSON):
my-hud.json
Here's an easy to copy sample for writing your own data file:
{
"name": "",
"author": "",
"social": {
"steam_profile": "",
"steam_group": "",
"twitter": "",
"discord": "",
"album": ""
},
"repo": "",
"hash": "",
"resources": [""]
}
Your hash is a commit SHA ID from your repo, pointing to the latest commit you want released to HUD users.
You can either copy it directly from GitHub commit history:
Or you can get it from the GitHub commit's page:
If you would like to update your HUDs more efficiently, there is an Update HUDs workflow you can run under your repo's Actions tab.
Click the Run workflow
button and enter your HUD ID. You can also update multiple HUDs at once by separating each HUD ID by a space.
This workflow will then get the latest commit from your HUD repo and automatically create a commit for you that you can PR.
Note that you have to give Actions permission to modify your repository. Go to Settings > Actions > General > Workflow Permissions
and select Read and write permissions
.
This is Markdown displayed in the description box of your HUD page. Similarly to the other files, you use your HUD ID as the name for your .md
file.
To replicate a classic layout like the one on huds.tf
:
my-hud.md
# Description
A **really** cool HUD
# Credits
Cool person #2 helped a lot with getting the coolness up to 11
# Special Thanks
I'd like to thank _all_ the cool peeps out there!
All standard Markdown is allowed at the moment but this may be changed in the future and is also subject to review.
You add resources that you list in your JSON to the hud-resources/
folder, under your HUD ID (the name of your .json
file without the extension):
hud-resouces/
│
└───my-hud/
| my-hud-banner.webp
| cool-image-1.webp
└─
You can upload the images in any format in your PR. A bot will automatically transform them to the correct format upon merge, and optimize them as well. GIFs/animated images are not supported but may be in the future. Use YouTube links for videos.
You can also use WebP directly. Squoosh may be a helpful tool for converting your images to WebP. This will also give you more control over the conversion and quality of your images.
There is a soft limit of 8 resources, and a hard limit of 15. This is to ensure that the repo doesn't become too bloated as more HUDs are added, and so web interfaces are manageable and less overwhelming.
When updating images, if you are not updating them with WebP, do not delete the existing WebP files.
hud-db
syncs with your HUD's GitHub repo to easily track and manage HUDs. There are some requirements for consistency on your end to enable us to provide this experience for all HUDs:
- The repo must contain the HUD directly, no subfolders, i.e.,
info.vdf
must be in the root directory - Use tags to mark new versions, and use GitHub releases to write changelogs. This is technically optional, but highly recommended.
- No force pushing over commits which have been published to the DB
- Do not delete tags after they have been published to the DB
- It's recommended to keep extra content in the repo to a minimum to prevent bloated downloads from GitHub. If you'd like to store additional files, it's recommended to use a separate branch or repo (for example for image content or other things).
Additionally, some requirements on your HUD are imposed in the review process (both for initial submission and any updates):
- No violations of the mastercomfig Code of Conduct
- No usage of exploits which give an unfair advantage to the user, or are malicious in any way
- No misleading or miscrediting
- No spammy content
Sometimes, your repo may be queried for updates which have not been reviewed yet. Thus, we will make our best effort to continously enforce these policies and rules for your HUD repo even when an update has not been submitted.
Some HUD authors are eligible for verified status. This will enable a few new features, like auto-updates synced from your repo, as well as a special verified label on HUDs sites. As a test run, only the most well-known authors are eligible at this time.
Your HUD repo must also use releases, as this is how new versions will be tracked for updates.
In the future, we would like to standardize some things like HUD customization. We would love to hear feedback from HUD authors on how this could be accomplished so that each HUD can specify customization features in a modular way, allowing for users to easily choose options in a graphical interface on the web.