Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/minty-labs/paperupdater
Simple Papermc.io or purpurmc.org Minecraft Server file updater.
https://github.com/minty-labs/paperupdater
dotnet dotnet-6 linux minecraft minecraft-server papermc papermc-minecraft-server purpur purpur-minecraft-server purpurmc updater utility windows
Last synced: about 2 months ago
JSON representation
Simple Papermc.io or purpurmc.org Minecraft Server file updater.
- Host: GitHub
- URL: https://github.com/minty-labs/paperupdater
- Owner: Minty-Labs
- License: gpl-3.0
- Created: 2022-08-01T22:21:38.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-02-11T22:38:14.000Z (11 months ago)
- Last Synced: 2024-02-11T23:30:34.816Z (11 months ago)
- Topics: dotnet, dotnet-6, linux, minecraft, minecraft-server, papermc, papermc-minecraft-server, purpur, purpur-minecraft-server, purpurmc, updater, utility, windows
- Language: C#
- Homepage:
- Size: 65.4 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
PaperUpdater
Simple papermc.io or purpurmc.org 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.How it works (PaperMC)
Logic below is held and processed in PaperProjectApi.cs
- Getting the latest paper project version
- Gets JSON data from API URL:
- API URL:
https://api.papermc.io/v2/projects/paper
- Outputs: JSON structured data with every version group and version offered to use
- API URL:
- It finds the list of strings in
versions
(last is latest) - It verifies that the
project_id
ispaper
- Stores it in a string that should be
1.19.3
- Gets JSON data from API URL:
Logic below is held and processed in PaperBuildApi.cs
- Loading Paper API JSON Data
- Gets JSON data from API URL:
- API URL:
https://api.papermc.io/v2/projects/paper/versions/1.19.3/builds
- Outputs: JSON structured data with every build of paper 1.19.3
- API URL:
- It gets the last entry in the list of
builds
(last is latest) - It then verifies that the
channel
isdefault
- Outputs a completed URL
https://api.papermc.io/v2/projects/paper/versions/1.19.3/builds/{buildNumber}/downloads/{buildName}
- Gets JSON data from API URL:
- Updating the file
- If Data is not incorrect
- It gets the file data as bytes from the completed URL constructed above
- It will delete a file
paper.jar
if it exists - Then write a new file with the bytes gathered from the completed URL and saves it as
paper.jar
How it works (PurpurMC)
Their 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.
Logic below is held and processed in PaperProjectApi.cs Line 53, which gets applied on line 79
How it works (Overall)
Logic below is held and processed in BatchFuncs.cs
- Creating a batch file
-
Creates a simple batch file to easily run your server
-
- Running the server
- You have the ability to create a basic preset batch file
- You can also have this application run that batch file directly
To Do
- hmm, not sure what else to do
Linux
Recommended actions needed:
- Install .NET 6.0+ Using Microsoft's Guide.
- Install Screen Using this guide.
Running it:
- Install screen (above)
- create and change into a new screen
-
cd
into your desired folder (Preferably where your server is installed) -
wget
the latest version (wget https://github.com/Minty-Labs/PaperUpdater/releases/latest/download/PaperConsoleUpdater
) - make sure to
sudo chmod +x PaperConsoleUpdater
- Run the program (
./PaperConsoleUpdater
)
Credits and Ownerships
- Program Icon (Logo) is directly from papermc's website header logo. All rights go to papermc for the logo. If someone from the papermc team has an issue with me using your logo, please do not hesitate to email Lily C.
Disclaimer
I, Lily, am in no way affiliated with PaperMC nor Microsoft/Mojang Studios. Any and all images' rights go their original owners.
Application Info
- Type:
Console Application (dotNET 6)
- IDE:
JetBrains Rider - 2022.3.1
- Version:
v1.5.0.0
- Nuget Packages:
Newtonsoft.Json - 13.0.2
Pastel - 4.1.0
- Checksum SHA-256
- Windows:
1f77cfae88a39c75b1fa0e9e2c3b172fba48ac2521e4951b267f120a66b6e38d
- Linux:
6da4bf58067a2a5b0627bc7479793447d7216d6fe49c0074f9da888c56818919
- Windows: