{"id":20337940,"url":"https://github.com/minty-labs/paperupdater","last_synced_at":"2026-04-12T01:41:29.285Z","repository":{"id":51165298,"uuid":"520277675","full_name":"Minty-Labs/PaperUpdater","owner":"Minty-Labs","description":"Simple Papermc.io or purpurmc.org Minecraft Server file updater.","archived":false,"fork":false,"pushed_at":"2024-02-11T22:38:14.000Z","size":68,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-04T14:32:22.268Z","etag":null,"topics":["dotnet","dotnet-6","linux","minecraft","minecraft-server","papermc","papermc-minecraft-server","purpur","purpur-minecraft-server","purpurmc","updater","utility","windows"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Minty-Labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"ko_fi":"MintLily","patreon":"MintLily","github":"MintLily"}},"created_at":"2022-08-01T22:21:38.000Z","updated_at":"2023-05-14T17:17:51.000Z","dependencies_parsed_at":"2024-11-14T21:11:13.556Z","dependency_job_id":"a07be0e2-9ac3-469b-a43f-b85dbae56efd","html_url":"https://github.com/Minty-Labs/PaperUpdater","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/Minty-Labs/PaperUpdater","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Minty-Labs%2FPaperUpdater","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Minty-Labs%2FPaperUpdater/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Minty-Labs%2FPaperUpdater/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Minty-Labs%2FPaperUpdater/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Minty-Labs","download_url":"https://codeload.github.com/Minty-Labs/PaperUpdater/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Minty-Labs%2FPaperUpdater/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31701641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T21:17:31.016Z","status":"ssl_error","status_checked_at":"2026-04-11T21:17:24.556Z","response_time":54,"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":["dotnet","dotnet-6","linux","minecraft","minecraft-server","papermc","papermc-minecraft-server","purpur","purpur-minecraft-server","purpurmc","updater","utility","windows"],"created_at":"2024-11-14T21:10:57.379Z","updated_at":"2026-04-12T01:41:29.270Z","avatar_url":"https://github.com/Minty-Labs.png","language":"C#","funding_links":["https://ko-fi.com/MintLily","https://patreon.com/MintLily","https://github.com/sponsors/MintLily"],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003ePaperUpdater\u003c/h1\u003e\nSimple \u003ca href=\"https://papermc.io/downloads\" target=\"_blank\"\u003epapermc.io\u003c/a\u003e or \u003ca href=\"https://purpurmc.org/\" target=\"_blank\"\u003epurpurmc.org\u003c/a\u003e Minecraft Server file updater. Gets the latest version, downloads it and places the file in the root of where this program's executable file is. Detailed process below.\n\n\u003ch2\u003eHow it works (PaperMC)\u003c/h2\u003e\nLogic below is held and processed in \u003ca href=\"PaperConsoleUpdater/PaperData/PaperProjectApi.cs\"\u003ePaperProjectApi.cs\u003c/a\u003e\n\u003cul\u003e\n\t\u003cli\u003eGetting the latest paper project version\n\t\t\u003cul\u003e\n\t\t\t\u003cli\u003eGets JSON data from API URL:\n\t\t\t\t\u003cul\u003e\n\t\t\t\t\t\u003cli\u003eAPI URL: \u003ccode\u003ehttps://api.papermc.io/v2/projects/paper\u003c/code\u003e\u003c/li\u003e\n\t\t\t\t\t\u003cli\u003eOutputs: JSON structured data with every version group and version offered to use\u003c/li\u003e\n\t\t\t\t\u003c/ul\u003e\n\t\t\t\u003c/li\u003e\n\t\t\t\u003cli\u003eIt finds the list of strings in \u003ccode\u003eversions\u003c/code\u003e (last is latest)\u003c/li\u003e\n\t\t\t\u003cli\u003eIt verifies that the \u003ccode\u003eproject_id\u003c/code\u003e is \u003ccode\u003epaper\u003c/code\u003e\u003c/li\u003e\n\t\t\t\u003cli\u003eStores it in a string that should be \u003ccode\u003e1.19.3\u003c/code\u003e\u003c/li\u003e\n\t\t\u003c/ul\u003e\n\t\u003c/li\u003e\n\u003c/ul\u003e\n\nLogic below is held and processed in \u003ca href=\"PaperConsoleUpdater/PaperData/PaperBuildApi.cs\"\u003ePaperBuildApi.cs\u003c/a\u003e\n\u003cul\u003e\n\t\u003cli\u003eLoading Paper API JSON Data\n\t\t\u003cul\u003e\n\t\t\t\u003cli\u003eGets JSON data from API URL:\n\t\t\t\t\u003cul\u003e\n\t\t\t\t\t\u003cli\u003eAPI URL: \u003ccode\u003ehttps://api.papermc.io/v2/projects/paper/versions/1.19.3/builds\u003c/code\u003e\u003c/li\u003e\n\t\t\t\t\t\u003cli\u003eOutputs: JSON structured data with every build of paper 1.19.3\u003c/li\u003e\n\t\t\t\t\u003c/ul\u003e\n\t\t\t\u003c/li\u003e\n\t\t\t\u003cli\u003eIt gets the last entry in the list of \u003ccode\u003ebuilds\u003c/code\u003e (last is latest)\u003c/li\u003e\n\t\t\t\u003cli\u003eIt then verifies that the \u003ccode\u003echannel\u003c/code\u003e is \u003ccode\u003edefault\u003c/code\u003e\u003c/li\u003e\n\t\t\t\u003cli\u003eOutputs a completed URL \u003ccode\u003ehttps://api.papermc.io/v2/projects/paper/versions/1.19.3/builds/{buildNumber}/downloads/{buildName}\u003c/code\u003e\u003c/li\u003e\n\t\t\u003c/ul\u003e\n\t\u003c/li\u003e\n\t\u003cli\u003eUpdating the file\n\t\t\u003cul\u003e\n\t\t\t\u003cli\u003eIf Data is not incorrect\u003c/li\u003e\n\t\t\t\u003cli\u003eIt gets the file data as bytes from the completed URL constructed above\u003c/li\u003e\n\t\t\t\u003cli\u003eIt will delete a file \u003ccode\u003epaper.jar\u003c/code\u003e if it exists\u003c/li\u003e\n\t\t\t\u003cli\u003eThen write a new file with the bytes gathered from the completed URL and saves it as \u003ccode\u003epaper.jar\u003c/code\u003e\u003c/li\u003e\n\t\t\u003c/ul\u003e\n\t\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003eHow it works (PurpurMC)\u003c/h2\u003e\nTheir API easily lets me only get the latest version of their server. It doesn't have to do any of the logic I did for PaperMC. I just get the latest version and download it. Simple as that.\u003cbr\u003e\nLogic below is held and processed in \u003ca href=\"PaperConsoleUpdater/PaperData/PaperBuildApi.cs#L53\"\u003ePaperProjectApi.cs\u003c/a\u003e Line 53, which gets applied on \u003ca href=\"PaperConsoleUpdater/PaperData/PaperBuildApi.cs#L79\"\u003eline 79\u003c/a\u003e\n\n\u003ch2\u003eHow it works (Overall)\u003c/h2\u003e\nLogic below is held and processed in \u003ca href=\"PaperConsoleUpdater/Functions/BatchFuncs.cs\"\u003eBatchFuncs.cs\u003c/a\u003e\n\u003cul\u003e\n\t\u003cli\u003eCreating a batch file\n\t\t\u003cul\u003e\n\t\t\t\u003cli\u003e\n\t\t\t\tCreates a simple batch file to easily run your server\n\t\t\t\u003c/li\u003e\n\t\t\u003c/ul\u003e\n\t\u003c/li\u003e\n\t\u003cli\u003eRunning the server\n\t\t\u003cul\u003e\n\t\t\t\u003cli\u003eYou have the ability to create a basic preset batch file\u003c/li\u003e\n\t\t\t\u003cli\u003eYou can also have this application run that batch file directly\u003c/li\u003e\n\t\t\u003c/ul\u003e\n\t\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003eTo Do\u003c/h2\u003e\n\u003cul\u003e\n\t\u003cli\u003ehmm, not sure what else to do\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch1\u003eLinux\u003c/h1\u003e\nRecommended actions needed:\n\u003cul\u003e\n\t\u003cli\u003eInstall .NET 6.0+ \u003ca href=\"https://docs.microsoft.com/en-us/dotnet/core/install/linux\" target=\"_blank\"\u003eUsing Microsoft's Guide\u003c/a\u003e.\u003c/li\u003e\n\t\u003cli\u003eInstall Screen \u003ca href=\"https://linuxhint.com/screen-linux/\" target=\"_blank\"\u003eUsing this guide\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\nRunning it:\n\u003cul\u003e\n\t\u003cli\u003eInstall screen (above)\u003c/li\u003e\n\t\u003cli\u003ecreate and change into a new screen\u003c/li\u003e\n\t\u003cli\u003e\u003ccode\u003ecd\u003c/code\u003e into your desired folder (Preferably where your server is installed)\u003c/li\u003e\n\t\u003cli\u003e\u003ccode\u003ewget\u003c/code\u003e the latest version ( \u003ccode\u003ewget https://github.com/Minty-Labs/PaperUpdater/releases/latest/download/PaperConsoleUpdater\u003c/code\u003e )\u003c/li\u003e\n\t\u003cli\u003emake sure to \u003ccode\u003esudo chmod +x PaperConsoleUpdater\u003c/code\u003e\u003c/li\u003e\n\t\u003cli\u003eRun the program (\u003ccode\u003e./PaperConsoleUpdater\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003eCredits and Ownerships\u003c/h2\u003e\n\u003cul\u003e\n\t\u003cli\u003eProgram Icon (Logo) is directly from papermc's website header logo. All rights go to papermc for the logo. \u003ci\u003eIf someone from the papermc team has an issue with me using your logo, please do not hesitate to email \u003ca href=\"mailto:admin@mintlily.lgbt\"\u003eLily C.\u003c/a\u003e\u003c/i\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003eDisclaimer\u003c/h2\u003e\nI, Lily, am in no way affiliated with PaperMC nor Microsoft/Mojang Studios. Any and all images' rights go their original owners.\u003cbr\u003e\n\n\u003ch2\u003eApplication Info\u003c/h2\u003e\n\u003cul\u003e\n\t\u003cli\u003eType: \u003ccode\u003eConsole Application (dotNET 6)\u003c/code\u003e\u003c/li\u003e\n    \u003cli\u003eIDE: \u003ccode\u003eJetBrains Rider - 2022.3.1\u003c/code\u003e\u003c/li\u003e\n\t\u003cli\u003eVersion: \u003ccode\u003ev1.5.0.0\u003c/code\u003e\u003c/li\u003e\n\t\u003cli\u003eNuget Packages:\n        \u003cul\u003e\n            \u003cli\u003e\u003ccode\u003eNewtonsoft.Json - 13.0.2\u003c/code\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ccode\u003ePastel - 4.1.0\u003c/code\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n    \u003c/li\u003e\n\t\u003cli\u003eChecksum SHA-256\n\t\t\u003cul\u003e\n\t\t\t\u003cli\u003eWindows: \u003ccode\u003e1f77cfae88a39c75b1fa0e9e2c3b172fba48ac2521e4951b267f120a66b6e38d\u003c/code\u003e\u003c/li\u003e\n\t\t\t\u003cli\u003eLinux:   \u003ccode\u003e6da4bf58067a2a5b0627bc7479793447d7216d6fe49c0074f9da888c56818919\u003c/code\u003e\u003c/li\u003e\n\t\t\u003c/ul\u003e\n\t\u003c/li\u003e\n\u003c/ul\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminty-labs%2Fpaperupdater","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fminty-labs%2Fpaperupdater","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminty-labs%2Fpaperupdater/lists"}