{"id":19317012,"url":"https://github.com/henkelmax/mod-update-server","last_synced_at":"2026-04-13T06:49:27.035Z","repository":{"id":37386841,"uuid":"287956517","full_name":"henkelmax/mod-update-server","owner":"henkelmax","description":"A server for Minecraft modders that manages mod updates.","archived":false,"fork":false,"pushed_at":"2026-03-01T10:40:48.000Z","size":1026,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-01T10:52:53.222Z","etag":null,"topics":["docker","minecraft","mod-updates","mongodb","spring-boot","vue"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/henkelmax.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-16T14:11:37.000Z","updated_at":"2024-10-05T00:37:04.000Z","dependencies_parsed_at":"2022-08-28T18:25:00.985Z","dependency_job_id":"95a9610c-6ee9-4633-83ed-29db1347c93d","html_url":"https://github.com/henkelmax/mod-update-server","commit_stats":null,"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/henkelmax/mod-update-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henkelmax%2Fmod-update-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henkelmax%2Fmod-update-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henkelmax%2Fmod-update-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henkelmax%2Fmod-update-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/henkelmax","download_url":"https://codeload.github.com/henkelmax/mod-update-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henkelmax%2Fmod-update-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31742941,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T06:26:45.479Z","status":"ssl_error","status_checked_at":"2026-04-13T06:26:44.645Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","minecraft","mod-updates","mongodb","spring-boot","vue"],"created_at":"2024-11-10T01:13:25.339Z","updated_at":"2026-04-13T06:49:27.020Z","avatar_url":"https://github.com/henkelmax.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mod Update Server\n\nA server for Minecraft modders that manages all your mod updates.\nIt provides a web interface and REST API to manage everything.\nThis can be used directly for the [Forge Update Checker](https://docs.minecraftforge.net/en/1.20.x/misc/updatechecker/)/[NeoForge Update Checker](https://docs.neoforged.net/docs/misc/updatechecker).\n\n## Useful Links\n\n- [Mod Update Gradle Plugin](https://github.com/henkelmax/mod-update-plugin)\n- [Forge Update Checker](https://docs.minecraftforge.net/en/1.20.x/misc/updatechecker/)\n\n---\n\n## Requests\n\n| Method   | Path                                | Description                                                                                              |\n|----------|-------------------------------------|----------------------------------------------------------------------------------------------------------|\n| `GET`    | `/mods`                             | A list of all mods.                                                                                      |\n| `GET`    | `/mods/MODNAME`                     | A specific mod by its mod ID.                                                                            |\n| `GET`    | `/updates?amount=16\u0026page=0`         | All updates for all mods. Query parameters: `amount` for the update count per page, `page` for the page. |\n| `GET`    | `/updates/MODNAME?amount=16\u0026page=0` | All updates for a mod. Query parameters: `amount` for the update count per page, `page` for the page.    |\n| `GET`    | `/updates/MODNAME/UPDATE_ID`        | A specific update.                                                                                       |\n| `POST`   | `/updates/MODNAME`                  | Adds a new update. Requires an apikey in the header. See [Update](#update).                              |\n| `POST`   | `/updates/MODNAME/UPDATE_ID`        | Updates an update.                                                                                       |\n| `DELETE` | `/updates/MODNAME/UPDATE_ID`        | Deletes an update. Requires an apikey in the header.                                                     |\n| `DELETE` | `/mods/MODNAME`                     | Deletes a mod. Requires an apikey in the header.                                                         |\n| `POST`   | `/mods/add`                         | Adds a new mod. Requires an apikey in the header. See [Mod](#mod).                                       |\n| `POST`   | `/mods/edit/MODNAME`                | Edits an existing mod. Requires an apikey in the header. See [Mod](#mod).                                |\n| `GET`    | `/forge/MODNAME`                    | The Forge update check format.                                                                           |\n| `GET`    | `/check/LOADER/MODNAME`             | A general purpose update check format.                                                                   |\n| `GET`    | `/apikeys`                          | A list of all API keys.                                                                                  |\n| `POST`   | `/apikeys/add`                      | Adds a new API keys. See [ApiKey](#apikey).                                                              |\n| `DELETE` | `/apikeys/APIKEY`                   | Removes an API keys.                                                                                     |\n\n**Example Update**\n\n```json5\n{\n  \"publishDate\": \"2023-12-08T14:48:00\",\n  // The publishing date (used to order the updates).\n  \"gameVersion\": \"1.20.4\",\n  // The game version.\n  \"modLoader\": \"forge\",\n  // The mod loader [forge, neoforge, fabric, quilt]. Default value: \"forge\".\n  \"version\": \"1.0.0\",\n  // The mod version.\n  \"updateMessages\": [\n    \"Updated to 1.20.4\",\n    \"Added readme.md\"\n  ],\n  // The update messages (Changelog etc.).\n  \"releaseType\": \"release\",\n  // The release type [alpha, beta, release]. Default value: \"release\".\n  \"tags\": [\n    \"recommended\"\n  ]\n  // Additional tags e.g. recommended.\n}\n```\n\n**Example Mod**\n\n```json5\n{\n  \"modID\": \"examplemod\",\n  // The mod ID (used to identify the mod)\n  \"name\": \"Example Mod\",\n  // The name of the mod\n  \"description\": \"Just an example mod\",\n  // The mod description\n  \"websiteURL\": \"https://example.com/examplemod\",\n  // The URL to the mods website\n  \"downloadURL\": \"https://example.com/examplemod/files\",\n  // The URL to the mods download page\n  \"issueURL\": \"https://example.com/examplemod/issues\"\n  // The issue tracker url of this mod\n}\n```\n\n**Example ApiKey**\n\n```json5\n{\n  \"mods\": [\n    \"examplemod\"\n  ]\n  // The mods that this key has access to (\"*\" for every mod)\n}\n```\n\n## Usage\n\nSee [this](docker_compose.md).\n\n## Development Setup\n\n### Prerequisites\n\n- [Java 17](https://www.oracle.com/java/technologies/downloads/#java17)\n- [Node.js](https://nodejs.org/)\n- [Yarn](https://yarnpkg.com/)\n\n### Installation\n\n```sh\n./gradlew init\n./gradlew frontend:yarn\n```\n\n### Running the project in development\n\n```sh\n./gradlew backend:bootRun\n./gradlew frontend:dev\n```\n\nThe REST API should be available at port 8088\nand the web interface is usually available at port 3000 (If not already in use).\n\n## Environment Variables\n\n| Variable         | Description                                                     | Default Value |\n|------------------|-----------------------------------------------------------------|---------------|\n| `DB_IP`          | The IP of the PostgreSQL database                               | `localhost`   |\n| `DB_PORT`        | The port of the PostgreSQL database                             | `5432`        |\n| `DB_NAME`        | The database name                                               | `postgres`    |\n| `DB_USER`        | The database username                                           | `postgres`    |\n| `DB_PASSWORD`    | The database password                                           | ` `           |\n| `PORT`           | The webserver port                                              | `8088`        |\n| `MASTER_KEY`     | The master apiKey (e.g. `62387f34-7678-4737-bfc4-2cb600337541`) | ` `           |\n| `LOGIN_USERNAME` | The username for the web UI login                               | `admin`       |\n| `LOGIN_PASSWORD` | The password for the web UI login                               | `admin`       |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenkelmax%2Fmod-update-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhenkelmax%2Fmod-update-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenkelmax%2Fmod-update-server/lists"}