Recommended Free Tools
Upgrading a Minecraft server from Java 21 to Java 25 is a runtime change: install a 64-bit Java 25 distribution, point the server’s launch environment at it, verify the process is really using it, and then test the server before reopening it. It does not convert a world, update the Minecraft server JAR, or make plugins and mods compatible automatically.
Prefer not to run the server on your own PC? Godlike.Host offers hosted Minecraft Java servers with free DDoS protection and up to three free backups a day.
For Paper, the current requirements table lists Java 21 for Minecraft 1.20 through 1.21.11 and Java 25 for Minecraft 26.1 and newer. If your server is still on a version that supports Java 21, do not upgrade solely because Java 25 exists. First confirm the server implementation and Minecraft version, then plan the runtime and server-software changes as separate operations.
As an Amazon Associate I earn from qualifying purchases.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesCheck whether Java 25 is required
The correct Java version depends on the server implementation and the Minecraft version, not simply on the newest JDK available. Paper’s current table gives this baseline:
| Minecraft version | Paper Java requirement shown in the current table | What to do |
|---|---|---|
| 1.20 through 1.21.11 | Java 21 | Remain on Java 21 unless your specific build or operating environment supports and benefits from a tested move to Java 25. |
| 26.1 and newer | Java 25 | Install and select a 64-bit Java 25 runtime before starting the server. |
This table is specific to Paper. Vanilla, Fabric, Forge and other server software can publish different requirements, so check the requirement for the exact server JAR you run. A newer Java installation does not, by itself, require a server change. Conversely, installing Java 25 does not satisfy a missing server-software upgrade: a Paper, Vanilla, Fabric or Forge JAR must still be replaced separately when you move to a new Minecraft release.
#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
Do not confuse client and server requirements. Minecraft’s July 21, 2026 announcement about client system requirements concerns the hardware and software used by players. It is not a Java requirement for a dedicated server.
Understand what the upgrade changes
Java is the runtime that executes the server process. Replacing Java 21 with Java 25 changes that execution environment while leaving the server files untouched. The following items are independent:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
- Java runtime: the executable and libraries used to launch the process.
- Server software: the Minecraft server JAR, such as a Paper build, plus its startup arguments.
- World data: region files, player data, dimensions, and generated terrain.
- Extensions: plugins, mods, datapacks and configuration files.
A Java replacement does not migrate a world or upgrade its data format. It also does not update Paper, Vanilla, Fabric, Forge, plugins or mods. Follow the release notes for each server-software upgrade, and test extensions against the target combination rather than assuming that a plugin that worked on Java 21 will work on Java 25.
Record the current installation before changing it
Make a short inventory while the server still runs normally. This gives you a known-good reference when startup output changes after the migration.
- Record the Minecraft version and the exact server implementation and build.
- Copy the complete startup command, including memory flags, JAR name, and options such as
--nogui. - Record the Java binary currently used. Run
java -versionin the same context that normally launches the server, and note the path if your script or service specifies one. - List installed plugins or mods, datapacks, scheduled tasks, and any custom Java arguments.
- For a control panel, record the selected Docker image, startup command, environment variables, and server identifier.
- Save a clean console log from a successful Java 21 start. Keep it available for comparison after the change.
The “same context” detail matters. An interactive shell may resolve one Java binary from its PATH, while a system service, container, or panel uses another binary and another environment.
Stop the server and make a complete backup
Stop the server cleanly before replacing a runtime, server JAR or panel image. Wait for the save and shutdown messages to finish; do not copy a world while region files are still being written.
Create a full copy of the server directory to storage separate from the live installation. Include all of the following:
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
- Every world and dimension directory.
server.properties, the allowlist and operator files, and any other root-level configuration.- Plugin or mod directories, their configuration files, libraries and generated data.
- Datapacks, scripts, scheduled-task definitions and custom resource files used by the server.
- Logs and the startup script or service definition.
An external SSD is a practical physical destination for the copy. Label it with the date, Minecraft version, server build and Java version. Do not delete the Java 21 installation or the pre-upgrade backup until the new process has passed operational checks.
Install a 64-bit Java 25 runtime
Install a 64-bit OpenJDK 25 distribution appropriate for the operating system that hosts the server. The distribution must be available to the account, container or panel that launches the process; installing it only for a different desktop user will not change the server.
After installation, identify the Java 25 executable. On a machine with multiple JDKs, prefer an absolute path rather than relying on whichever java command happens to appear first in PATH. A typical Linux-style path might be /opt/jdk-25/bin/java; use the actual path created by your distribution.
Verify the installation before touching the server command:
/opt/jdk-25/bin/java -version
The expected result begins with openjdk version "25" and identifies a 64-bit virtual machine. Exact vendor wording can differ, but the major version must be 25 and the VM must be 64-bit. If the command reports 21, points to a different installation, or cannot be found, correct that first.
Point a self-hosted launcher or service at Java 25
Shell script or direct command
Replace only the Java executable in your existing command and preserve the tested memory settings and server arguments. For example:
/opt/jdk-25/bin/java -Xms4G -Xmx4G -jar paper.jar --nogui
The equivalent command using the active PATH is:
java -Xms4G -Xmx4G -jar paper.jar --nogui
Use the absolute form when Java 21 and Java 25 are installed together. Do not change -Xms, -Xmx, garbage-collector options, or other arguments at the same time unless you have a separate reason and a rollback plan. Changing one variable makes failures easier to diagnose.
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
Service manager
If the server starts through a service unit, scheduled task or supervisor, update the executable configured by that service or its JAVA_HOME. Updating your personal shell profile is not enough if the service runs as another account. Restart or reload the service configuration as required by the operating system, then run the version check from the service’s environment or inspect its startup log. The goal is to prove that the long-running process—not merely your terminal—is using Java 25.
Multiple installations and permissions
Ensure the service account can read and execute the Java 25 files and the server directory. A correct path with insufficient permissions fails before Minecraft can start. Conversely, leaving Java 21 installed is useful for rollback and does not cause a problem when the launch command names Java 25 explicitly.
Select Java 25 in Pterodactyl
Pterodactyl chooses Java through the container image rather than through the host shell’s PATH. In the server’s Startup settings, open the Docker Image selector and choose the image labeled Java 25. Older Pterodactyl installations may require an administrator account to change the image.
- Stop the server from the panel.
- Confirm that the complete server-directory backup is finished.
- Open the server’s Startup page.
- Choose the Docker image that specifies Java 25.
- Leave the existing memory allocation, JAR selection and startup arguments unchanged for the first test.
- Start the server and inspect the complete console output for the Java version and errors.
The panel image is a runtime selection; it is not a Minecraft-version upgrade. If you also need a new Paper or other server JAR, schedule and test that as a separate change.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Select Java 25 in PufferPanel
For a Docker-based PufferPanel server, change the image tag in the server definition. Administrative permissions are required.
- Stop the server and complete the external backup.
- Open the server definition and its Environment settings.
- Find the Docker image version tag and replace it with
25. - Save the definition without changing unrelated variables.
- Start the server and verify the runtime from the resulting console or an equivalent command executed inside the launch environment.
As with Pterodactyl, changing the Docker tag selects Java 25 but does not replace the Minecraft server JAR or alter world data.
Verify Java from the environment that actually launches Minecraft
Run java -version from the same shell, service unit, container or panel environment used for production startup. The check should show Java/OpenJDK 25 and a 64-bit VM. A check from an administrator terminal cannot prove that a panel container selected the intended image.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
If the output still reports Java 21:
- Inspect the startup script for an absolute Java 21 path.
- Check the service definition’s executable and
JAVA_HOME. - Confirm that the panel saved the new image or tag and that the server was recreated or restarted using it.
- Look for multiple containers or nodes; you may have changed a definition that is not hosting the live instance.
- Run the command as the same operating-system user that owns the server process.
After correcting the launch context, repeat the check before starting a production world.
Start in a controlled test and validate the server
Start with the existing memory settings and the same JAR and arguments used on Java 21. Read the complete startup log, not just the final “done” line.
Check for runtime and extension failures
- Class-version or unsupported-Java errors indicate that the selected runtime and server build do not agree.
- Plugin or mod exceptions can identify extensions that need an updated release or configuration.
- Datapack errors can prevent a world from loading correctly even when the Java process itself starts.
- Authentication, binding and port errors are separate from the Java migration and must be diagnosed independently.
Exercise the important paths
Join with an administrator account after the console reports that the server is ready. Inspect each world and dimension, teleport to representative areas, and run critical administrative commands. Check permissions, scheduled jobs, backups, redstone-heavy areas and any integrations that matter to your community. Review plugin or mod health messages rather than treating a successful process start as proof of compatibility.
Keep the server closed to ordinary players during this validation window. If the server is large or heavily modded, stage the test on a copy of the world first and promote the tested configuration only after it behaves as expected.
Upgrade the Minecraft server software separately
If Java 25 is required because you are moving to Minecraft 26.1 or a newer release, plan two linked but distinct changes:
- Upgrade the server implementation and JAR according to its release notes, with the required world and configuration precautions.
- Run that target JAR with the Java 25 runtime and test plugins, mods and datapacks against the new combination.
Do not infer that a Java 25 launch has upgraded a Java 21-era Paper build. Conversely, do not replace a server JAR merely because Java 25 is installed. Keeping the operations separate makes it clear whether a failure came from the runtime, the server software, a world conversion, or an extension.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Keep a rollback path
Rollback is simplest when the original executable, panel image and files remain available. If the new process fails:
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
- Stop the failed server and preserve its log.
- Determine whether the failure occurs before Minecraft starts, during server initialization, while loading a world, or inside a plugin or mod.
- For a runtime-only failure, restore the Java 21 executable or the previous panel image and start the unchanged server files.
- If the server JAR or world data was also changed, restore the pre-upgrade backup rather than mixing files from different versions.
- Reproduce the problem on a disposable copy before attempting another production start.
Restore only after identifying what changed. Replacing a working Java 25 runtime with Java 21 will not fix a server JAR that now requires Java 25, and restoring only selected world files can create an inconsistent save.
Choose the upgrade path that matches your control
| Hosting model | Who controls Java | How Java 25 is selected | Backup and rollback access | Testing consideration |
|---|---|---|---|---|
| Self-hosted shell or service | The host administrator and service definition | Absolute Java 25 path, or the service’s JAVA_HOME and executable setting |
Direct access to the server directory, service files and both JDK installations | Verify from the service account, not only an interactive shell. |
| Pterodactyl | The panel’s Docker image and, on some installations, an administrator | Startup → Docker Image → Java 25 | Panel file access plus host or container backup procedures | Confirm the saved image is the one used by the live server. |
| PufferPanel with Docker | The server definition and Docker image tag | Server definition → Environment → image tag 25 |
Panel-defined storage and administrator-controlled image settings | Verify the container recreated with the new tag. |
In every model, the server JAR is upgraded separately, the backup should be external to the live files, and plugin or mod testing should happen before public access.
Common symptoms and their likely causes
The panel or console still reports Java 21
The launcher is resolving an old path, the panel image was not saved, or the command was checked outside the production context. Inspect the exact executable or image used by the running process and repeat java -version there.
The server refuses to start with a class-version message
The JAR may require a different Java major version than the runtime selected, or the launch command may still be invoking another JDK. Confirm the server implementation’s requirement, the actual Java output, and the executable path before changing any other setting.
The server starts but a plugin or mod fails
Java compatibility is not guaranteed for every third-party extension. Read the extension’s exception and compatibility notes, test an updated release on a copy, and avoid opening the server publicly until essential functions work.
Free tools Windows power users keep installed
One-click scans. No signup required.
The world appears damaged after the change
Stop immediately and preserve the current log and files. Determine whether a server-software or world-data upgrade occurred in addition to the Java change. Use the complete pre-upgrade backup for recovery rather than selectively replacing unknown files.
Memory or performance behavior changes
Keep the previous -Xms and -Xmx values for the first Java 25 run. No independent performance benchmark establishes a universal gain from this migration, so judge the result using your own startup logs, tick behavior and monitoring after compatibility is confirmed.
Quick Recap
Final readiness checklist
- The server implementation and Minecraft version have been checked against their Java requirement.
- The current command, Java path, memory flags, extensions, panel image and logs are recorded.
- The server was stopped cleanly and the entire server directory was copied to separate storage.
- A 64-bit OpenJDK 25 runtime is installed and reports major version 25.
- The shell, service, Pterodactyl image or PufferPanel tag that launches production now selects Java 25.
- The server JAR and world files were not assumed to be upgraded by the runtime change.
- Startup logs, worlds, administrator commands and critical plugins or mods have been tested.
- Java 21 and the pre-upgrade backup remain available until the validation period is complete.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




