nkm8 / Legendary-Bedrock-Container

Minecraft Bedrock dedicated server container featuring logging with timestamps, multiple server support, automated backups and more

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Legendary Bedrock Container - Minecraft Bedrock Dedicated Server for Docker

This is the Docker containerized version of my Minecraft Bedrock Dedicated Server for Linux.

My main blog article (and the best place for support) is here.
The official GitHub repository is located here.
The official Docker Hub repository is located here.

The Java version of the Docker container is available here. This is for the Bedrock edition of Minecraft.

Features

  • Sets up the official Minecraft Bedrock Server (currently in alpha testing)
  • Fully operational Minecraft Bedrock edition server in a couple of minutes
  • Adds logging with timestamps to "logs" directory
  • Multiarch Support - all Docker platforms supported including Raspberry Pi
  • Automatic backups when container/server restarts
  • Supports multiple instances -- you can run multiple Bedrock servers on the same system
  • Updates automatically to the latest or user-defined version when server is started
  • Files stored in named Docker volume allowing for extremely easy access/editing and leveraging more advanced Docker features such as automatic volume backups

Usage

First you must create a named Docker volume. This can be done with:
docker volume create yourvolumename

Now you may launch the server and open the ports necessary with one of the following Docker launch commands:

With default ports:

docker run -it -v yourvolumename:/minecraft -p 19132:19132/udp -p 19132:19132 -p 19133:19133/udp -p 19133:19133 05jchambers/legendary-bedrock-container:latest

With custom ports:

docker run -it -v yourvolumename:/minecraft -p 12345:12345/udp -p 12345:12345 -p 12346:12346/udp -p 12346:12346 -e PortIPV4=12345 -e PortIPV6=12346 05jchambers/legendary-bedrock-container:latest

IPV4 only:

docker run -it -v yourvolumename:/minecraft -p 19132:19132/udp -p 19132:19132 05jchambers/legendary-bedrock-container:latest

Configuration / Accessing Server Files

The server data is stored where Docker stores your volumes. This is typically a folder on the host OS that is shared and mounted with the container.
You can find your exact path by typing:
docker volume inspect yourvolumename
This will give you the fully qualified path to your volume like this:
{
        "CreatedAt": "2022-05-09T21:08:34-06:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/yourvolumename/_data",
        "Name": "yourvolumename",
        "Options": {},
        "Scope": "local"
    }

On Linux it's typically available at:
/var/lib/docker/volumes/yourvolumename/_data

On Windows it's at
C:\ProgramData\DockerDesktop
but if you are using WSL (Windows Subsystem for Linux) it may be located at something more like
\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\

On Mac it's typically
~/Library/Containers/com.docker.docker/Data/vms/0/

Most people will want to edit server.properties. You can make the changes to the file and then restart the container to make them effective.

Backups of the Minecraft are server are created each time the server starts and are stored in the "backups" folder

Log files with timestamps are stored in the "logs" folder.

Version Override

In some scenarios you may want to run a specific version of the Bedrock server. That is now possible by using the "Version" environment variable:
docker run -it -v yourvolumename:/minecraft -e Version=1.18.33.02 -p 19132:19132/udp -p 19132:19132 05jchambers/legendary-bedrock-container:latest
This is useful if Microsoft hasn't released versions of the client and dedicated server at the same time so you can match whichever version your players can connect with.

Buy A Coffee / Donate

People have expressed some interest in this (you are all saints, thank you, truly)

  • PayPal: 05jchambers@gmail.com
  • Venmo: @JamesAChambers
  • CashApp: $theremote
  • Bitcoin (BTC): 3H6wkPnL1Kvne7dJQS8h7wB4vndB9KxZP7

Update History

  • Jun 11th 2022
    • Added allowlist.json and permissions.json default template files to prevent crashes when they are missing
  • Jun 7th 2022
    • Add docker-compose.yml template for use with docker-compose
  • Jun 2nd 2022
    • Added a couple of path safety checks and more information about what paths are being used with Version environment variable
  • May 31st 2022
    • Added default server.properties file to prevent rare container launch issue
  • May 27th 2022
    • Cleaned up qemu-user-static installation
  • May 26th 2022
    • Fixed issue with new Version environment variable that could lead to it not working
  • May 25th 2022
    • Added Version environment variable. Example: -e Version=1.19.10.20
  • May 22nd 2022
    • Fixed container launch issue on aarch64
  • May 21st 2022
    • Added multiarch Docker images
    • Reduced image sizes
  • May 17th 2022
    • Bump Dockerfile base image to ubuntu:latest
    • Add libssl1.1 manual installation baked into base image
  • May 15th 2022
    • Added screen -wipe to beginning of start.sh to prevent a startup issue that could occur if there was a "dead" screen instance (thanks grimholme, issue #2).
  • May 12th 2022
    • Added --platform=linux/amd64 to Dockerfile as on aarch64 platforms the container was not starting successfully without it (thanks Mootch, issue #1).
  • May 9th 2022
    • Initial release -- thanks to everyone who kept asking about it so I would finally put it together!

About

Minecraft Bedrock dedicated server container featuring logging with timestamps, multiple server support, automated backups and more

License:MIT License


Languages

Language:Dockerfile 62.5%Language:Shell 37.5%