---
title: How to Install and Configure Velocity with Paper
description: Follow our comprehensive guide to install and configure Velocity on Nodecraft. Learn how to set up Velocity with Paper servers, including essential configurations for secure and smooth server transitions.
source: "https://nodecraft.com/support/games/minecraft/plugins/how-to-install-and-configure-velocity-with-paper"
image: "https://dynamic-assets.nodecraft.com/signedurl/w7vokBAexMnVlnMZ1Q/image.jpg?modifications=W3sibmFtZSI6ImdhbWVfYmciLCJpbWFnZV91cmwiOiJodHRwczovL2Ntcy1hLm5vZGVjcmFmdC5jb20vZi8xMzM5MzIvMjAwMHg1NTAvZGNiMGFkNjkzOC9jYXZlcy1hbmQtY2xpZmZzLXB0LTItMS0yLTAucG5nL20vIn0seyJuYW1lIjoiZ2FtZV9sb2dvIiwiaW1hZ2VfdXJsIjoiaHR0cHM6Ly9jbXMtYS5ub2RlY3JhZnQuY29tL2YvMTMzOTMyLzM3NXgxNTAvM2MxZGIyYmFiNS9taW5lY3JhZnQucG5nL20vIn0seyJuYW1lIjoiY3RhX3RleHQiLCJ0ZXh0IjoiQ3JlYXRlIHlvdXIgb3duIHNlcnZlciEifSx7Im5hbWUiOiJ0ZXh0IiwidGV4dCI6IkhvdyB0byBJbnN0YWxsIGFuZCBDb25maWd1cmUgVmVsb2NpdHkgd2l0aCBQYXBlciJ9XQ&s=15bd18c9c40d21c9f7ce72ed709bce9ab0caf8d630bbfb3f3a14a64b3062a490"
published: "2024-09-06T19:50:18.705Z"
updated: "2024-12-07T01:51:58.000Z"
---

# How to Install and Configure Velocity with Paper

Follow our comprehensive guide to install and configure Velocity on Nodecraft. Learn how to set up Velocity with Paper servers, including essential configurations for secure and smooth server transitions.

Velocity is a high-performance Minecraft proxy, similar to Bungeecord, that allows you to link multiple Minecraft servers together, enabling players to move seamlessly between them. This guide will walk you through the steps to manually install Velocity jar file and setup your sub-servers using Paper as your Minecraft server software, including the necessary configuration changes in the `paper-global.yml` file.

Before we start, ensure you have the following:

- Access to your Nodecraft control panel.
- At least three Minecraft servers available that you want to link together.

## Download the Velocity Jar File

### 1. Visit the Download Page

- Go to the [Velocity Website](https://papermc.io/downloads/velocity) or its [GitHub Releases](https://github.com/PaperMC/Velocity/releases) page and download the latest version of the Velocity jar file to your computer.

### 2. Upload the Jar File

- Access your Nodecraft control panel.
- Navigate to the **Server Files** section of the control panel.
- Upload the downloaded Velocity jar file to the root directory of the server you want to use as the Velocity proxy server.

![Shows the Velocity jar uploaded to the Server Files](https://cms-a.nodecraft.com/f/133932/1516x377/3c6350e2fd/velocity-server-files.png/m/1000x0/smart)

## Configure the Proxy Server

### 1. Set the Server Type

- Go to the **Game Settings** page in your Nodecraft panel.
- Under the **Java Settings** tab, find the **Jar** dropdown menu.
- Select the Velocity jar file from the list.

![Shows the Velocity jar getting selected in the Java Settings](https://cms-a.nodecraft.com/f/133932/1783x881/0dff64b382/velocity-game-settings.png/m/1000x0/smart)

### 2. Start the Velocity Server

- Navigate to the **Console** tab in your Nodecraft panel.
- Start your server. You should see Velocity starting up in the console.

## Configure the Velocity Config File

### 1. Locate the Config File

- After the first startup, Velocity will generate a `velocity.toml` file in the root directory.
- Navigate to the **Server Files** and open the `velocity.toml` file for editing.

![Shows the Velocity jar getting selected in the Java Settings](https://cms-a.nodecraft.com/f/133932/1783x881/0dff64b382/velocity-game-settings.png/m/1000x0/smart)

### 2. Edit the Configuration

- In the `velocity.toml` file, configure the servers to which Velocity will connect. The essential sections are:

```language-javascript
[servers]
hub = "localhost:25565"
survival = "localhost:25566"
```

- Replace `localhost:25565` with the actual IP address and port of your other Minecraft servers. For example, if your hub server runs on port `25565` and your survival server runs on port `25566`, enter those details accordingly.
- If your sub-servers are hosted on different machines, replace `localhost` with the Minecraft server's public IP or hostname.
- Remove any hosts from the `forced-hosts` section of the config unless you plan to have custom host domains.

### 3. Change the Bind Port if Needed

- Locate the `bind` setting in the `velocity.toml` file:

```language-javascript
bind = "0.0.0.0:25577"
```

- Change the `25577` part to match the port where your Velocity proxy should listen. For example, if you want Velocity to run on port `25565`, set it as `0.0.0.0:25565`.

### 4. Set the Forwarding Mode

- Locate the `player-info-forwarding-mode` and configure it as follows:

```language-javascript
player-info-forwarding-mode = "MODERN"
```

### 5. Save the Configuration

- After making your changes, save the `velocity.toml` file.

## Setting Up The Secret Key

You will need to create/generate a secret key/phrase to ensure the connection between the servers and Velocity is secure. By default, this file is `forwarding.secret` unless it was changed in the `velocity.toml`. In this file, you will want to just put either a random password or phrase to ensure no one else can gain access to it!

## Setting Up Your Sub-Servers

To ensure that your other Minecraft servers work correctly with Velocity, you need to configure the `paper-global.yml` file.

### 1. Locate and Edit paper-global.yml

- On each sub-server, go to the **Server Files** and navigate to the `config` directory.
- Open the `paper-global.yml` file for editing.

### 2. Enable Velocity Support

- Find the `velocity` section in the `paper-global.yml` configuration file and configure it as follows:

```language-yaml
velocity:
  enabled: true
  online-mode: true
  secret: "your-secret-key-here"
```

- Ensure that the `secret` key matches exactly with the `forwarding.secret` set on the Velocity side!

### 3. Configure server.properties

- Still, on each sub-server, locate and edit the `server.properties` configuration file.
- Set the server's `online-mode` to `false`:

```language-javascript
online-mode = false
```

- This prevents conflicts with Velocity's online mode setting and allows players to authenticate properly through the Minecraft proxy.

### 4. Restart All Servers

- After making these changes, restart all of your Minecraft servers and the Velocity proxy server.

## Testing Your Setup

1. **Connect to the Proxy:**

  - Launch Minecraft and add your Velocity proxy server's IP address to the multiplayer server list.
  - Connect to the proxy server.
2. **Switch Between Servers:**

  - Use the `/server` command followed by the server's name (e.g., `/server survival`) to switch between the linked sub-servers.
  - Ensure that you can move between the Minecraft servers seamlessly.

## Troubleshooting Tips

- **If you can't connect to a sub-server:** Double-check the IP address and port settings in the `velocity.toml` and ensure the secret keys match across the configurations.
- **If player data isn't transferring correctly:** Ensure that `forward-player-ips` is set to `true` in Velocity's `velocity.toml`, and `velocity` is enabled in the Paper server's `paper-global.yml`.

By following these steps, you should have a fully functional Velocity proxy setup, linking your Paper Minecraft Java servers together!
