Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/akiicat/multipaper-container
Automatically publish the latest MultiPaper containers to Docker Hub.
https://github.com/akiicat/multipaper-container
containers docker-image mincraft multipaper
Last synced: 24 days ago
JSON representation
Automatically publish the latest MultiPaper containers to Docker Hub.
- Host: GitHub
- URL: https://github.com/akiicat/multipaper-container
- Owner: akiicat
- License: gpl-3.0
- Created: 2022-06-05T09:59:52.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-12-28T17:56:01.000Z (almost 2 years ago)
- Last Synced: 2023-08-03T07:39:18.166Z (over 1 year ago)
- Topics: containers, docker-image, mincraft, multipaper
- Language: Shell
- Homepage:
- Size: 348 KB
- Stars: 5
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/akiicat/MultiPaper-Container)
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/akiicat/MultiPaper-Container/publish-docker-image.yaml?label=Publish%20Docker%20Image)
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/akiicat/MultiPaper-Container/auto-check-latest-version.yaml?label=Auto%20Check%20Latest%20Version)# MultiPaper Container
MultiPaper Container will automatically publish the latest MulitPaper containers to Docker Hub.
- [MultiPaper Server Image](https://hub.docker.com/r/akiicat/multipaper)
![Docker Image Version (latest by date)](https://img.shields.io/docker/v/akiicat/multipaper)
![Docker Pulls](https://img.shields.io/docker/pulls/akiicat/multipaper)
- [MultiPaper Master Image](https://hub.docker.com/r/akiicat/multipaper-master)
![Docker Image Version (latest by date)](https://img.shields.io/docker/v/akiicat/multipaper-master)
![Docker Pulls](https://img.shields.io/docker/pulls/akiicat/multipaper-master)## What is MultiPaper
MultiPaper is a scalable minecraft server. [Here](https://github.com/PureGero/MultiPaper) is the repository. You can also download the MultiPaper Jar from [MultiPaper.io](https://multipaper.io/download.html)
## How to Use
### Running MultiPaper Master
```shell
docker run -d -p 35353:35353 akiicat/multipaper-master
```### Running MultiPaper Server
If you want to the customize server name, you can add `-DbungeecordName=server1` to `JAVA_TOOL_OPTIONS`.
For more MultiPaper `JAVA_TOOL_OPTIONS` configuration, please refer to [MULTIPAPER_YAML.md](https://github.com/PureGero/MultiPaper/blob/main/MULTIPAPER_YAML.md) and [MultiPaper command-line-options](https://github.com/PureGero/MultiPaper#command-line-options).```shell
docker run -d \
-p 25565:25565 \
-e EULA=true \
-e JAVA_TOOL_OPTIONS="-Xmx1G -DmultipaperMasterAddress=:35353" \
akiicat/multipaper [server_options]
```Please changing `` in the previous command to your master ip address. For example,
```shell
docker run -d \
-p 25565:25565 \
-e EULA=true \
-e JAVA_TOOL_OPTIONS="-Xmx1G -DmultipaperMasterAddress=192.168.0.193:35353" \
akiicat/multipaper --max-players 30
```For MultiPaper server configurations, you can add them to the end of the command line.
Server Configurations
You can execute the following command to get the latest options.
```shell
docker run --rm akiicat/multipaper --help
```For example,
```shell
$ docker run --rm akiicat/multipaper --help
Downloading mojang_1.18.2.jar
Applying patches
Starting org.bukkit.craftbukkit.Main
Option Description
------ -----------
-?, --help Show the help
-C, --commands-settings commands.yml)
-P, --plugins Plugin directory to use (default:
plugins)
-S, --spigot-settings File for spigot settings (default:
spigot.yml)
-W, --universe, --world-container, -- World container (default: .)
world-dir
--add-extra-plugin-jar, --add-plugin Specify paths to extra plugin jars to
be loaded in addition to those in
the plugins folder. This argument
can be specified multiple times,
once for each extra plugin jar path.
--add-extra-plugin-jars, --add-plugin- Specify paths of a directory
dir, --add-plugin-directory loaded in addition to those in the
plugins folder. This argument can be
specified multiple times, once for
each extra plugin directory path.
-b, --bukkit-settings File for bukkit settings (default:
bukkit.yml)
-c, --config Properties file to use (default:
server.properties)
-d, --date-format console (for log entries)
--demo Demo mode
--eraseCache Whether to force cache erase during
world upgrade
--forceUpgrade Whether to force a world upgrade
-h, --host, --server-ip
--log-append Whether to append to the log file
(default: true)
--log-count Specified how many log files to cycle
through (default: 1)
--log-limit Limits the maximum size of the log
file (0 = unlimited) (default: 0)
--log-pattern Specfies the log filename pattern
(default: server.log)
--log-strip-color Strips color codes from log file
--multipaper, --multipaper-settings File for multipaper settings (default:
multipaper.yml)
--noconsole Disables the console
--nogui Disables the graphical console
--nojline Disables jline and emulates the
vanilla console
-o, --online-mode
-p, --port, --server-port
--paper, --paper-settings paper.yml)
-s, --max-players, --size
--server-name Name of the server (default: Unknown
Server)
-v, --version Show the CraftBukkit Version
-w, --level-name, --world
```## Advanced Usage
Here are some useful Docker `run` command [options](https://docs.docker.com/engine/reference/run).
Because both the server and the master are the same, we use the Multipaper Master as an example.Docker options
```
-d : Detached mode: Run container in the background, print new container id
-t : Allocate a pseudo-tty
-i : Keep STDIN open even if not attached
--rm : Automatically clean up the container and remove the file system when the container exits
-p : Publish or expose port :
-v : Persisting your data :
-u : Change user id (UID)
```Run in foreground and clean up the container when it exits.
```shell
docker run -ti --rm -p 35353:35353 akiicat/multipaper-master
```Use the existing world or save your world in the local directory. Your path must be an absolute path.
```shell
mkdir -p $(pwd)/master
docker run -d -p 35353:35353 -v $(pwd)/master:/app akiicat/multipaper-master
```The default user is **multipaper** with uid 1000. You can also run as root, but this is not recommended.
```shell
docker run -d -p 35353:35353 -u 0 akiicat/multipaper-master
```Limit maximum memory
```shell
docker run -d \
-p 35353:35353 \
-e JAVA_TOOL_OPTIONS="-Xmx1G" \
akiicat/multipaper-master
```Other Java configurations can also be added to `JAVA_TOOL_OPTIONS`.
You can obtain the latest version of the MultiPaper Container by requesting the following command.
```shell
SERVER_VERSION=$(curl https://raw.githubusercontent.com/akiicat/MultiPaper-Container/main/server/tags)
MASTER_VERSION=$(curl https://raw.githubusercontent.com/akiicat/MultiPaper-Container/main/master/tags)
echo $SERVER_VERSION
echo $MASTER_VERSION
```## Build from source
```shell
git clone https://github.com/akiicat/MultiPaper-Container.git# change version
# git checkout
git checkout v1.18.2-60# build
docker build -t multipaper server
docker build -t multipaper-master master# list images
docker images | grep multipaper
```## Debugging
List all logs
```shell
docker logs
docker logs -f # Follow log output
```Run a shell in a new container
```shell
docker run -ti --rm--entrypoint /bin/sh akiicat/multipaper
```Run a shell to an existing container
```shell
docker exec -ti /bin/sh
```Container detail infomation
```shell
docker inspect
```## License
- MultiPaper is licensed under [GPLv3](https://github.com/PureGero/MultiPaper/blob/main/LICENSE.txt)
- MultiPaper-Master is licensed under [MIT](https://github.com/PureGero/MultiPaper/blob/main/MultiPaper-Master/LICENSE.txt)