Paper
A PaperMC server can be automatically downloaded, upgraded, and run by setting the environment variable TYPE to "PAPER".
By default, the container will find and download the latest build for the VERSION
chosen. If VERSION
is not specified, then the latest Minecraft version released by PaperMC is selected. Along with a specific VERSION
, a specific Paper build can be selected by setting the environment variable PAPER_BUILD
.
To allow for the selection of experimental builds, set PAPER_CHANNEL
to "experimental", otherwise only release/default channel builds are selected.
Example
Using docker run
command line
docker run ... -e TYPE=PAPER ...
docker run ... -e TYPE=PAPER -e VERSION=1.20.6 ...
docker run ... -e TYPE=PAPER -e VERSION=1.20.6 -e PAPER_BUILD=140 ...
docker run ... -e TYPE=PAPER -e PAPER_CHANNEL=experimental ...
Using a compose file:
Tip
If you see the following error, it likely means you need to set the env var PAPER_CHANNEL
to "experimental"
If you are hosting your own copy of Paper you can override the download URL with PAPER_DOWNLOAD_URL=<url>
.
If you have attached a host directory to the /data
volume, then you can install plugins via the plugins
subdirectory. You can also attach a /plugins
volume. If you add plugins while the container is running, you'll need to restart it to pick those up.
You can also auto-download plugins using SPIGET_RESOURCES
.
Alternatives¶
Pufferfish¶
A Pufferfish server, which is "a highly optimized Paper fork designed for large servers requiring both maximum performance, stability, and "enterprise" features."
-e TYPE=PUFFERFISH
Note
The VERSION
variable is used to select branch latest, 1.18, or 1.17. Use PUFFERFISH_BUILD to really select the SERVER VERSION number.
Extra variables:
- PUFFERFISH_BUILD=lastSuccessfulBuild
: set a specific Pufferfish build to use. Example: selecting build 47 => 1.18.1, or build 50 => 1.18.2 etc
- FORCE_REDOWNLOAD=false
: set to true to force the located server jar to be re-downloaded
- USE_FLARE_FLAGS=false
: set to true to add appropriate flags for the built-in Flare profiler
Purpur¶
A Purpur server, which is "a drop-in replacement for Paper servers designed for configurability and new, fun, exciting gameplay features."
-e TYPE=PURPUR
Note
The VERSION
variable is used to lookup a build of Purpur to download
Extra variables:
- PURPUR_BUILD=LATEST
: set a specific Purpur build to use
- FORCE_REDOWNLOAD=false
: set to true to force the located server jar to be re-downloaded
- USE_FLARE_FLAGS=false
: set to true to add appropriate flags for the built-in Flare profiler
- PURPUR_DOWNLOAD_URL=<url>
: set URL to download Purpur from custom URL.
Folia¶
A Folia server can be used by setting the environment variable TYPE
to "FOLIA".
By default, the container will run the latest experimental build of Folia server, but you can also choose to run a specific build with -e FOLIABUILD=26
. The release channel can be changed with the variable FOLIA_CHANNEL
; however, only experimental builds are available at this time.
Example
Using docker run
If you are hosting your own copy of Folia you can override the download URL with FOLIA_DOWNLOAD_URL=<url>
.
If you have attached a host directory to the /data
volume, then you can install plugins via the plugins
subdirectory. You can also attach a /plugins
volume. If you add plugins while the container is running, you'll need to restart it to pick those up.
You can also auto-download plugins using SPIGET_RESOURCES
.
Note
The Folia type inherits from the Paper type. Paper's variables will override the Folia ones.