A collection of scripts written in Bash that manage PaperMC servers.
- Table of Contents
- About The Project
- Features
- Getting Started
- Usage
- Recommended Usage
- Roadmap
- Contributing
- License
- Contact
- Acknowledgements
Papertray is a collection of scripts that allows you to easily manage a PaperMC Minecraft server.
I found myself manually navigating to the PaperMC website to check for and download new builds. Any repetitive task should be automated so I made Papertray and some other utility scripts.
Papertray can Backup, Trim, Update, and Start your PaperMC server.
This was made public in the hopes it's useful to others. Feel free to use this as a template and modify to suit your needs.
- Install and update PaperMC
- Install and update Geyser
- Backup the entire server directory to a specified location
- Delete old backups (trim)
- Start the server in a loop (for crash recovery)
These steps assume you are running a Debian/Ubuntu based distribution of Linux, however, these steps should be similar for all Linux distributions. To get a local copy up and running follow these simple steps.
Papertray does not have many dependencies. Java packages are different for many distributions, you may need to lookup the package name for flavor of Linux.
- jq
- Java
- curl
sudo apt install jq openjdk-16-jre curl
- Clone the repo
git clone https://github.com/InvisaMage/papertray.git
- Edit the papertray.conf file to suit your needs
- Make all the scripts executable
chmod +x *.sh
Simply run the main script and Papertray will take care of the rest.
./papertray.sh
Please note, on the first run, you will need to accept the Minecraft EULA manually.
The other scripts may be run as well, however, they are not well maintained. Use them at your own risk.
Papertray works best if it's ran using Crontab and screen
Here's an example of a crontab file:
@reboot cd /home/mc/server && /usr/bin/screen -d -m -h 500 ./papertray.sh
This will run Papertray every time the computer reboots and runs it under the screen terminal multiplexer.
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Travis - support@invisamage.com
Project Link: https://github.com/InvisaMage/papertray
- Various bash scripting resources
- My Linux Administration teacher
- Best README Template
- Terminalizer
- Text to ASCII Art Generator
- Logo is licensed under the CC BY 4.0