{"id":23659436,"url":"https://github.com/cloudnetservice/launchermeta","last_synced_at":"2025-12-01T06:30:14.886Z","repository":{"id":41290250,"uuid":"443056438","full_name":"CloudNetService/launchermeta","owner":"CloudNetService","description":"This repository contains the files which are required for CloudNet to run its updater","archived":false,"fork":false,"pushed_at":"2024-10-24T18:10:00.000Z","size":121474,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"about-this-repository","last_synced_at":"2024-10-25T00:45:47.706Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CloudNetService.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-12-30T11:35:19.000Z","updated_at":"2022-03-25T10:22:49.000Z","dependencies_parsed_at":"2023-02-18T17:00:39.701Z","dependency_job_id":"a68a35e4-67a2-4435-afbc-8e6cb403ae44","html_url":"https://github.com/CloudNetService/launchermeta","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CloudNetService%2Flaunchermeta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CloudNetService%2Flaunchermeta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CloudNetService%2Flaunchermeta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CloudNetService%2Flaunchermeta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CloudNetService","download_url":"https://codeload.github.com/CloudNetService/launchermeta/tar.gz/refs/heads/about-this-repository","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239647296,"owners_count":19674136,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-12-29T02:54:27.414Z","updated_at":"2025-12-01T06:30:14.811Z","avatar_url":"https://github.com/CloudNetService.png","language":null,"readme":"## About this repository\n\nThis repository contains the files which are required for CloudNet to run its updater. In this file everything is\nexplained about how the updater actually works.\n\n### Files\n\nThis repository contains (in each branch) the exact same file tree:\n\n- `checksums.properties`: contains the checksums for all crucial files which get downloaded by the updater. Before\n  downloading, the updater checks if the checksum in this repository and locally are matching. If so, nothing gets\n  downloaded (aka: no update available). If not the updater will download each file of which the checksum isn't\n  matching. All checksums in the file are in the [SHA3-256](https://en.wikipedia.org/wiki/SHA-3) format.\n- `launcher.jar`: The latest build output of the launcher file. This file will be used to update the launcher using\n  the `launcher-patcher`.\n- `launcher-patcher.jar`: The build output of the latest launcher patcher. If a launcher update is available the\n  launcher patcher will be used when stopping the node to update the launcher itself and applies patches (if required)\n  to for example the launcher.cnl file.\n- `node.jar`: The latest build output of the CloudNet node. This file will contain the updated wrapper as well which is\n  the reason why this repository doesn't contain the wrapper file.\n- `modules.json`: This file contains all officially supported modules which can get directly installed\n  using `module install` in the node. (For more information see: [modules.json](#modulesjson))\n- `modules/`: This directory contains all modules which are maintained by CloudNet. Outside modules are not here but\n  listed in the module.json file if the author did submit it to us.\n\n### modules.json\n\nThe file contains all modules and will be updated every time the launcher starts. The original file is located in\nour [main repository](https://github.com/CloudNetService/CloudNet-v3) and contains all outside modules. The modules\nwhich are maintained by CloudNet will be added when generating the updater files. The file has the following structure:\n\n```json5\n{\n  \"entries\": [\n    // All entries go here\n  ]\n}\n```\n\nAn entry **always** has the following properties:\n\n- `offical`: `true` if the module is offically maintained by CloudNet, `false` if an external developer contributed the module.\n- `name`: The unique name of the module (must match the name in the module description file).\n- `website`: The website which is associated with the project, for example the GitHub repository of the module.\n- `version`: The current version of the module.\n- `sha3256`: The [SHA3-256](https://en.wikipedia.org/wiki/SHA-3) sum of the module file.\n- `description`: A short description what the module does for you.\n- `url`: The download url of the module. It **must** be a download from GitHub, preferably from a release. Internal\n  modules are using the placeholders `%updateRepo%` (the current updater repo used by the launcher)\n  and `%updateBranch%` (the current branch the updater is pulling the updates from). All other module download urls must\n  link directly to the module jar file.\n- `maintainers`: A collection of names who are the maintainers of the module. The names **must** match the names used on\n  GitHub as these people are the only ones who will be able to publish updates for the module through our repository.\n- `releaseNotes`: A (string) collection containing the release notes of the latest version.\n- `dependingModules`: A collection of modules which are required in order to run the module. All modules **must** be\n  available through the module file as well.\n\n### How all these files get here\n\nThe updater files will be generated by a custom gradle task (`genUpdaterInformation`) into a git-excluded directory\ncalled `.launchermeta` (Please note that the updater task will not run by default, you must specifically add it to the\ncommand line to run it. The recommended build command\nis: `./gradlew build checkLicenses test shadowJar genUpdaterInformation --stacktrace`). GitHub actions will then publish\nthe updater files into this repository using\nthe [publish-subdir-action](https://github.com/s0/git-publish-subdir-action).\n\n### How to test your changes to modules and cloudnet without getting the files overridden\n\nIt's as simple as that: enable dev mode. You can either do this by going into your launcher.cnl and enabling it there,\nor by appending `--dev` to the command line (for example: `java -jar launcher.jar --dev`). In order for this to work you\nneed to place a file called `cloudnet.jar` in the same directory your launcher is in - it will be used as the fallback\nnode version. All updates will be skipped.\n\n:warning: **USE THIS OPTION WITH CAUTION!** Updates might contain security fixes! It is not recommended that you disable\nthem! :warning:\n\n### Help\n\nIf you need to help or you have further questions about this repository (or how it works, how you can get your module\ninto here etc.) feel free to ask on our [Discord Server](https://discord.cloudnetservice.eu/). Happy updating!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudnetservice%2Flaunchermeta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudnetservice%2Flaunchermeta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudnetservice%2Flaunchermeta/lists"}