Add build flow to Dockerfile, rename Dockerfile to Dockerfile.server, Add sample compose.yml, tweak DEDICATED_SERVER.md to reflect new reality
This commit is contained in:
parent
97b46ad01a
commit
25d1ec1789
1
.gitignore
vendored
1
.gitignore
vendored
@ -12,3 +12,4 @@
|
|||||||
/*.AppImage
|
/*.AppImage
|
||||||
/core*
|
/core*
|
||||||
/qemu_*
|
/qemu_*
|
||||||
|
/data
|
||||||
|
19
Dockerfile
19
Dockerfile
@ -1,19 +0,0 @@
|
|||||||
FROM debian:bullseye-slim
|
|
||||||
|
|
||||||
# Install
|
|
||||||
RUN \
|
|
||||||
apt-get update && \
|
|
||||||
apt-get install -y tini qemu-user && \
|
|
||||||
apt-get --fix-broken install -y && \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Copy
|
|
||||||
ADD ./out/server-amd64 /app
|
|
||||||
|
|
||||||
# Setup Working Directory
|
|
||||||
RUN mkdir /data
|
|
||||||
WORKDIR /data
|
|
||||||
|
|
||||||
# Setup Entrypoint
|
|
||||||
ENTRYPOINT ["/usr/bin/tini", "--"]
|
|
||||||
CMD ["/app/usr/bin/minecraft-pi-reborn-server"]
|
|
30
Dockerfile.server
Normal file
30
Dockerfile.server
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
FROM debian:buster as builder
|
||||||
|
ADD . .
|
||||||
|
RUN echo 'deb http://deb.debian.org/debian buster-backports main' > /etc/apt/sources.list.d/backports.list && apt-get update && apt-get install --no-install-recommends -y -t buster-backports cmake dpkg-dev wget
|
||||||
|
RUN ./scripts/install-dependencies.sh
|
||||||
|
ARG TARGETARCH
|
||||||
|
#Build
|
||||||
|
#If build fails past this stage, you're probably missing the repository submodules
|
||||||
|
RUN ./scripts/setup.sh server $TARGETARCH
|
||||||
|
RUN ./scripts/build.sh server $TARGETARCH
|
||||||
|
|
||||||
|
FROM debian:bullseye-slim as runtime
|
||||||
|
|
||||||
|
# Install
|
||||||
|
RUN \
|
||||||
|
apt-get update && \
|
||||||
|
apt-get install -y tini qemu-user && \
|
||||||
|
apt-get --fix-broken install -y && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
ARG TARGETARCH
|
||||||
|
# Copy
|
||||||
|
COPY --from=builder ./out/server-$TARGETARCH /app
|
||||||
|
|
||||||
|
# Setup Working Directory
|
||||||
|
RUN mkdir /data
|
||||||
|
WORKDIR /data
|
||||||
|
|
||||||
|
EXPOSE 19132/udp
|
||||||
|
# Setup Entrypoint
|
||||||
|
ENTRYPOINT ["/usr/bin/tini", "--"]
|
||||||
|
CMD ["/app/usr/bin/minecraft-pi-reborn-server"]
|
23
compose.yml
Normal file
23
compose.yml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
name: minecraft-pi-reborn
|
||||||
|
services:
|
||||||
|
server:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile.server
|
||||||
|
image: thebrokenrail/minecraft-pi-reborn-server
|
||||||
|
networks:
|
||||||
|
default: null
|
||||||
|
ports:
|
||||||
|
- mode: ingress
|
||||||
|
target: 19132
|
||||||
|
published: "19132"
|
||||||
|
protocol: udp
|
||||||
|
volumes:
|
||||||
|
- type: bind
|
||||||
|
source: ./data
|
||||||
|
target: /data
|
||||||
|
bind:
|
||||||
|
create_host_path: true
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
name: minecraft-pi-reborn_default
|
@ -9,11 +9,12 @@ This server is also compatible with MCPE Alpha v0.6.1[^1].
|
|||||||
To use, install and run ``minecraft-pi-reborn-server``. It will generate the world and ``server.properties`` in the current directory.
|
To use, install and run ``minecraft-pi-reborn-server``. It will generate the world and ``server.properties`` in the current directory.
|
||||||
|
|
||||||
### Docker Image
|
### Docker Image
|
||||||
An official Docker image is also provided: [thebrokenrail/minecraft-pi-reborn-server](https://hub.docker.com/r/thebrokenrail/minecraft-pi-reborn-server).
|
~~An official Docker image is also provided: [thebrokenrail/minecraft-pi-reborn-server](https://hub.docker.com/r/thebrokenrail/minecraft-pi-reborn-server).~~
|
||||||
|
Use the provided Dockerfile.server at the root, there's a sample compose.yml file you can use with ``docker compose``
|
||||||
|
|
||||||
## Server Limitations
|
## Server Limitations
|
||||||
* Player data is not saved because of limitations with MCPE LAN worlds
|
* Player data is not saved because of limitations with MCPE LAN worlds (This means player position and inventory are both reset)
|
||||||
* An easy workaround is to place your inventory in a chest before logging off
|
* An easy workaround is to place your inventory in an easily reachable chest before logging off
|
||||||
* Survival Mode servers are incompatible with unmodded MCPI
|
* Survival Mode servers are incompatible with unmodded MCPI
|
||||||
|
|
||||||
[^1]: The exception to this is buckets, those will crash MCPE players.
|
[^1]: The exception to this is buckets, those will crash MCPE players.
|
||||||
|
Loading…
Reference in New Issue
Block a user