# README
pap
A swiss army knife for minecraft servers.
pap is close to 1.0 🎉
pap is now feature complete (for now) and just needs testing & code reviewing.
If you want, try installing pap and messing around with it.
If you actually manage to break it, open an issue.
Or, make a PR.
Table of contents
- pap
Examples
Demo
Click on the gif for a higher resolution version.
Download the latest papermc jarfile
pap download paper
Sign the EULA
pap sign
Generate a script to run the jarfile
pap script --jar server.jar
Turn off pvp
pap properties set pvp false
Install worldedit
pap plugin install worldedit
Install a plugin from bukkit, spigot, or modrinth
pap plugin install bukkit:holographic-displays
pap plugin install spigot:death_signs
pap plugin install modrinth:chunky
Why though?
pap has a few purposes:
- To simplify some of the common tasks you need to do when creating or managing a server (such as when you download/update the server jar.)
- To easily and automatically verify the jars you download to avoid bad issues down the line.
- To provide an easy CLI to do common tasks like changing server.properties and signing EULA, for usage in scripts.
- To quickly install plugins directly from their sources.
Install
Build Dependencies
If you are obtaining pap from source, you will need these dependencies:
Arch linux
Info The AUR build might not have the latest version of pap, but it may be more stable.
If you wish, pap can be installed from the AUR:
yay -S pap
Ubuntu
Info Pacstall might not have the latest version of pap, but it may be more stable.
Thank you so much to Henryws for keeping pap up to date on pacstall.
If you have pacstall, you can run:
pacstall -I pap
Unix
Unix - From Releases
You can go to the latest release and download the fitting binary for your system from there.
pap is available on most architectures and operating systems, so you will rarely need to compile it from source.
Unix - System wide from releases
sudo install -Dm755 pap* /usr/bin/pap
Unix - Local from releases
Warning You may see an error that pap wasn't found, if you see this you may not have
~/.local/bin/
in your PATH. See common issues on how to add it.
install -Dm755 pap* ~/.local/bin/pap
Unix - From Source
Warning
pap update
downloads and installs a binary, it does not compile it from source. If you need to compile pap from source, don't usepap update
.
First, clone pap:
git clone https://github.com/talwat/pap
cd pap
Switch to the latest tag (optional):
git tag # get all tags
git checkout <tag>
And then build:
make
Finally, move it into your binary directory:
Unix - System wide from source
sudo make install PREFIX=/usr
Unix - Local from source
Warning You may see an error that pap wasn't found, if you see this you may not have
~/.local/bin/
in your PATH. See common issues on how to add it.
make install
Windows
pap does work on windows, but windows has a bad different way to CLI apps.
Windows - From Releases (recommended)
If you want to download from releases, download the fitting windows exe and put it into path.
Windows - From Source
First, clone pap:
git clone https://github.com/talwat/pap
cd pap
Switch to the latest tag (optional):
git tag # get all tags
git checkout <tag>
And then build:
# Use `make` if you have it, otherwise:
mkdir -vp build
go build -o build
Finally, put it into path.
Common issues
Local installation not found
Usually this is because ~/.local/bin
is not in PATH.
You can add ~/.local/bin
to PATH through your shell:
Bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
Zsh
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
Fish
Look at the fish docs for more detailed instructions.
fish_add_path $HOME/.local/bin
Updating pap
Note This will only work if you are running version 0.11.0 or higher. If not, just reinstall using the install guide.
If you used a release and followed the install guide, you should be able to simply run:
sudo pap update
or if you did a local install:
pap update
Uninstalling pap
Simply delete the binary file you installed. pap does not create any files that you do not explicitly tell it to.
So, if you did a system wide install do:
sudo rm /usr/bin/pap
or if you did a local install:
rm ~/.local/bin/pap
Contributing
Anyone is welcome to contribute, and if someone can port pap to various package managers, it would be greatly appreciated.
If you want more info about how to contribute, take a look at CONTRIBUTING.md.
If you would like to add a plugin to the repository, take a look at PLUGINS.md.
If you like pap, feel free to star it on github, or vote for it on the AUR.
Dependencies
Packaging
If you would like to package & submit pap to a repository, open an issue.