# How To Setup Velocity

##### **Where to get Velocity server jar?**

The official version of Velocity can be found [here](https://papermc.io/software/velocity)

A fork I (MelonOof) would recommend is [this one](https://github.com/GemstoneGG/Velocity-CTD/releases/tag/Releases) (download the one named in the following format: <span class="Truncate-text text-bold" data-view-component="true">velocity-proxy-**{version}**-all.jar if you are planning on choosing this one)</span>

##### **<span class="Truncate-text text-bold" data-view-component="true">How to install the server jar for the first time</span>**

<span class="Truncate-text text-bold" data-view-component="true">Access to the server's [panel](https://panel.alienhost.net/)</span>

<span class="Truncate-text text-bold" data-view-component="true">Go to your file manager and upload the downloaded jar file.</span>

<span class="Truncate-text text-bold" data-view-component="true">Make sure its name matches the **server jar file** variable in the startup page.</span>

<span class="Truncate-text text-bold" data-view-component="true">Next start your server, after some seconds, every file will generate.</span>

##### **<span class="Truncate-text text-bold" data-view-component="true">Adding Backend Servers</span>**

<span class="Truncate-text text-bold" data-view-component="true">Press **CTRL + F** and search for `[servers]`</span>

You'll find something similiar:

```yaml
[servers]
# Configure your servers here. Each key represents the server's name, and the value
# represents the IP address of the server to connect to.
lobby = "127.0.0.1:30066"
factions = "127.0.0.1:30067"
minigames = "127.0.0.1:30068"
```

You can delete those if you needed, but if they are adequate, just replace the IP address between the quotation marks.

Or if you want to add a new server, add a new line and on that line write the information regarding your backend. Example:

`survival = "127.0.0.1:25565"` (makes sure the backend's actual IP address and port)

You'll have something like this:

```yaml
[servers]
# Configure your servers here. Each key represents the server's name, and the value
# represents the IP address of the server to connect to.
lobby = "127.0.0.1:30066"
factions = "127.0.0.1:30067"
minigames = "127.0.0.1:30068"
survival = "127.0.0.1:25565"
```

##### **The last steps on velocity**

<span class="Truncate-text text-bold" data-view-component="true">Press **CTRL + F** and search for `player-info-forwarding-mode`</span>

<span class="Truncate-text text-bold" data-view-component="true">By default it's set to "**none**" we recommend you to set it to "**modern**". Do note that the proxy won't support versions below 1.13, nor clients below 1.13, if you want to support such versions you may want to use **"bungeeguard"** forwarding at your own risk, as we won't cover it within this guide.</span>

<span class="Truncate-text text-bold" data-view-component="true">After setting the forwarding mode to **modern**, copy the string within **forwarding.secret** file.</span>

##### **Configuring the backend**  


In the file manager follow the following folders path: `/config/paper-global.yml`. Open the paper-global.yml

**CTRL + F**  and search for `velocity` you'll find something similiar to this:

```yaml
proxies:
  bungee-cord:
    online-mode: true
  proxy-protocol: false
  velocity:
    enabled: false
    online-mode: false
    secret: ''
```

Here set `enabled to true` (the one on line 6 in this scenario), set `online-mode to true` if it isn't already and within the single quote marks paste the content you copied from the **forwarding.secret** file from the proxy.

Go back to the main directory and access the **server.properties**.

Set `online-mode=true` to `online-mode=false`

##### **Add other backends**

Follow the steps from **<span class="Truncate-text text-bold" data-view-component="true">Adding Backend Servers </span>**<span class="Truncate-text text-bold" data-view-component="true">to **Configuring the backend**</span>