Adding Games to GameVault
If you wish to add games to your server but are struggling with unorganized files, varying file formats, and compressed files, you have come to the right place. In this chapter, you will learn the correct process to add games to your GameVault server.
Before You Begin
Please read the File and Folder Structure chapter first.
Adding games to your server is a manual process that demands effort and expertise. However, it is worth the effort. To execute the task accurately, follow the steps outlined below for each game. With practice, you will become more proficient and adept at performing these steps with ease.
Step 1: Preparing
Suppose you have obtained a DRM-free copy of "Crawl," and it is located in your file system as follows:
- Crawl/
- setup.bin
- setup.exe
This is not a real-world example.
If the game files are already compressed in a format that GameVault can understand, such as "Crawl.zip", you can skip the next step. However, if you want to maximize disk space and repack the files, you can do that. Datahoarders, for example, rely on every bit and byte on their disks and tend to repack everything to the maximum compression available.
Step 2: Compression
To make your game files compatible with GameVault, you need to archive them. We recommend using 7Zip for this. There are different approaches to this.
Method 1: The Fast Way
The fastest way to compress your game files into a .7z archive is by copying them without compression, which takes little to no time or effort. However, the resulting archive will be as large as the original folder.
7z a -mx=0 -ms=off game.7z /path/to/game/folder/Crawl/*
This command uses the following options:
a: Add files to the archive-mx=0: Sets the compression level to 0-ms=off: Turns off solid block compression
Method 2: The Hardcore Way
Use the maximum 7-Zip settings if you want the smallest archive size. Depending on the game and your hardware, the result may be only slightly smaller, and the compression step can take a long time.
7z a -mx=9 -mfb=64 -md=32m -ms=on game.7z /path/to/game/folder/Crawl/*
This command uses the following options:
a: Add files to the archive-mx=9: Use the maximum compression level-mfb=64: Set the number of fast bytes to 64-md=32m: Set the dictionary size to 32MB-ms=on: Enable solid block compression
Method 3: The Balanced Way
If you are not happy with either method, you can use the preselected options of 7zip to compress the files as effectively and balanced as possible:
7z a game.7z /path/to/game/folder/Crawl/*
Step 3: Naming the Archive
Before naming the archive, take a moment to research the game you're about to add. Ask yourself questions or use a search engine to answer the following questions:
- "What version is the game?"
- "What year was the game released?"
- "Is the game still in early access?"
Once you have gathered all the necessary information, you can name the archive using the GameVault Naming Structure.
In our fictitious example we have a copy of Crawl Version 1.0.1 released in 2014, so we named the archive:
Crawl (v1.0.1) (2014).7z
Keeping multiple versions of the same game
GameVault supports multiple downloadable versions per game.
If you add files that resolve to the same game identity (same title and release-year bucket), GameVault keeps them as versions of one game instead of creating separate game entries.
Files without a release-year tag are grouped into a shared no-year bucket first, so multiple untagged files with the same title are also merged into versions of one game instead of creating separate entries. If you want same-title files to stay separate, make the titles distinct using square brackets [] (see below).
Example (same game, multiple versions):
Minecraft (v1.7.10) (2011).zipMinecraft (v1.13.2) (2011).zip
Will result in one game with multiple downloadable versions.
Keeping separate entries on purpose
If you intentionally want multiple entries with similar base titles (e.g. different modpacks), make the titles distinct using square brackets [].
Example (separate game entries):
Minecraft [Tekkit Modpack] (v1.7.10) (2011).zipMinecraft [Hexxit Modpack] (v1.13.2) (2011).zip
Will result in two separate games.
Step 4: Deploy 🥳
Once you have named the archive, place it into the folder on your host system that is mounted to GameVault's files folder (by default /files). Once the archive is in place, GameVault will automatically index the game, enrich it with metadata, and save it in your database.
Starting with version v16.3.0, administrators can also upload game files directly through the POST /api/games endpoint. The server must have write permissions on the files volume (VOLUMES_FILES) for this to work. The maximum upload size is controlled by GAMES_MAX_UPLOAD_SIZE (default 100 gb); set it to 0 to disable uploads entirely.
Congratulations! You have successfully added a game to your GameVault server. Repeat the process for any additional games you want to add.