Sign inSign up

henkelmax/mod-update-server

By henkelmax

•Updated over 5 years ago

A server for Minecraft modders that manages all your mod updates.

Image
0

682

henkelmax/mod-update-server repository overview

⁠Mod Update Server GitHub Workflow Status GitHub issues GitHub release (latest by date)

A server for Minecraft modders that manages all your mod updates. It provides a web interface and REST API to manage everything. This can be used directly for the Forge Update Checker⁠.


⁠Requests

MethodPathDescription
GET/modsList all mods.
GET/mods/MODNAMEGet a specific mod.
GET/updates?amount=16&page=0Show update entries for all mods. Optional query parameters: amount for the update count per page, page for the page.
GET/updates/MODNAME?amount=16&page=0Show update entries. Optional query parameters: amount for the update count per page, page for the page.
GET/updates/MODNAME/UPDATE_IDShow update entry (updateid mcversion, version, updatemessage, tags[latest, ...]).
POST/updates/MODNAMEAdd a new update. Requires an apikey in header. See Update⁠.
POST/updates/MODNAME/UPDATE_IDUpdates an update.
DELETE/updates/MODNAME/UPDATE_IDRemove an update. Requires an apikey in header.
DELETE/mods/MODNAMERemove a mod. Requires an apikey in header.
POST/mods/addAdd a new mod. Requires an apikey in header. See Mod⁠.
POST/mods/edit/MODNAMEEdit an existing mod. Requires an apikey in header. See Mod⁠.
GET/forge/MODNAMEForge update check format.
GET/latest/MODNAMEGeneral update format.
GET/apikeysList all apikeys.
POST/apikeys/addAdd a new apikey. See ApiKey⁠.
DELETE/apikeys/APIKEYRemove an apikey.

Example Update

{
  "publishDate": "2019-10-10T14:48:00",                               // The publishing date (used to order the updates).
  "gameVersion": "1.14.4",                                            // The game version.
  "modLoader": "forge",                                               // The mod loader.
  "version": "1.0.0",                                                 // The mod version.
  "updateMessages": ["Updated to 1.14.4", "Added readme.md"],         // The update messages (Changelog etc.).
  "releaseType": "release",                                           // The release type [alpha, beta, release]. Default value: "release".
  "tags": ["recommended"]                                             // Additional tags e.g. recommended.
}

Example Mod

{
  "modID": "examplemod",                                              // The mod ID (used to identify the mod)
  "name": "Example Mod",                                              // The name of the mod
  "description": "Just an example mod",                               // The mod description
  "websiteURL": "https://example.com/examplemod",                     // The URL to the mods website
  "downloadURL": "https://example.com/examplemod/files",              // The URL to the mods download page
  "issueURL": "https://example.com/examplemod/issues"                 // The issue tracker url of this mod
}

Example ApiKey

{
  "mods": ["examplemod"]                                                // The mods that this key has access to ("*" for every mod)
}

⁠Development Setup

⁠Prerequisites
⁠Installation
yarn install

cd frontend
yarn install
⁠Running the project in development
yarn mongo
yarn dev

cd frontend
yarn serve

or

mongod --dbpath <PATH_TO_DB>
yarn dev

cd frontend
yarn serve

The REST API should be available at port 8088 and the web interface is usually available at port 8080 (If not already in use).

⁠Environment Variables

VariableDescriptionDefault Value
DB_IPThe IP of the MongoDB databaselocalhost
DB_PORTThe port of the MongoDB database27017
DB_NAMEThe database nameupdates
PORTThe webserver port8088
MASTER_KEYThe master apiKey (e.g. 62387f34-7678-4737-bfc4-2cb600337541)
LOGIN_USERNAMEThe username for the web UI login
LOGIN_PASSWORDThe password for the web UI login

⁠Web UI

⁠Login

You can log in to the web UI via the credentials provided by the environment variables or with the username apikey and your apikey as password.

Tag summary

Content type

Image

Digest

Size

46.3 MB

Last updated

over 5 years ago

docker pull henkelmax/mod-update-server