PaperSpigot is a high-performance fork of Spigot that aims to fix gameplay and mechanics inconsistencies. The paper contains numerous unique features and changes, including many performance improvements not found in Spigot. In this guide, we will set up PaperSpigot on an Ubuntu Server.
Setting Up The Ubuntu Server
It is recommended to run all commands as a user with sudo privileges that are not root.
Start by ensuring that your server is up to date.
sudo apt-get update && sudo apt-get upgrade -y
Install the needed packages.
sudo apt-get install openjdk-8-jre -y
Create A Swap File
Allocate the desired amount of memory. Replace 1G accordingly.
sudo fallocate -l 1G /swapfile
Secure the permissions of your new swap file.
sudo chmod 600 /swapfile
Allocate the swap space.
sudo mkswap /swapfile
Turn on the swap.
sudo swapon /swapfile
Make your swap file permanent by modifying the fstab file.
sudo vim /etc/fstab
Add this line to the bottom of the file.
/swapfile none swap sw 0 0
Install PaperSpigot
Ensure you are in the home directory of the user you are planning to use to install PaperSpigot.
cd ~
Create a folder for PaperSpigot.
mkdir paper
cd paper
wget -O paperclip.jar https://ci.destroystokyo.com/job/PaperSpigot/lastSuccessfulBuild/artifact/paperclip.jar
This will download the latest build of PaperSpigot. If you would like to use a different Minecraft version, replace lastSuccessfulBuild with a corresponding build number which you can find here.
Starting Your Server
Create a start-up script for your server.
vim start.sh
Make start.sh match the following, replacing 1024M with the amount of RAM installed on your server.
#!/bin/sh
java -Xms512M -Xmx1024M -XX:MaxPermSize=128M -jar paperclip.jar
Make start.sh executable.
chmod +x start.sh
Start your server.
./start.sh
The first time you start your server, it will download files necessary to set up PaperSpigot. After the first run, your server will launch faster.
Optional: Run Your Server In The Background
Install screen.
sudo apt-get install screen -y
Open an instance of the screen.
screen -S "paper"
Start your server script.
cd ~/paper
./start.sh
You can now configure your server’s settings and install plugins.
Troubleshooting
Accept EULA
If you are asked to confirm eula.txt, change eula to true.
vim eula.txt
paperclip.jar won't run?
You need more RAM on your server or a larger swap file.
start.sh can’t run the file command on your jar file?
Check to ensure everything is typed the same, Linux IS case sensitive.