PiozaRepo (and manifest) - Shieldowskyy/PiozaLauncher GitHub Wiki

PiozaRepo (and manifest)

image

Overview
PiozaRepo is a repository of files hosted on a network-based file server. It serves as a backend for the Pioza Game Launcher, providing access to a list of games, binary files, and multimedia metadata.

Repository Structure

An example of a properly structured game folder within the repository:

https://storage.shieldowskyy.pl/
└── cdn
    β”œβ”€β”€ RoleAmong
    β”‚   β”œβ”€β”€ Windows.zip
    β”‚   β”œβ”€β”€ meta
    β”‚   β”‚   β”œβ”€β”€ background.jpg
    β”‚   β”‚   β”œβ”€β”€ effect.mp3
    β”‚   β”‚   β”œβ”€β”€ icon.jpg
    β”‚   β”‚   └── screens
    β”‚   β”‚       β”œβ”€β”€ screen0.jpg
    β”‚   β”‚       β”œβ”€β”€ screen1.jpg
    β”‚   β”‚       └── screen2.jpg
    β”‚   └── version.txt
    β”œβ”€β”€ games.json
    β”œβ”€β”€ meta-version.txt
    β”œβ”€β”€ supported.txt

The structure must adhere to the format specified in the repository manifest (games.json). Below is an example of a fully featured games.json file listing one game:

[
	{
		"Name": "RoleAmong",
		"GameTitle": "Role Amonga (By Mefiu)",
		"gameid": "RoleAmong",
		"DevName": "Developer: Mefiu",
		"PlatformsNames": "Platforms: Windows",
		"Executable": "RoleAmonga.exe",
		"Description": "Zobacz role co robić! Tylko w aplikacji RoleAmong!",
		"Changelog": "",
		"GameURL": "https://storage.shieldowskyy.pl/cdn/RoleAmong/",
		"minimumReqs": "",
		"VideoURL": ""
	}
]

Repository Components

  1. Root Folder:
    Contains the main repository manifest (games.json), which lists all games displayed in the launcher. Each game entry provides a URL path to its folder in the repository. Additionally, it includes the meta-version.txt file, which stores the current metadata version number. Incrementing this number triggers a metadata update for all launcher users with outdated metadata. It also includes the supported.txt file, which specifies the oldest launcher version compatible with the repository (e.g., 0.6.0).

  2. Game Folders:
    Each game folder must contain:

    • Windows.zip: The main game archive for Windows. The .zip file must be compressed using the Deflate method and should not contain an additional subfolder inside.
    • version.txt: Specifies the current game version for update checks.
    • meta Folder: Contains game metadata:
      • screens: Folder with screenshots (screen0.jpg, screen1.jpg, etc.).
      • background.jpg: Main background image.
      • icon.jpg: Main game icon.
      • effect.mp3 (optional): Audio effect when selecting the game in the launcher.
      • theme.mp3 (optional): Background music when the game is selected in the launcher.

File Format Requirements

  • Images must be in .jpg format.
  • Audio files can be in the following formats:
    • .mp3
    • .wav
    • .ogg (Vorbis)
    • .flac

Important!

Web server hosting repo must support Content-Length header to calculate required disk space while downloading!

Testing repo

You can test if your repo is working by opening console (click tylda key) and typing setrepo https://yourrepo.com/games.json command.
Repo refresh can be forced by refreshmeta command.

Summary

For PiozaRepo to function correctly:

  • The games.json file in the root directory must list all available games and their server paths.
  • Each game folder must follow the defined structure, with required files (Windows.zip, version.txt, and metadata in the meta folder).
  • The meta-version.txt file ensures proper metadata synchronization across users by enforcing updates when its version changes.
  • The supported.txt file defines the minimum supported launcher version, ensuring compatibility.

This setup ensures that repo will be correctly recognized by launcher and games would be shown to end user. image image