Skip to main content

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
note

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.

single-file executables

If the game you're about to add only consists of a single executable file such as setup_game.exe or setup_game.sh, you can choose to skip this stage and proceed with naming it. See here for more details.

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).zip
  • Minecraft (v1.13.2) (2011).zip
info

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).zip
  • Minecraft [Hexxit Modpack] (v1.13.2) (2011).zip
info

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.

Uploading via API

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.