Skip to content

Latest commit

 

History

History
333 lines (223 loc) · 8.42 KB

README.md

File metadata and controls

333 lines (223 loc) · 8.42 KB

pap

codebeat badge Go Report Card AUR version License Go version

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

Examples

Demo

Click on the gif for a higher resolution version.

Demo of pap

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 use pap 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.

Packaging status