---
title: "How to migrate a Minecraft server to a VPS | StreetHosting"
description: "Move world, plugins, configs and LuckPerms to a VPS: the right Java for your version, a dedicated user, systemd, port 25565 in UFW, DNS and an SRV record."
url: "https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps"
type: "page"
language: "en-US"
---

Minecraft · 9 min · Intermediate

Published on Sep 28, 2026 · Updated on Sep 28, 2026

# Migrate your Minecraft server from panel hosting to a VPS, step by step

Moving a Minecraft server to a VPS gives you full control, but it means handling Java, permissions, the firewall and automatic restarts yourself. This guide walks the whole path, from the inventory to the SRV record, without losing the world or your staff permissions.

By [Equipe StreetHosting](https://streethosting.com.br/en/autores#equipe-streethosting) · StreetHosting infrastructure and support team

[Linux administration](https://streethosting.com.br/en/guides/topics/linux) [Migration](https://streethosting.com.br/en/guides/topics/migration) [Databases](https://streethosting.com.br/en/guides/topics/databases) [Minecraft plugins](https://streethosting.com.br/en/guides/topics/plugins)

Summarize with:

[](https://chat.openai.com/?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fminecraft%2Fmigrate-minecraft-server-to-vps.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "ChatGPT") [](https://claude.ai/new?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fminecraft%2Fmigrate-minecraft-server-to-vps.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Claude") [](https://www.google.com/search?udm=50&aep=11&q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fminecraft%2Fmigrate-minecraft-server-to-vps.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Google AI Mode") [](https://x.com/i/grok?text=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fminecraft%2Fmigrate-minecraft-server-to-vps.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Grok") [](https://www.perplexity.ai/search/new?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fminecraft%2Fmigrate-minecraft-server-to-vps.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Perplexity")

Share:

[](https://x.com/intent/tweet?text=How%20to%20migrate%20a%20Minecraft%20server%20to%20a%20VPS&url=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fminecraft%2Fmigrate-minecraft-server-to-vps "Share on X") [](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fminecraft%2Fmigrate-minecraft-server-to-vps "Share on Facebook") [](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fminecraft%2Fmigrate-minecraft-server-to-vps "Share on LinkedIn") [](https://wa.me/?text=How%20to%20migrate%20a%20Minecraft%20server%20to%20a%20VPS%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fminecraft%2Fmigrate-minecraft-server-to-vps "Share on WhatsApp")

For agents: Copy as Markdown [.md](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps.md)

In this guide 8 sections

* [Before you start](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#antes-de-comecar)
* [Prepare the VPS and the right Java](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#java-e-vps)
* [Bring the files over from the old host](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#copiar-arquivos)
* [LuckPerms and plugins with a database](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#luckperms-e-bancos)
* [Keep the server always on with systemd](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#systemd)
* [Open the port in the firewall](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#firewall)
* [Domain, SRV and switch day](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#dns-srv)
* [Which VPS to choose](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#qual-vps)

Quick answer

To **migrate a Minecraft server to a VPS**, install the Java your version needs (21 up to 1.21, 25 from 26.1 onward), create a user just for the game and bring over the jar, the world folders, the plugins folder and the config files. Bring the LuckPerms database along if it does not use the default file, run the server with systemd, open port 25565 in UFW and only then point the domain and the SRV record at the VPS IP.

## Before you start[](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#antes-de-comecar)

On a VPS the whole machine is yours: you can run several servers, a web map, a Discord bot and a database side by side. In exchange, everything the panel did on its own becomes your job: updating the system, looking after the firewall, taking backups and bringing the server back up when it crashes. If the idea is just to play with friends, managed hosting is still the lighter path, and the full comparison is in [VPS or managed hosting for Minecraft](https://streethosting.com.br/en/guides/minecraft/vps-vs-managed-minecraft-hosting).

Decided on the VPS? Then, before touching any file, write down what exists today. This inventory avoids the most common migration surprise, which is discovering that a plugin kept its data outside the folder you copied.

* Exact Minecraft and software version: Paper, Purpur, Fabric or Forge
* List of plugins or mods, each with its installed version
* Which plugins use a database, such as LuckPerms, CoreProtect and economy
* Total size of the server folder
* Current port and the address players use to join
* Extra ports in use: Geyser, voice chat, web map

## Prepare the VPS and the right Java[](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#java-e-vps)

Each Minecraft version requires a minimum Java version. Install the one that matches the server you have today, not the one you plan to use after updating. When in doubt, the first lines of the startup log in the old panel show the game version and the Java version in use.

| Minecraft version | Java required | Note                                                  |
| ----------------- | ------------- | ----------------------------------------------------- |
| 1.18 to 1.20.4    | Java 17       | Common in older modpacks                              |
| 1.20.5 to 1.21.x  | Java 21       | A large share of the Paper servers in use             |
| 26.1 onward       | Java 25       | New 2026 numbering, with a change to the world format |

On a VPS running Ubuntu 24.04, the packages are in the official repositories. The example below installs Java 21 and sets up a system user named minecraft, with no password and no login, that will own the files:

`sudo apt update && sudo apt upgrade -y sudo apt install -y openjdk-21-jre-headless unzip rsync # server on version 26.1 or newer: # sudo apt install -y openjdk-25-jre-headless java -version sudo adduser --system --group --home /opt/minecraft minecraft sudo mkdir -p /opt/minecraft/servidor`

Never run the server as root. A plugin with a security flaw running with full power hands over the entire VPS. The minecraft user exists precisely to limit the damage.

If you would rather set everything up from scratch and only then bring the world over, the clean install walkthrough is in [hosting Paper on a root VPS](https://streethosting.com.br/en/guides/vps/host-paper-minecraft-server-on-vps).

## Bring the files over from the old host[](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#copiar-arquivos)

Shut down the server in the old panel, generate a full backup and download the file. If the panel shows a download link, you can pull it straight onto the VPS with `wget`, which is usually much faster than going through your computer. Check that the backup has all of this:

* **The whole world:** on Paper up to 1.21, the Nether and the End live in separate folders, so bring world, world\_nether and world\_the\_end. Copying only world makes the other dimensions generate from scratch, empty. From 26.1 onward, every dimension lives inside world, in the dimensions folder.
* **The complete plugins folder:** the subfolders hold player data, homes, economy and protections. On Fabric and Forge, the equivalent is the mods and config folders.
* **Root files:**server.properties, bukkit.yml, spigot.yml, Paper's config folder, ops.json, whitelist.json and the ban lists.
* **The server jar:** the same version and the same build that was running before.

With the file in hand, send it to the VPS and unpack it:

`# on your computer scp backup-servidor.zip usuario@IP_DA_VPS:/tmp/ # on the VPS sudo unzip /tmp/backup-servidor.zip -d /opt/minecraft/servidor sudo chown -R minecraft:minecraft /opt/minecraft`

For files of several gigabytes, swap scp for `rsync --partial --progress`: if the connection drops, the copy resumes where it left off. The list of what to copy in any hosting move is in [how to migrate the world to another host](https://streethosting.com.br/en/guides/minecraft/move-minecraft-world-to-another-host).

Migrate on the same version and only update afterwards, at your own pace. Going from 1.21 to 26.1 converts the world to the new format, and there is no way back from that. Mixing the migration with an update leaves you unable to tell which of the two changes broke something.

## LuckPerms and plugins with a database[](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#luckperms-e-bancos)

Most plugins keep their data inside their own folder and reach the VPS along with it. The ones to watch are those that use a MySQL database from the old host. That database is not in the file backup and stops existing when the plan is cancelled.

* **LuckPerms on default storage:** the H2 file lives inside the plugin folder and comes along. Nothing to do.
* **LuckPerms with MySQL:** run `/lp export migracao` on the old server, copy the generated file to the LuckPerms folder on the VPS and run `/lp import migracao` on the new server. It works even if you change the storage type along the way.
* **CoreProtect, economy and others:**export the database as SQL through the old panel's phpMyAdmin, import it into a MariaDB on the VPS and change the database address in each plugin's config.yml to 127.0.0.1.

`sudo apt install -y mariadb-server sudo mariadb -e "CREATE DATABASE minecraft CHARACTER SET utf8mb4;" sudo mariadb -e "CREATE USER 'mc'@'localhost' IDENTIFIED BY 'SENHA_FORTE';" sudo mariadb -e "GRANT ALL PRIVILEGES ON minecraft.* TO 'mc'@'localhost';" sudo mariadb minecraft < banco-antigo.sql`

Groups, prefixes and permission inheritance are explained in [how to set up LuckPerms](https://streethosting.com.br/en/guides/minecraft/luckperms-minecraft-setup). After the first boot on the VPS, log in with a staff member's account and check that the rank and the commands still work.

## Keep the server always on with systemd[](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#systemd)

In the panel, one button started the server and another brought it back after a crash. On the VPS, systemd does that job. Create the file `/etc/systemd/system/minecraft.service`:

`[Unit] Description=Servidor Minecraft After=network-online.target Wants=network-online.target [Service] User=minecraft WorkingDirectory=/opt/minecraft/servidor ExecStart=/usr/lib/jvm/java-21-openjdk-amd64/bin/java -Xms6G -Xmx6G -jar paper.jar --nogui Restart=on-failure RestartSec=15 SuccessExitStatus=143 TimeoutStopSec=90 [Install] WantedBy=multi-user.target`

The full Java path guarantees the right version even with several installed; for 26.1 onward, swap it for `java-25-openjdk-amd64`. Adjust the jar name and the memory: on an 8 GB VPS, 6 GB for the game leaves headroom for the system. When the service stops, the server receives the signal, saves the world and shuts down, and the stop timeout gives that save room to finish.

`sudo systemctl daemon-reload sudo systemctl enable --now minecraft journalctl -u minecraft -f`

On the first boot, follow the log until the line that starts with Done shows up. Error messages about plugins that failed to load almost always point to the wrong Java version or to a plugin that depended on another one left behind. Then join the game and check what players notice most: the spawn, an old home, a staff member's economy balance and a protected chest. If everything matches, the world and the plugin data arrived intact.

Without the panel console, admin commands are now issued in-game by an operator or through RCON, as long as it listens only on 127.0.0.1. Servers with more than 10 GB usually benefit from the Aikar Flags, a set of Java garbage collector parameters that reduces pauses.

## Open the port in the firewall[](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#firewall)

Deny everything by default and open only what the server uses. Keep SSH allowed before enabling the firewall, so you do not lock yourself out:

`sudo ufw default deny incoming sudo ufw allow OpenSSH sudo ufw allow 25565/tcp sudo ufw enable sudo ufw status`

* **Geyser for Bedrock players:** also open `19132/udp`.
* **Simple Voice Chat:** the default port is `24454/udp`.
* **Web map:**prefer publishing it behind Nginx with HTTPS instead of opening the plugin's port to the internet.
* **RCON:** port 25575 must never be open to the internet.

Before telling the players, test joining from outside the VPS, for example from your phone on 4G. A test run from inside the machine itself does not reveal a wrong firewall rule.

## Domain, SRV and switch day[](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#dns-srv)

With the server running and tested through the VPS IP, whitelist still on, it is time to prepare the address. Two days before the switch, lower the TTL on the records to 300 seconds. On the day, the template below lets players join through play.seudominio.com.br without typing a port:

`mc.seudominio.com.br. 300 IN A IP_DA_VPS _minecraft._tcp.play.seudominio.com.br. 300 IN SRV 0 5 25565 mc.seudominio.com.br.`

The SRV target has to be a name with an A record, never an IP. The field by field explanation is in [custom domain for your Minecraft server](https://streethosting.com.br/en/guides/minecraft/minecraft-custom-domain). The order of operations on switch day is this:

1. Announce it on Discord and in-game ahead of time.
2. Shut down the old server and download a final backup.
3. Replace the world folders and the plugins folder on the VPS with the final version.
4. Start the server on the VPS and test it with the staff.
5. Switch the A record to the VPS IP and lift the whitelist.
6. Keep the old server intact for a few days, as a way back.

Announcement schedule, maintenance window and rollback criteria are in [how to migrate a game server without losing players](https://streethosting.com.br/en/guides/infrastructure/migrate-game-server-without-losing-players).

## Which VPS to choose[](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#qual-vps)

Minecraft processes the world on a single main thread, so what weighs most is per-core performance. Ryzen VPS plans use the Ryzen 9 9950X at up to 5.7 GHz with DDR5 memory and NVMe, in São Paulo, with Anti-DDoS included. Remember that the VPS memory is split between the game and the system:

| Ryzen VPS                  | Monthly price | Memory for the game | Good for                                     |
| -------------------------- | ------------- | ------------------- | -------------------------------------------- |
| 4 vCPU, 8 GB, 80 GB NVMe   | R$ 118.00     | About 6 GB          | Survival or SMP with light plugins           |
| 5 vCPU, 12 GB, 120 GB NVMe | R$ 170.00     | About 10 GB         | Lots of plugins and a web map                |
| 6 vCPU, 16 GB, 160 GB NVMe | R$ 222.00     | About 14 GB         | Mid-size modpack or a proxy with two servers |
| 8 vCPU, 24 GB, 240 GB NVMe | R$ 326.00     | About 21 GB         | Network with a lobby and several game modes  |

The [VPS for Minecraft](https://streethosting.com.br/en/vps-minecraft) page sums up what changes when the server leaves the panel, and the VPS is ready within 60 seconds of payment, which lets you test everything before touching DNS. If the server grows, upgrading memory, vCPU and disk is done through the control panel, charging only the prorated difference, with one VM restart.

If along the way you decide you do not want to deal with systemd, the firewall and backups, the [Minecraft Pro](https://streethosting.com.br/en/minecraft-pro) plan starts at R$ 44.00 per month with 4 GB DDR5, and the plan page describes the migration done by the team, with world, plugins and settings transferred at no extra cost.

In this guide

* [Before you start](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#antes-de-comecar)
* [Prepare the VPS and the right Java](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#java-e-vps)
* [Bring the files over from the old host](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#copiar-arquivos)
* [LuckPerms and plugins with a database](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#luckperms-e-bancos)
* [Keep the server always on with systemd](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#systemd)
* [Open the port in the firewall](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#firewall)
* [Domain, SRV and switch day](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#dns-srv)
* [Which VPS to choose](https://streethosting.com.br/en/guides/minecraft/migrate-minecraft-server-to-vps#qual-vps)

## Frequently asked questions

Which Java version should the Minecraft server use on the VPS?

Java 21 for versions 1.20.5 through 1.21.x and Java 25 for 26.1 onward, which use the new numbering. Versions between 1.18 and 1.20.4 run on Java 17. On Ubuntu 24.04 all three are in the official repositories and can coexist on the same VPS.

Which folders do I copy so I don't lose the server world?

On Paper up to version 1.21, copy world, world\_nether and world\_the\_end, because the Nether and the End live in separate folders. From 26.1 onward every dimension lives inside world. Also bring the whole plugins folder and the config files from the server root.

How do I migrate LuckPerms permissions to the VPS?

If LuckPerms uses the default file storage, it comes along with the plugin folder. If it uses the old host's MySQL, export the database and import it into a MariaDB on the VPS, or use LuckPerms' own export command and import the generated file on the new server.

Do players need to change the server address?

Not if they join through a domain. Just point the A record at the VPS IP and keep the SRV record with the right port. Anyone using the old numeric IP needs to receive the new address, which is why it pays to publicize the domain weeks before the move.

How much RAM should I leave for Minecraft on a VPS?

Reserve 1.5 to 2 GB for the system and use the rest as the Java memory limit. On an 8 GB VPS, something close to 6 GB for the server works well. If the database or a web map runs on the same machine, leave a bit more headroom.

Next step

VPS for Minecraft

Ryzen 9 VPS with root access, NVMe and Anti-DDoS to run Minecraft your way.

[VPS for Minecraft](https://streethosting.com.br/en/vps-minecraft)

[See Ryzen VPS Ryzen 9 9950X VPS in São Paulo with root access, NVMe and gamer Anti-DDoS.](https://streethosting.com.br/en/vps/ryzen) [See Minecraft Pro Managed hosting on Ryzen with modpacks, optimized Paper and technical support.](https://streethosting.com.br/en/minecraft-pro)

## Related guides

[VPS Advanced Host a Paper Minecraft server on a root VPS: full manual guide A root VPS puts the Minecraft server in your hands: Java, jar, port, automatic restarts, and security. This manual guide covers the whole path from a clean Ubuntu install to Paper online in production in Brazil. 5 min Read guide](https://streethosting.com.br/en/guides/vps/host-paper-minecraft-server-on-vps) [Minecraft Beginner How to move a Minecraft world to another host Switching hosts does not mean starting over. With a backup, the right order and a test run before you reopen, you can move your world and configs safely. 2 min Read guide](https://streethosting.com.br/en/guides/minecraft/move-minecraft-world-to-another-host) [Minecraft Intermediate Custom domain for a Minecraft server: DNS and SRV A numeric IP works, but your own domain builds trust and makes a future migration easier. The trick is the SRV record on the right port. 2 min Read guide](https://streethosting.com.br/en/guides/minecraft/minecraft-custom-domain)

[← Back to the Guide Center](https://streethosting.com.br/en/guides)
