# Home

### **Welcome to the Ember Host Docs!**

You'll find useful information here about running your server and also our answers to frequently asked questions! To the left of your screen you can find the pages of documentation written - and for the sake of navigation, each page is even divided up into sections.

{% embed url="<https://ember.host>" %}
Click here to go back to our website!
{% endembed %}

### **You might see these:**

`Value` - Often a 'variable' you need to change or just something you should pay attention to.

[Orange Text](https://ember.host) means it's a link and may lead to external websites.

{% hint style="info" %}
**Info hints** are for showing general information, or providing tips and tricks.
{% endhint %}

{% hint style="success" %}
**Success hints** are for showing positive actions that you should take.
{% endhint %}

{% hint style="warning" %}
**Warning hints** are for showing important information or non-critical warnings.
{% endhint %}

{% hint style="danger" %}
**Danger hints** are for highlighting destructive actions or raising attention to critical information.
{% endhint %}


# Advertising

How to get more players on your server!

### How To Get Players On Your Minecraft Server <a href="#how-to-get-players-on-your-minecraft-server" id="how-to-get-players-on-your-minecraft-server"></a>

We all know that playing on a Minecraft Server with no players online is boring. And we all know that most server owners dream of having not only the best Minecraft server, but the biggest one too! So, we've compiled a list of things you can do and set up to help advertise and grow your server.

### Methods <a href="#a-dvertising-your-server" id="a-dvertising-your-server"></a>

#### Server Lists <a href="#server-list" id="server-list"></a>

The easiest and arguably the most effective way to get players on your Minecraft Server is by posting your server on a public server list. Minecraft Server Lists are essentially popular websites which lists servers for new players to find and join! Apart from having sponsored slots, these are largely broken down by the highest amount of votes: you can climb the lists and rank higher by setting up a voting plugin.

Even if you're not ranked at the top, lists generally will put your server into a category called “New Servers” when you first add your server. This gives your new server a bump and you might just see an influx of members on the first day that you upload it to lists. Expect a snowball effect: once you start up your community, these players will advertise your server to their friends, vote for your server, and play on it, all of which will only further boost your playercount.

#### Popular Minecraft Server Lists <a href="#development" id="development"></a>

[FindMCServer](https://findmcserver.com) (The Official Minecraft Server List)

[Minecraft Server List](https://minecraft-server-list.com)

[Minecraft MP](https://minecraft-mp.com/)

[Minecraft Servers](https://minecraftservers.org/)

[TopG](https://topg.org)

[Top Minecraft Servers](https://topminecraftservers.org)

[VoteMC](http://votemc.com/)

#### Voting Plugin & NuVotifier <a href="#voting-plugin" id="voting-plugin"></a>

As mentioned above, if you have added your Minecraft Server to a server list, voting is going to be one of the most vital parts of your server. Many server owners will set up rewards for the player base if they vote - this creates a huge demand for players to vote each day - in turn, it helps your server climb the ranking on Minecraft server lists.

If you want to set up voting on your server, you will need to use and set up [VotingPlugin](https://www.spigotmc.org/resources/votingplugin.15358/) and [NuVotifier](https://www.spigotmc.org/resources/nuvotifier.13449/).

#### Social Media <a href="#development" id="development"></a>

Another effective way to advertise is by pushing your server out there through social media platforms like YouTube, TikTok, Instagram or even Reddit.

Creating short and fun clips showing off your server - or even following trends for server promotion - can be highly effective if used correctly on video platforms. Alternatively, using longer form content, like server trailers, might also work well on YouTube. Not only does it promote your server, but as you post more content, you gather an audience - whether that be followers or subscribers - meaning as time goes on, your content will reach more and more people.

As for Reddit, posting a description of your server as an advert on many subreddits dedicated to advertising may also work well. It all depends on how unique, fun, and interesting your server is!\
\
Remember, these forms of advertising are free for anyone to use: how much time and effort you put in will likely translate to how successful you'll be.

#### Development <a href="#development" id="development"></a>

Probably the most vital part of having a successful server is simply having proper development. Just as you wouldn't want to play on a server that’s poorly made, neither would others. Having only a large outreach is *not* enough, as these players won't stick around for very long if your server doesn't have a strong setup. So take your time to craft your server well before releasing it to the public!

There's countless game modes you can choose from, and you'd do even better if you go down the routes of adding a unique twist and blend of features: this is what will set you apart from others.

Here at Ember Host, we understand how difficult it can be to set up a successful Minecraft server. That is why this documentation page exists! If you want more help, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your server!

{% embed url="<https://ember.host>" %}


# Binary Search

Troubleshooting when an unexpected issue occurs!

### **Why Would I Need This?**

Whilst running a Minecraft server, a common issue is that unexpected behaviour is happening to the gameplay, a feature, or simply that something is not working at all - there's a bug. When you are certain an issue is not caused by the server software you are running (e.g. one of Purpur's configuration options), but rather, a plugin - but are not sure which plugin is the culprit - this is the time to conduct a binary search to quickly find the issue.

### **Step 1**

Be sure that your unexpected behaviour is not caused by your server software (e.g. forks of Paper like Purpur or Pufferfish). You can check by switching back to Paper if you're unsure. Make sure you've eliminated other external factors too: this includes startup flags, database details, open ports, and more!

### Step 2 <a href="#step-1" id="step-1"></a>

Remove half of your plugins. To do this, select the plugins and move them outside of the `plugins` folder or delete them. After this, restart your server.

### Step 3 <a href="#step-2" id="step-2"></a>

If the problem is still occurring, now you know the bug lies within the remaining half of your plugins still installed. If you're still unsure which plugin is the issue, remove half of the remaining plugins again. On the other hand, if the problem has disappeared, you know the problem lies within the half of plugins you removed. In the same way, if you still don't know which one is the culprit, add back half of the removed plugins and restart your server again.

### Step 4 <a href="#step-3" id="step-3"></a>

You get the idea! Keep cutting things in half until you find the problematic plugin. This method is much faster than removing plugins one by one to check.

<figure><img src="/files/opNqD3sHEaua6oaKfV4c" alt=""><figcaption><p>Binary vs sequential search</p></figcaption></figure>

If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your s

{% embed url="<https://ember.host>" %}


# BungeeCord Network

How to link servers together with BungeeCord!

### **Why Would I Need This?**

When setting up a Minecraft server, you may want to have multiple accessible worlds. This can be accomplished by having each word/gamemode on a separate server, which is then all connected by a **proxy**. The proxy is what will be your players actually connect to - however, it does not actually run a 'real' server software on it. Interested? Read on...

{% hint style="warning" %}
**Waterfall** is now officially no longer maintained or supported by the PaperMC team. You should use [Velocity](/server-management/velocity-network) instead. You can read their announcement [here](https://forums.papermc.io/threads/announcing-the-end-of-life-of-waterfall.1088/).
{% endhint %}

### **Download & Configuration**

Firstly, it's important to note we actually recommend using [Waterfall](https://papermc.io/downloads#Waterfall). Why? It's an actively maintained fork of BungeeCord by the PaperMC team which brings about both increased performance and numerous bug fixes! After you download the JAR file, upload it to your server and hit the restart button.

After the configuration files have been generated, open the `config.yml` and define the name, IP address, and port for each server you'd like to be a part of your network. Remember to set the 'main' port that you want users to connect with to be opened for the **proxy** server. You will also need to set the `ip_forward` configuration option to true in this file. For more information, read the [Waterfall configuration docs](https://paper.readthedocs.io/en/latest/waterfall/configuration.html).

Only some minor configuration needs to be done to your backend servers - the ones which BungeeCord/Waterfall actually sends your players to! Start by setting `online-mode` to `false` in each of your **backend** servers. You can find this setting in the `server.properties` file. Then, edit your `spigot.yml` files in said servers and change the option named `bungeecord` to `true`. Upon saving these edits, restart your backend servers to implement the changes.

### **Security**

There exists a BungeeCord (and thus Waterfall) UUID spoof exploit which allows users to join any of your backend servers without authenticating through the BungeeCord proxy - meaning they can join your server as any user. Thus, we recommend for you to download [BungeeGuard](https://www.spigotmc.org/resources/bungeeguard.79601/). Start by uploading the JAR into file to **both** your proxy and backend servers before restarting them. After you have restarted the servers you installed BungeeGuard on, locate your **proxy** server's BungeeGuard `config.yml` and copy the authentication token. Paste this authentication token into your **backend** server's BungeeGuard `config.yml` file.

Restart all your servers one last time and see if everything is working properly!

If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your s

{% embed url="<https://ember.host>" %}


# Domains

Want a custom server address/IP? Look no further!

### Introduction

By purchasing a domain, you can make your server look more professional and make its connection details far easier to remember! The list of recommended domain registrars are as follows:

[Cloudflare](https://www.cloudflare.com/products/registrar/) | [GoDaddy](https://www.godaddy.com/) | [Namecheap](https://www.namecheap.com) | [Porkbun](https://porkbun.com)

However, the guide below will be using **Cloudflare**'s terminology.

### A Record Setup

Once you have purchased your domain, head over to your registrar and add a new DNS record while selecting `A Record`. Then, put any value in the box under `Name` and put in the server's numerical IP as the `value` it will point to. Remember to leave TTL to `automatic`. If you're using Cloudflare, remember to turn the proxy status (orange cloud) off. That's all! Just wait a while until the DNS propagates and you'll be able to join your server with your very own subdomain!

{% hint style="info" %}
**Subdomains**

The word you choose to put in the `Name` section will decide your subdomain. If you owned `minecraftserver.com`, and you put the word `play` in the `host` box, your subdomain that players can use connect to your server would then be `play.minecaftserver.com`.
{% endhint %}

### SRV Record Setup

Alternatively, if you do not have a dedicated IP, you can follow these steps. Follow the setup instructions above first to setup `A Record`, then add a new DNS record and select `SRV`. Your service should be `_minecraft`, the protocol `TCP`, TTL on `auto`, and priority and weight `0`. Replace the port field with the port that your server uses, and replace the target field with the subdomain/domain your server uses - it should be what you set the `A Record` to be. You're finished! Now you should be able to connect to your server using `anything.example.domainending` - you will also no longer need the port when connecting.

### Ember Host Subdomain

If you do not want to purchase a domain to customise your server join address, you can still do it for free by using our subdomains feature directly in our [panel](https://panel.ember.host)! Simply head to the subdomains section on the sidebar and type in whatever you want to let players to connect with (`xxx.emberhost.net`).

If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your server!

{% embed url="<https://ember.host>" %}


# How To Make a 26.2 Minecraft Server

How to make any Minecraft server, from Minecraft 1.8 to Minecraft 26.2!

Do you want Sulphur Cubes on your Minecraft server? What about 1.8 style PvP? Or, maybe you just really want that End Update modpack. So, here's an easy guide on how to set up your own Minecraft server in under 5 minutes. **You can have your own infinitely customizable Minecraft server.**

A simple step-by-step guide:

1. Head to <https://ember.host>.
2. Browse around, and click on the plan you want.
3. Checkout.
4. You're done! After your purchase, you will receive an email, and you'll be able to access <https://panel.ember.host> — from there, you can start your server any time, stop your server any time, add mods to your server, add plugins to your server, run any software and any Minecraft version on your server, have unlimited players play on your server (or, have it whitelist only), and more! The possibilities are endless.

With Ember Host, you can build a massive network like Hypixel, or just make a simple SMP that's just for your friends — all while being cheaper, faster, and more configurable than Realms.

If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your server!

{% embed url="<https://ember.host>" %}


# Importing Servers

Want to transfer your data from your old server to us? Here's how!

### **Introduction**

Server importing should be relatively easy and simple, but you have to make sure you do every step properly to ensure smooth sailing. Once imported, **every single server file will be transferred** - this includes player data, plugin data, world configurations, to name a few. The only changes you may need to make after transferring is to re-setup your domain and/or to make some port changes.

### Importing With Staff Help

{% hint style="danger" %}
**Warning!**

Beware of file corruption! Don't modify any files or start your server (on either your old server or on your Ember Host server) whilst we're importing. If you're wondering if it's safe to do something, feel free to ask us.
{% endhint %}

1. Start by stopping your (old) server. This is crucial to prevent any type of file corruption. Then, if your server is relatively large (e.g. over 20GB), zip/archive all your files. That will make the importing process much faster!
2. Create a ticket on our [Discord](https://ember.host/discord) and send your FTP or SFTP details, including your host, port, username and password. Do also specify if using FTP or SFTP.
3. You're done! We'll start importing your server as soon as possible. Do not start your server (on either your old host or Ember Host) until we let you know that the import is done!
4. Once we let you know your server is imported, you can reconfigure anything needed - which should only be ports and/or your domain, if anything.
5. Start your server! Everything should now be working.

We recommend also scheduling sufficient downtime with your community! This way, you'll have enough time to test and check that everything is working before you re-open your server to the public.

If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your server!

{% embed url="<https://ember.host>" %}


# Server Icon

How to set an icon for your Minecraft server!

### Introduction

There are two ways to set an icon for your Minecraft server: automatically \[via the set icon feature in the Ember Panel] or manually. Thus, this guide is split into two: one for those who want a quick automatic setup, or those who want more control and detail over their icon. If you want a more tailored and fitting icon, consider creating and uploading your icon manually.

### Automatic Setup

Prepare an PNG or JPG image on your computer, go to our web panel, click the files tab, and click this button:

<figure><img src="/files/kw39porJx75EeyygfC6x" alt=""><figcaption></figcaption></figure>

Upload the image from your computer, and that's it! A Minecraft server icon is 64 x 64 pixels, so any image with too high a resolution will be binned down to that resolution. Restart your server and you'll see your new icon.

### **Manual Setup Requirements**

1. You need an image that is 64 x 64 pixels. (Try using <https://genfavicon.com> to resize your icon/image if it isn't!)
2. The image must be in PNG format.
3. The image must be named `server-icon.png`.

### Setup

Start by either connecting your server via SFTP or in the 'files' tab on the web panel. If you're unsure how to manage your files, check out [our page on file management](/ember-panel/file-management).

Once you have gone to the files tab (or successfully connected to your server via SFTP), upload your 64 x 64 server icon named `server-icon.png` to your server's home directory. This means that it should not be uploaded into any particular folder!

After you've uploaded the image, just restart your server and the changes should be applied. Enjoy your server's new icon!

If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your server!

{% embed url="<https://ember.host>" %}


# Server Optimization

How to fix lag on your Minecraft server!

### **Ember Host Optimization Guide**

The first thing to keep in mind is that there is no "best" configuration. These values will only improve performance to a certain degree — you should increase or decrease them to adjust to your server’s needs. However, it should be noted that the values provided below aim to be close to vanilla as possible, unlike certain more aggressive guides. Anyhow, this is our guide to fixing lag on your Minecraft server!

### **Server Software**

{% hint style="info" %}
**Note:**\
Before you check out our recommended server softwares, please note the given playercounts do **not** apply to everyone! They're just a generic estimate: how many players your specific server can handle will differ.
{% endhint %}

<10 players - [Vanilla](https://www.minecraft.net/en-us/download/server/) | Standard Minecraft software distributed by Mojang.

15-50 players - [Paper](https://papermc.io/) (recommended) | Actively provides dupe and bug fixes over vanilla Minecraft. It contains many optimization patches and is designed with performance in mind.

50+ players - [Pufferfish](https://ci.pufferfish.host/view/all/builds) | Contains optimizations Paper doesn't want to add. Not recommended unless you have a very large server and require the extra performance. Some features will break more mechanics you're used to!

50+ players - [Purpur](https://purpurmc.org/) | Purpur is based off Pufferfish, meaning it contains all of its extra optimizations. Purpur is known for all its configuration options (e.g. rideable mobs)! You should use Purpur if you need its configuration options. Not recommended if you generally want a vanilla Minecraft experience.

### **Chunk Settings**

`server.properties - view-distance: 7` The view distance option is the most impactful option on server performance. This option controls how many chunks the server will load around players and how far they will be able to see. For servers with under 10 players, setting this value to 10 or higher can be acceptable. This option should never be reduced below 3.

`server.properties - simulation-distance: 5` Simulation distance controls how many chunks around the player will tick. If you don't want to lower the view distance any further but would like to avoid chunk lag, decreasing this option can help. You should never have this option set higher than the view distance.

`paper-world-defaults.yml - prevent-moving-into-unloaded-chunks: true` This option will prevent players from entering chunks that are unloaded by forcing them back. If players were allowed to move into said chunks, it would cause a load on the main thread and create a lag spike. Pre-generating chunks is recommended! Try a plugin like [Chunky](https://www.spigotmc.org/resources/chunky.81534/).

### **Entities**

`bukkit.yml - spawn-limits` This option controls the amount of mobs per-player the server will spawn. Adjust this value as needed! If you need more animals, increase animals. If you need more zombies, increase monsters. This section is also the best and simplest one for limiting entity lag.

`monsters: 30` `animals: 7` `water-ambient: 7` `water-animals: 3` `water-underground-creature: 3` `axolotls: 3` `ambient: 1`

`spigot.yml - mob-spawn-range: 4` This option controls the maximum distance from a player that mobs will spawn, in chunks. This should always be lower/equal to your simulation distance.

`spigot.yml - nerf-spawner-mobs: true` This will result in mobs losing their AI if they spawned from a mob spawner. Consider leaving this option to false to preserve a more ‘vanilla’ experience for players, as this option is obviously very noticeable.

`paper-world-defaults.yml - per-player-mob-spawns: true` This option has little impact on performance. However, if enabled, it ensures the server distributes mobs evenly to each player. This means a single mob farm won’t be able to fill the server’s mob cap!

`paper-world-defaults.yml - max-entity-collisions: 2` This option will reduce the amount of work the server does to compute collisions between entities. However, this will screw with the entity cramming gamerule – set this value equal or greater than your gamerule’s value if that’s important for you!

`paper-world-defaults.yml - update-pathfinding-on-block-update: false` This reduces the amount of pathfinding mobs do, as they do not recompute pathfinding upon a block update. Do note that mobs will appear to be slightly laggier if this is enabled.

`paper-world-defaults.yml - fix-climbing-bypassing-cramming-rule: true` This fixes a vanilla bug where the entity cramming gamerule doesn’t affect mobs on vines/ladders. It does break vanilla behaviour, so this option is very much up to you.

`paper-world-defaults.yml - mob-spawner-tick-rate: 2` This option controls the frequency at which spawners will attempt to spawn mobs. A value of 2 is practically impossible to notice as a player. If your world has many spawners, you may want to consider increasing this number to 4, but you should avoid going higher because it can reduce spawn rates.

`paper-world-defaults.yml - armor-stands-do-collision-entity-lookups: false` This value simply prevents armour stands from participating in collisions. It is mostly used to prevent lag machines.

`paper-world-defaults.yml - disable-chest-cat-detection: true` When opened, chests scan if there’s a cat sitting on top of it. Do you really need this behaviour?

`pufferfish.yml - dab.activation-dist-mod: 8` This value controls how quickly the effects of DAB\* wear off with distance. This value should generally not be set below 6. If you have a smaller server, consider disabling DAB altogether to preserve vanilla behaviour.

> \*DAB stands for the Dynamic Activation of Brain. When entities are near to the player, they will tick like normal, but the farther away entities get, their AI will be ticked less and less frequently. These values can affect players’ mob farms, so consider increasing the activation-dist-mod parameter or disabling the feature altogether.

### **Other**

`paper-world-defaults.yml - nether-ceiling-void-damage-height: 127` There are two reasons for this. Firstly, if players are allowed onto the nether roof, they can roam freely and generate loads of chunks - causing lag. Secondly, the number of entities spawning on the roof will also be somewhat significant. Together, these reasons form a compelling argument to leave the nether roof disabled – however, it’s up to you to decide whether your server needs it – as it could be considered a ‘vanilla’ feature.

`paper-world-defaults.yml - optimize-explosions: true` When set to true, this option will perform explosions much faster! It is almost indistinguishable from vanilla – there is almost no reason to keep this value set to false.

`paper-world-defaults.yml – anti-xray.enabled: true` Paper’s anti-xray feature is one of the best around, and is our recommended go-to. It should be noted that engine 3 is recommended: it has a solid balance of being effective whilst minimising network issues for players with a weaker internet connection.

`paper-world-defaults.yml - enable-treasure-maps: false` Treasure maps are poorly implemented by Mojang and will cause a lag spike when generated. This is because it can sometimes hang the server if the ‘treasure' is in an ungenerated chunk. However, this is safe to enable if your entire map is pregenerated.

`paper-world-defaults.yml - redstone: ALTERNATE_CURRENT / EIGENCRAFT` When enabled, this option replaces the vanilla redstone algorithm with a far faster algorithm. Either algorithm is incredibly similar to vanilla and should have no noticeable differences in the majority of scenarios.

`paper-world-defaults.yml - grass-spread-tick-rate: 4` This option controls how quickly grass/mycelium spreads. This causes grass to spread more slowly, but will result in improved performance on servers where many chunks are loaded and grass is thus constantly spreading.

### **Tips**

• You should use [Spark](https://github.com/lucko/spark). Spark is a plugin that tells you exactly what's lagging your server through profiling your server's CPU and memory usage. You can read how to use it on its [wiki](https://spark.lucko.me/docs/).

• Avoid questionable forks! Those downstream of Paper/Pufferfish/Purpur have been known to be unstable while providing a minor performance impact at best.

If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your server!

{% embed url="<https://ember.host>" %}


# Updating Servers

How to change the version of your server!

### **How To Update Your Server Version**

This process is actually incredibly easy, and the following instructions are for servers running PaperMC.

1. Go to Paper's [website](https://papermc.io).
2. Download the latest build (of the version you want).
3. Rename the file to `server.jar` or whatever you specified your server JAR file name to be in the startup tab of our panel.
4. Replace the current `server.jar` in your server files with the new one you just downloaded.
5. Restart/start your server.

Any new chunks generated should now contain new world generation if applicable, and you're now running the newer Minecrat version you want.

### **How To Downgrade Your Server Version**

This process is technically not possible, and updated worlds cannot be downgraded. The only 'real' way to downgrade is to restore from a backup. However, if you don't need to keep your world files and don't have a backup, follow these steps.

1. Stop your server.
2. Change your server JAR file to the version you want.
3. Delete the folders `world`, `world_nether` and `world_the_end.`
4. Restart/start your server.

If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your server!

{% embed url="<https://ember.host>" %}


# Velocity Network

How to link servers together with Velocity! Like BungeeCord, but better.

### **Why Would I Need This?**

Velocity exists because [BungeeCord](/server-management/bungeecord-network) contains several flaws. Velocity is the fast and modern implementation of a proxy. It is complete recode — it is **not** a fork of BungeeCord (like Waterfall is).

{% hint style="success" %}
**Velocity** is our recommended proxy software. Not only is it faster and safer, Waterfall, our old recommended fork of BungeeCord by the PaperMC team, is [no longer maintained](https://forums.papermc.io/threads/announcing-the-end-of-life-of-waterfall.1088/).
{% endhint %}

### **Download & Configuration**

Start by downloading [Velocity](https://papermc.io/downloads#Velocity). After you download the JAR, upload it to your file directory and start your server. Make sure to delete any existing plugins from elsewhere, including BungeeCord!

After the configuration files have been generated, open the `velocity.toml` and define the name, IP address, and port for each server you'd like to be a part of your network. Remember to set the 'main' port that you want users to connect with to be opened for the **proxy** server. You should also use the `modern forwarding` configuration option in this file. For more information, read the [Velocity configuration docs](https://velocitypowered.com/wiki).

Only some minor configuration needs to be done to your backend servers - the ones which Velocity actually sends your players to! Start by setting `online-mode` to `false` in each of your **backend** servers. You can find this setting in the `server.properties` file. Then, go back to the proxy server and copy the secret key from `velocity.toml` before pasting it into your `paper-global.yml`'s Velocity section! Make sure to set `velocity-support` here in to true as well.

### **Security**

Unlike on BungeeCord, the security issue that the BungeeGuard plugin patches does not exist when using a Velocity server. Velocity's modern forwarding means you are safe from the UUID spoof exploit on all modern Minecraft versions!

If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your server!

{% embed url="<https://ember.host>" %}


# Installing Plugins

How to install plugins to customize your server!

### Introduction

In order to run plugins on your server, you have to be using a fork of Bukkit (e.g. Spigot, Paper, Pufferfish, Purpur, etc). We recommend using [Paper](https://papermc.io). If you wish to use mods to customize your server instead, see our guide on [installing server mods](/mods/installing-mods)!

> **What are plugins?**
>
> Plugins are addons that make changes to your Minecraft server. These changes can be as minor as adding a simple command, or as major as adding an entire minigame to your server.

### Setup

{% hint style="danger" %}
**Warning!**

Make sure you trust the source of your plugin! Malicious plugins can cause a considerable amount of damage to your server - so avoid downloading plugins from unknown/untrusworthy sources or 'leak' websites!
{% endhint %}

1. You'll first need to find the plugin you wish to install. Downloads for most plugins are found on [SpigotMC](https://www.spigotmc.org), [Bukkit](https://bukkit.org) or [Modrinth](https://modrinth.com/plugins).
2. Download the plugin to your local machine.
3. In your server's root directory, locate the `plugins` folder. Navigate into this folder, and upload your plugin's file there. Plugins can either be uploaded via our [web panel or through SFTP](/ember-panel/file-management).
4. Restart your server (never do `/reload`!), and your plugin should be successfully installed!

Once the server is online, type `plugins` in your console or `/plugins` in-game. If you're able to see the plugin that you just installed show up in green, then you're good to go!

### Troubleshooting <a href="#what-to-do-if-a-plugin-doesnt-load" id="what-to-do-if-a-plugin-doesnt-load"></a>

If your plugin doesn't install properly, see if the following steps solve your issue.

1. **Check the plugins folder**: Confirm that your plugin has been uploaded to the `plugins` folder, and not accidentally uploaded elsewhere.
2. **Check your startup logs**: While your server starts up, see if there's any errors or warnings about your plugin in console. These often tell you why your plugin did not start up properly.
3. **Check the plugin's version**: Make sure your plugin version matches your Minecraft server version! If your plugin is incompatible with your server version, it won't function properly. You can check what versions your plugin support from the website you downloaded it from, or you can ask the plugin's author.

If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your server!

{% embed url="<https://ember.host>" %}


# Anticheats

Hackers, begone.

### Vulcan \[Paid]

Vulcan is a cheat detection plugin that operates at the packet level. It is capable of detecting combat, movement, and even miscellaneous hacks. Vulcan also comes with [BungeeCord](https://www.spigotmc.org/resources/vulcanbungee-bungee-hook-for-vulcan-anti-cheat.94194/) support.

**Setup**

Start by downloading Vulcan on their [Spigot page](https://www.spigotmc.org/resources/vulcan-advanced-cheat-detection-1-7-1-17-1.83626/), before uploading the JAR file into your plugins folder and restarting your server. If you want to use this plugin with BungeeCord, check out the instructions on Vulcan's [Bungee Page](https://www.spigotmc.org/resources/vulcanbungee-bungee-hook-for-vulcan-anti-cheat.94194/) for details.

***

### Spartan \[Paid]

Spartan is an anticheat similar to Vulcan. However, it is notorious for having a large performance hit, and is thus generally not recommended over the alternative options on this page. Nevertheless, it has some unique features which may be of use depending on the server.

**Setup**

Start by downloading Spartan on their [Spigot page](https://www.spigotmc.org/resources/spartan-advanced-anti-cheat-cheat-detection-hack-blocker-1-7-1-19-1-10-summer-sale.25638/), upload the JAR file into your plugins folder, and restart your server! If you want to use this plugin with bungeecord, then you're in luck: Spartan has BungeeCord functionality built-in.

***

### GrimAC \[Free]

Grim is a bit different: it's a prediction-based anticheat. This means that it simulates all possible vanilla movements, meaning it's also theoretically 'unbypassable'. However, it should be noted that it does not extensively cover combat detections at time of writing.

**Setup**

Download Grim on their [Spigot page](https://www.spigotmc.org/resources/grim-anticheat.99923/), before uploading the JAR file into your plugins folder and restarting your server.

***

### Themis \[Free]

Themis is a well-known lightweight & free anticheat that has been around for quite a while. It's currently one of the best check-based free anticheats around! What makes Themis stand out even more is the fact that it actually checks Bedrock players who have connected through Geyser - instead of simply ignoring them like the other anticheats listed on this page.

**Setup**

Download Themis on their [Spigot page](https://www.spigotmc.org/resources/themis-anti-cheat-1-17-1-18-1-19-bedrock-support-paper-compatibility-free-optimized.90766/), before uploading the JAR file into your plugins folder and restarting your server! Please remember you will need [Protocollib](https://www.spigotmc.org/resources/protocollib.1997/) to run this plugin, and [floodgate](https://ci.opencollab.dev/job/GeyserMC/job/Floodgate/job/dev%2F2.0/) if you want proper Bedrock compatibility.

### Tips

It's best practice to have a test server (even a local one if getting a hosted one isn't an option) to test your anti-cheat configuration before deploying it on your production server. It is important that you are aware of the settings and punishments enabled in your anticheat!

Finally, as with all anticheats, expect false positives. Please obtain as much information as possible to aid with fixing the broken detection, and then report the bug on each respective anticheat's Discord or GitHub.

If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your server!

{% embed url="<https://ember.host>" %}


# Geyser and Floodgate

Let Bedrock players join the fun!

### **What Is Geyser?**

Geyser is a plugin that will modify incoming and outgoing packets. It is technically a proxy that will bridge the gap between **Minecraft: Java Edition** and **Minecraft: Bedrock Edition**. At the moment, this means it allows Bedrock users to seamlessly join Java servers for cross-platform play!

### **Setup**

Download the plugin [here](https://geysermc.org/download) and set the port in your `config.yml` to a port you have access to/have opened. Note that we also recommend you to use [floodgate](https://wiki.geysermc.org/floodgate/setup/) which will be used for authentication. Simply remember to set auth-type in your Geyser `config.yml` to `floodgate` if you choose to do so!

{% hint style="info" %}
**Anti-Cheats**\
Running Geyser may result in incompatibilities with Anti-Cheats! Make sure to check if your Anti-Cheat has Geyser compatibility - and make any adjustments to its configuration files to support Geyser if needed.
{% endhint %}

If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your server!

{% embed url="<https://ember.host>" %}


# Installing Mods

How to install mods to customise your server!

### Introduction

In order to run mods on your server, you have to be using either [Forge](https://files.minecraftforge.net/net/minecraftforge/forge/), [NeoForge](https://neoforged.net/), or [Fabric](https://fabricmc.net/use/server/). If you wish to use plugins to customize your server instead, see our guide on [installing server plugins](/plugins/installing-plugins)!

> **What are mods?**
>
> Mods are like plugins: they're essentially addons that make changes to your Minecraft server. However, note that modded servers will generally be much slower than servers running Paper; Forge, NeoForge, and Fabric are not designed with server performance as a priority.

### Setup

{% hint style="warning" %}
**Mod Compatibility**\
Ensure you're downloading the correct version of your mods! Forge and Fabric mods are usually not cross-compatible with each other (unless stated otherwise), and also often don't work across Minecraft versions.
{% endhint %}

1. You'll first need to find the mod you wish to install. Most mods can be found on either [Modrinth](https://modrinth.com/mods) or [CurseForge](https://www.curseforge.com/minecraft/mc-mods). It is not recommended to download any files from sites other than these!
2. Download the mod to your local machine. Mods can either be uploaded via our web panel or through SFTP.
3. In your server's root directory, locate the `mods` folder. Navigate into this folder, and upload your mod's file there. Additionally, many **Fabric** mods require the [Fabric API](https://modrinth.com/mod/fabric-api). Download the relevant Fabric API for you server version, and upload this file into the same directory.
4. Restart your server, and your mod(s) should be successfully installed!

Certain mods require players to install them on their client as well. Check the documentation of your mod to see if this is required; mods may provide a separate file for clients and servers.

If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your server!

{% embed url="<https://ember.host>" %}


# Performance Mods

How to boost performance and fix lag on your modded server!

### Introduction <a href="#chunky" id="chunky"></a>

It's undeniable: modded server are simply much slower than servers based on Paper or its forks. Thus, here are some **Fabric** mods that can make your server run faster! Do note that even with these mods, performance still won't be comparable to a server running on Paper.

{% hint style="info" %}
**Forge Support?**

Most of these mods also have a Forge equivalent, where a developer has ported it to Forge. However, as many of these ports aren't official versions of the mod, they won't be included in this list.
{% endhint %}

### Mods In Alphabetical Order:

#### Alternate Current <a href="#chunky" id="chunky"></a>

Optimizes redstone. The most noticeable impact of this mod should be with redstone dust, where it can be up to 20x faster. Changes to redstone made by this mod are unnoticeable by all but the most technical players.

[Modrinth](https://modrinth.com/mod/alternate-current)\
[CurseForge](https://www.curseforge.com/minecraft/mc-mods/alternate-current)

***

#### Chunky​ <a href="#chunky" id="chunky"></a>

Chunk pre-generation mod. It helps in reducing server lag caused by chunk generation.

[Modrinth](https://modrinth.com/mod/chunky)\
[CurseForge](https://www.curseforge.com/minecraft/mc-mods/chunky-pregenerator)

***

#### FerriteCore <a href="#chunky" id="chunky"></a>

Mod that optimizes memory usage. Particularly useful for reducing memory usage in heavily modded scenarios.

[Modrinth](https://modrinth.com/mod/ferrite-core)\
[CurseForge](https://www.curseforge.com/minecraft/mc-mods/ferritecore-fabric)

***

#### Krypton <a href="#krypton" id="krypton"></a>

Mod that optimizes network usage.

[Modrinth](https://modrinth.com/mod/krypton)\
[CurseForge](https://www.curseforge.com/minecraft/mc-mods/krypton)

***

#### ​Lithium <a href="#lithium" id="lithium"></a>

Mod for general-purpose optimization while staying true to vanilla mechanics.

[Modrinth](https://modrinth.com/mod/lithium)\
[CurseForge](https://www.curseforge.com/minecraft/mc-mods/lithium/)

***

#### Moonrise <a href="#starlight" id="starlight"></a>

Mod that is a port of several important [Paper](/server-management/server-optimisation#server-software) patches. These include optimizations to the light engine (Starlight), chunk system, entity collisions, entity tracker, and random ticking optimizations. It optimizes many (but not all) of the same parts of the game as Lithium, so any conflicting areas are just disabled to enable compatibility.

> The main optimization mod that this is not compatible with is C2ME. As both modify the chunk system, they are fundamentally incompatible with one another.

[Modrinth](https://modrinth.com/mod/moonrise-opt)\
No CurseForge page

***

#### ServerCore <a href="#starlight" id="starlight"></a>

Mod that aims to optimize and improve server performance across several areas. Unlike Lithium though, some of the modifications this mod makes may slightly alter vanilla gameplay. However, you can toggle these patches if you don't like them.

[Modrinth](https://modrinth.com/mod/servercore)\
[CurseForge](https://www.curseforge.com/minecraft/mc-mods/servercore)

***

#### **Spark​** <a href="#spark" id="spark"></a>

Mod that lets you find out exactly what is lagging your server.

[Modrinth](https://modrinth.com/mod/spark)\
[CurseForge](https://www.curseforge.com/minecraft/mc-mods/spark)

***

#### **Very Many Players**

VMP is a server-side optimization mod designed for higher playercounts. It's best used with [Lithium](#lithium). This mod is technically still in alpha at time of writing, so use it at your own discretion.

[Modrinth](https://modrinth.com/mod/vmp-fabric)\
[CurseForge](https://www.curseforge.com/minecraft/mc-mods/vmp-fabric)

If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your server!

{% embed url="<https://ember.host>" %}


# Backups

How to make a backup of your Minecraft server!

### What Makes Us Different?

Ember Host uses custom software for our backups to give us advantages over the default backup system (that comes with Pterodactyl): de-duplicated and incremental backups. Unlike other hosts like Shockbyte or Apex, this means that each individual backup taken will only include changes since the last backup — hugely decreasing the amount of time backups take after the first one is created. In other words, our backups are faster and saves storage!

### Creating a Backup

Here's how to make a backup - start by heading over to the backups tab on our [panel](https://panel.ember.host), and click `Create Backup`.

<figure><img src="/files/d8cnKNdhvhXWXAAeF7tp" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Xz44Qds9UkBk8XXviXEe" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Selecting files to include here will override the existing `.pteroignore`
{% endhint %}

### Creating Scheduled Backups

Schduled backups are simple - you can use our inbuilt schedules feature in our panel, which allows for automated backup creation at whatever times you specify. When you reach the backup limit, the oldest non-locked backup will be deleted to make space for the new one the schedule creates. Curious on how to create a schedule? Check out our page on [schedules](/ember-panel/schedules)!

### Choosing Which Files Are Included in a Scheduled Backup

Go into the files tab of the panel. Then, click 'New File' -> type up your ignore patterns -> save it as `.pteroignore`

```gitignore
backups/
bluemap/web/maps/**/tiles/**
dynmap/web/tiles/**
crash-reports/
logs/
```

The `.pteroignore` file uses the same pattern format as `.gitignore`. Each line is a pattern for files or directories to exclude from backups. Patterns are relative to the root of your server directory.

`backups/` ignores the entire backups directory and all its contents.

`bluemap/web/maps/**/tiles/**` ignores all tiles directories nested within the bluemap directory, including their contents.

`dynmap/web/tiles/**` ignores all content within the dynmap web tiles directory.

`crash-reports/` and `logs/` ignore those directories and their contents.

To negate (include) a previously excluded pattern, prefix it with `!`.

### Further Examples

To exclude a specific directory: `path/to/directory/`

To exclude all .log files: `*.log`

To exclude a file: `filename.txt`

To negate (include) a previously excluded pattern: `!important-file.txt`

To exclude everything except a specific directory:

```gitignore
*
!important-directory/
!important-directory/**
```

By `@andyishereboi`, `@goldenedit` and `@icewaffles`


# File Management

How to access and manage your server files!

### Managing via Web Panel

You can head on over to the files tab on your server panel. From there, you can check the box next to the file to perform any action on it (e.g. delete the file) or click into files to edit its contents (e.g. if you wanted to modify the `config.yml` of a plugin).

### Managing via SFTP

There are several SFTP clients, with some commonly used examples being [WinSCP](https://winscp.net/) and [FileZilla](https://filezilla-project.org/).\
\
To access your server files via SFTP, start by heading over to the settings tab, where you should see the details. Simply open your SFTP client, plug the correct details in right places and you're good to go!

For example, if you were using FileZilla, it should look something like this:

<figure><img src="/files/dXp1VeMjlHIRDtEnDJbk" alt="" width="563"><figcaption><p>Filezilla connection details</p></figcaption></figure>

{% hint style="info" %}
**Ports**

If an IP address has a colon in the end which is followed by numbers, that would be the port. In this case, because the host address is `sftp://premium-1.ember.host:2022`, the port is just `2022`.
{% endhint %}

If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your server!

{% embed url="<https://ember.host>" %}


# Schedules

How to setup automatic schedules for your server!

### Setup

Head over to the Ember Host panel and click on schedules on the sidebar. The page you see should show you a list of all existing schedules that will run.

To create a new schedule, click the button that reads `Create Schedule` and set a name for it. Then, set how often it will run - if you're confused, try toggling on the button that reads `Show Cron Cheatsheet` for help.

Once created, click into the schedule on the main list and click `New Task`. Now, you can just set whatever task you want to run on the tiems you schedules earlier. You can also specify a delay, so tasks don't all run at once. A good use for this is first sending a broadcast out to your players to let them know your server is about to restart, and have the server actually restart *after* the broadcast is sent.

### Example

Here is an example of an automatic daily restart done with schedules.

<figure><img src="/files/imMhhu2EZPWKtNEX14s7" alt=""><figcaption><p>Main schedules page - list of all schedules</p></figcaption></figure>

<figure><img src="/files/2YTTqirM5iaNNe5slSJa" alt=""><figcaption><p>Setting the times for a schedule. This will make it restart once a day.</p></figcaption></figure>

<figure><img src="/files/TUt9LTCLM8Ks1VN3jX5W" alt=""><figcaption><p>Setting what tasks on run at the time specified - in this case, it will restart the server.</p></figcaption></figure>

<figure><img src="/files/ZjVzTH63Pq2YqInsUXNG" alt=""><figcaption><p>What this specific schedule should look like once completed.</p></figcaption></figure>

If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your server!

{% embed url="<https://ember.host>" %}


# Payments, Servers, Due Dates

Details on our billing rules.

{% hint style="info" %}
**How do I actually pay?**

At time of writing, we only accept credit or debit card for invoices. This is a secure, efficient, and easy way for us to process payments!
{% endhint %}

After buying a server, an invoice will be added to your account on the day your server is set to be renewed. You will receive an email reminding you to pay your invoice if payment cannot be automatically collected on the due date. After your invoice is overdue by 1 day, your server will be suspended and your service will be considered expired. Technically speaking, if your server is suspended, it is eligible to be terminated at any time. You will be reminded via email of your service being overdue on day 3 and day 6 after the invoice's due date \[if your server has not yet been terminated]. 7 days after your service has expired, your service will be terminated and all data deleted if not done so already.\
\
If you have any more questions, you can receive support from either our knowledgable community or dedicated staff at any time of day in our [Discord](https://discord.com/invite/68s9zKtSFb). Good luck with your server!

{% embed url="<https://ember.host>" %}


