Java servers; Bedrock compatibility is noted separately · 3 min read

Updating Paper: a rehearsal and rollback with consistent data

The update is checked against a copy of world and plugin data. Reverting to the previous JAR does not undo the migration: a reliable rollback restores the code and data at one point before the update.

LonelyCraft editors · Updated

Desktop with computer and world Minecraft on screen
Illustration: desktop with a computer and world Minecraft on the screen. This is an artistic scene, not a snapshot of a specific server.

Record the source and target versions

Save the output of version, the Java process path, and a list of critical plugins. Download the target JAR from Official Paper Downloads, without replacing the active file. 26.3 will require Java 25; Please check the compatibility of inventory manager, rights, economy and Geyser separately.

Read Paper update rules and release notes for critical plugins. Set the acceptance conditions in advance: personal inventory is saved, the balance is correct, Bedrock is available, the mini-game is completed.

Two sets of status: previous and verified target
The new JAR is verified on a copy; rollback returns the entire previous set, not just one file.Scroll the diagram horizontally.Open full-size diagram

Do an isolated rehearsal

Normally stop the original instance, copy the entire runtime and external databases into a separate set, then, if necessary, start the original one again. The test process should not access production payments, bots, or databases.

In the copy, set the properties below. Disable Geyser for the duration of the local Java test or assign a separate UDP port. Run the copy from its own directory, otherwise the new JAR will open a working world.

server-ip=127.0.0.1
server-port=25566
white-list=true

Accept more than a successful startup

Run a copy of the target JAR and the desired Java. Find loading, migration and world reading errors; login to localhost:25566. Perform a complete control route.

  1. Check the old blocks, chest and named item; change small progress.
  2. Open command without OP; make one purchase and repeat with insufficient money.
  3. Enter the mini-game and exit normally, then disconnect from it and check the return.
  4. Do save-all flush and stop; After running, check the saved result.
  5. If you need Geyser, separately test the real Bedrock input on the test UDP.

Deploy the tested release and keep a rollback point

At the agreed window, stop recording on the working copy and create a final copy. Install the same JAR and settings that went through the rehearsal. Before opening the shared login, repeat critical steps and check for errors after saving.

To rollback, terminate the new process and restore the old data along with the old binaries. An already converted world cannot be considered safe for the old kernel. Once opened to players, restoring the old point will lose new progress: first stop recording and determine the data loss limit.

An archive without a test run does not prove the possibility of a rollback. Check the recoverability of the final copy.

Successful Java input does not accept the bridge and its UDP path. Recheck Bedrock.

Frequently asked questions

Why a separate database if the test is on a different port?

The port isolates the game input, but not the external storage address. Two instances with the same DSN will change the shared data.

Is it possible to return to the old JAR after generating new chunks?

Don't consider this an acceptable rollback. Restore the consistent world point before the update.

We tested one JAR, but downloaded a fresh one before rolling it out - is this the same test?

No. Another assembly requires re-testing. Save the name and hash of the received file.

Views: … · One view per browser per day

Was this useful?Total score: …

One reaction per browser. Click again to remove it, or choose the other reaction.

Sources and documentation

MinecraftMinecraft serveradministration

Read on

Paper Update: Rehearsal and Rollback to Consistent Data - LonelyCraft — Lonely Craft