From 8a622c5593020994ed00af1cad855db3f3a3b117 Mon Sep 17 00:00:00 2001 From: SuperChewie Date: Sun, 5 Apr 2026 21:43:46 -0500 Subject: [PATCH 1/2] update documentation for papermc updating --- .../papermc.md | 48 ++++++++++++------- docs/mscs/updating.md | 15 +++--- index.md | 2 +- 3 files changed, 42 insertions(+), 23 deletions(-) diff --git a/docs/mscs/adjusting-world-server-properties/papermc.md b/docs/mscs/adjusting-world-server-properties/papermc.md index 550dc93..c9f09cf 100644 --- a/docs/mscs/adjusting-world-server-properties/papermc.md +++ b/docs/mscs/adjusting-world-server-properties/papermc.md @@ -1,6 +1,6 @@ --- layout: default -title: PaperMC +title: PaperMC nav_order: 4 parent: Adjusting World & Server Properties permalink: /docs/mscs/adjusting-world-server-properties/papermc @@ -8,32 +8,48 @@ permalink: /docs/mscs/adjusting-world-server-properties/papermc # PaperMC -Follow the instructions below to set [PaperMC][papermc] up for a world that already exists -(see [getting started](getting-started)). +MSCS supports [PaperMC][papermc] with automatic updates via the PaperMC API. When configured, +`mscs update` will automatically download the latest build for your chosen Minecraft version and +build channel — no manual URL lookup required. -Make sure the world is not running. Find the URL for the version and build number for PaperMC that you wish to run from [their site][papermc]. Then, set the server download URL in the world's `mscs.properties`: +## Setup + +Make sure the world is not running. Add the following to the world's `mscs.properties`: ```ini -mscs-server-url=https://papermc.io/api/v2/projects/paper/versions/1.16.5/builds/438/downloads/paper-1.16.5-438.jar +mscs-server-type=papermc ``` -Set the JAR to use in the world's `mscs.properties`: +That's it. On the next `mscs start` or `mscs update `, MSCS will automatically fetch and +download the latest stable PaperMC build for the current Minecraft version. -```ini -mscs-server-jar=paper-1.16.5.jar -``` +## Properties -Set the server version you want in the world's `mscs.properties`. When you want to update, you can change the version: +| Property | Default | Description | +|---|---|---| +| `mscs-server-type` | `vanilla` | Set to `papermc` to enable PaperMC auto-update | +| `mscs-server-version` | latest stable | Pin to a specific Minecraft version (e.g. `1.21.4`). Omit to always track the latest version supported by PaperMC. | +| `mscs-paper-channel` | `STABLE` | Build channel: `STABLE`, `BETA`, or `ALPHA` | -```ini -mscs-client-version=1.16.5 -mscs-server-version=1.16.5 +## Updating + +Run `mscs update ` to download the latest PaperMC build for the configured version and +channel. To force a full re-download and clear the cached build information: + +```bash +mscs force-update ``` -That's it! When you start the world, it should now be running PaperMC. +## Manual Override -The PaperMC directories will be created in the world folder. +If you need a specific build, you can bypass the auto-update system by setting `mscs-server-url` +explicitly. When this property is set, MSCS uses it directly instead of querying the PaperMC API. -Note: You will need to change these same values whenever you want to upgrade to the latest version. PaperMC is unfortunately no longer providing a stable link to the latest version of their software, so you will need to modify these values by hand. +```ini +mscs-server-type=papermc +mscs-server-version=1.21.4 +mscs-server-jar=paper-1.21.4-116.jar +mscs-server-url=https://fill-data.papermc.io/v1/objects/abc123.../paper-1.21.4-116.jar +``` [papermc]: https://papermc.io/ diff --git a/docs/mscs/updating.md b/docs/mscs/updating.md index f7d4fee..d484d4b 100644 --- a/docs/mscs/updating.md +++ b/docs/mscs/updating.md @@ -47,11 +47,14 @@ latest Minecraft version. Note that you can specify if you want to update to the latest Minecraft snapshot by specifying `mscs-version-type` as `release` (default) or `snapshot` in the world's `mscs.properties`. -### Modded Server +### PaperMC -If you are running a modded Minecraft server (i.e. one where you specified `mscs-server-jar` to something like SpigotMC -or Forge), the `mscs update` command will not work. This is because the `mscs update` command functions by looking at -the `version_manifest.json` file located in `/opt/mscs/version_manifest.json` that is downloaded from Mojang. +If you are running a PaperMC world with `mscs-server-type=papermc`, you can use `mscs update ` just like a +vanilla server. MSCS will automatically fetch and download the latest build from the PaperMC API. See the +[PaperMC guide](adjusting-world-server-properties/papermc) for setup details. -We recommend you follow the instructions listed for [PaperMC](adjusting-world-server-properties/papermc) to update -modded servers, or re-download the mod to the latest version if all else fails. +### Other Modded Servers + +If you are running another modded server (e.g. Forge, SpigotMC, Fabric) where you have manually set `mscs-server-jar`, +the `mscs update` command will not work. You will need to download the updated server JAR manually and update the +relevant properties in `mscs.properties`. diff --git a/index.md b/index.md index 5afb3c3..f638466 100644 --- a/index.md +++ b/index.md @@ -23,7 +23,7 @@ Features include: - Run multiple Minecraft worlds. - Start, stop, and restart single or multiple worlds. - Create, delete, disable, and enable worlds. -- Includes support for additional server types: Forge, BungeeCord, SpigotMC, etc. +- Includes support for additional server types including PaperMC (with automatic updates), Forge, BungeeCord, SpigotMC, and more. - Users automatically notified of important server events. - LSB and systemd compatible init script, allows for seamless integration with your server's startup and shutdown sequences. From e6a38909385051240d18068026ab506d8826a76f Mon Sep 17 00:00:00 2001 From: SuperChewie Date: Fri, 10 Apr 2026 00:16:24 -0500 Subject: [PATCH 2/2] add new mscs options --- .../adjusting-world-server-properties.md | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/docs/mscs/adjusting-world-server-properties/adjusting-world-server-properties.md b/docs/mscs/adjusting-world-server-properties/adjusting-world-server-properties.md index 78aa350..3607a17 100644 --- a/docs/mscs/adjusting-world-server-properties/adjusting-world-server-properties.md +++ b/docs/mscs/adjusting-world-server-properties/adjusting-world-server-properties.md @@ -54,15 +54,27 @@ mscs-location=/opt/mscs ; Location of world files. mscs-worlds-location=/opt/mscs/worlds +; Location of version JSON cache files. +mscs-versions-location=/opt/mscs/versions + ; URL to download the version_manifest.json file. mscs-versions-url=https://launchermeta.mojang.com/mc/game/version_manifest.json ; Location of the version_manifest.json file. -mscs-versions-json=/opt/mscs/version_manifest.json +mscs-versions-json=/opt/mscs/versions/version_manifest.json ; Length in minutes to keep the version_manifest.json file before updating. mscs-versions-duration=30 +; URL to download the PaperMC project information file. +mscs-paper-versions-url=https://fill.papermc.io/v3/projects/paper + +; Location of the PaperMC project information file. +mscs-paper-project-json=/opt/mscs/versions/paper_project.json + +; Default PaperMC build channel (STABLE, BETA, or ALPHA). +mscs-default-paper-channel=STABLE + ; Length in minutes to keep lock files before removing. mscs-lockfile-duration=1440 @@ -275,6 +287,13 @@ mscs-server-command=$JAVA -Xms$INITIAL_MEMORY -Xmx$MAXIMUM_MEMORY $JVM_ARGS -jar ; Restart the server after a crash (default disabled). mscs-restart-after-crash=false + +; Assign the server type (vanilla or papermc). +mscs-server-type=vanilla + +; Assign the PaperMC build channel (STABLE, BETA, or ALPHA). +; Only used when mscs-server-type=papermc. +mscs-paper-channel=STABLE ``` The following variables may be used in some of the values of the above keys: