Clone
7
Admin manual
Pilzinsel64 edited this page 2024-07-10 16:48:18 +00:00

Modpack configuration

Create a new json file. This must be accessable via the web via a static url as this is the public "modpack config url".

Example

{
 "Maintenance": false,
 "Name": "Life in the Woods: Refined",
 "InstallUrl": "https://myserver.de/myfiles/install.json",
 "UpdateUrl": "https://myserver.de/myfiles/updates.json"
}

Properties

Name Description
Maintenance Defines if installations/updates on the clients should be surpressed. Can be used for testing purpose while deploying a new update.
Name The name of the modpack. Currently it's not shows anywhere, but that will change in the future.
InstallUrl An url to another json file defining some informations needed for installation. Splitted to another file to not blow this info file up. As this file is not needed on each update check it is also separated from the update infos.
UpdateUrl An url to another json file defining some informations about updates. Splitted to another file to not blow this info file up.
UnleashApiUrl The url for your unleash server api endpoint. Optional.
UnleashInstanceId The instance id for your unleash server api endpoint. Optional.

Installation config

Create a new json file. This must be accessable via the web via a static url.

Properties

Name Description
Version The version this install config represents.
Actions An array of action objects.

Properties of an action

Each action object describes a step to be do.

Name Required Description
DestPath ✔️ The destination path. This normally should be a file. If IsZip is true, then this should be a directory. You don't need to start or end with an /.
DownloadUrl ✔️ A public static link to a file. This can be from your own server, from CurseForge, Modrinth, GitHub, GitLab or whatever.
IsZip ✖️ Set this to true or leave empty to.
ZipPath ✖️ The Path within the zip file, if IsZip is true. Leave empty or "" to set the root path as destination path.
Side ✖️ Defines the side where this action should take affect. Acceppts Cleint, Server and Both (default).
IsExtra ✖️ Mark the action as extra step wich is only available via an valid installation key. Mostly used for files wich should only be available for private servers, e.g. defaultserverlist.json. Only works if unleash api endpoint is configured.

Update config

Create a new json file. This must be accessable via the web via a static url.

Properties for an action

Name Required Description
Type ✔️ Defines the update action. Can be Update, Delete, Copy, Move and None.
DestPath Copy, Move The destination path. This normally should be a file. If IsZip is true, then this should be a directory. You don't need to start or end with an /.
SrcPath Copy, Move The source file or directory path.
DownloadUrl Update A public static link to a file. This can be from your own server, from CurseForge, Modrinth, GitHub, GitLab or whatever. This property is not required if Typer is Delete.
IsDirectory Copy, Move Mark the action as extra step wich is only available via an valid installation key. Mostly used for files wich should only be available for private servers, e.g. defaultserverlist.json.
IsZip ✖️ Set this to true or leave empty to.
ZipPath ✖️ The Path within the zip file, if IsZip is true. Leave empty or "" to set the root path as destination path.
Side ✖️ Defines the side where this action should take affect. Acceppts Cleint, Server and Both (default).
IsExtra ✖️ Mark the action as extra step wich is only available via an valid installation key. Mostly used for files wich should only be available for private servers, e.g. defaultserverlist.json. Only works if unleash api endpoint is configured.

Setup installation keys

Installation keys allows the client for the end-use to download extra files wich should only be available to certain users. E.g. for private servers only.

To be able to provide installation keys (in form of serial keys, email addresses or whatever you want), you need to provide an Unleash Api entpoint with one feature named allow-extras which checks userids. This need you to fork this repo and deploy your own version of the modpack updater aswell as your own Unleash server or GitLab features.

Instead of deploying your own server and your own modpack installer version, you can also create a ticket and provide me a list of keys and your modpack key.