Sign inSign up

luodaoyi/minecraft-bedrock-server

By luodaoyi

•Updated about 6 years ago

Image
0

696

luodaoyi/minecraft-bedrock-server repository overview

Docker Pulls GitHub Issues Build

⁠为了方便中国朋友使用我改了下dockerfile 执行的时候不需要再下载,方便开服 请一定要阅读下面说明

注意! 请一定不要指定环境变量 VERSION=xxx 缺点是不能灵活切换版本,但是切换版本要下载 国内又下载不了 所以你直接指定docker images的tag就行了

PS: 如果懒得折腾可以来我的服务器 mc.ptrace.cn:19132 交流qq群: 1140238048

⁠直接使用docker-compose 部署
version: '3.8'
services:
  bds:
    image: luodaoyi/minecraft-bedrock-server
    environment:
      EULA: "TRUE"
      GAMEMODE: survival
      DIFFICULTY: easy
      SERVER_NAME: 'Evolution World'
      SERVER_PORT: 19132
      MAX_PLAYERS: 100
      MAX_THREADS: 8
      ALLOW_CHEATS: "FALSE"
      LEVEL_NAME: '20200714'
    ports:
      - 19132:19132/udp
    volumes:
      - bds:/data
    restart: always
    stdin_open: true
    tty: true

volumes:
  bds:

⁠Quickstart

The following starts a Bedrock Dedicated Server running a default version and exposing the default UDP port:

docker run -d -it -e EULA=TRUE -p 19132:19132/udp itzg/minecraft-bedrock-server

⁠Looking for a Java Edition Server

For Minecraft Java Edition you'll need to use this image instead:

itzg/minecraft-server⁠

⁠Environment Variables

⁠Container Specific
  • EULA (no default) : must be set to TRUE to accept the Minecraft End User License Agreement⁠
  • VERSION (LATEST) : can be set to a specific server version or the following special values can be used:
    • LATEST : determines the latest version and can be used to auto-upgrade on container start
    • PREVIOUS : uses the previously maintained major version. Useful when the mobile app is gradually being upgraded across devices
    • 1.11 : the latest version of 1.11
    • 1.12 : the latest version of 1.12
    • 1.13 : the latest version of 1.13
    • 1.14 : the latest version of 1.14
    • 1.16 : the latest version of 1.16
    • otherwise any specific server version can be provided to allow for temporary bug avoidance, etc
  • UID (default derived from /data owner) : can be set to a specific user ID to run the bedrock server process
  • GID (default derived from /data owner) : can be set to a specific group ID to run the bedrock server process
⁠Server Properties

The following environment variables will set the equivalent property in server.properties, where each is described here⁠.

  • SERVER_NAME
  • SERVER_PORT
  • GAMEMODE
  • DIFFICULTY
  • LEVEL_TYPE
  • ALLOW_CHEATS
  • MAX_PLAYERS
  • ONLINE_MODE
  • WHITE_LIST
  • VIEW_DISTANCE
  • TICK_DISTANCE
  • PLAYER_IDLE_TIMEOUT
  • MAX_THREADS
  • LEVEL_NAME
  • LEVEL_SEED
  • DEFAULT_PLAYER_PERMISSION_LEVEL
  • TEXTUREPACK_REQUIRED

For example, to configure a flat, creative server instead of the default use:

docker run -d -it --name bds-flat-creative \
  -e EULA=TRUE -e LEVEL_TYPE=flat -e GAMEMODE=creative \
  -p 19132:19132/udp itzg/minecraft-bedrock-server

⁠Exposed Ports

  • UDP 19132 : the Bedrock server port. NOTE that you must append /udp when exposing the port, such as -p 19132:19132/udp

⁠Volumes

  • /data : the location where the downloaded server is expanded and ran. Also contains the configuration properties file server.properties

You can create a named volume and use it as:

docker volume create mc-volume
docker run -d -it --name mc-server -e EULA=TRUE -p 19132:19132/udp -v mc-volume:/data itzg/minecraft-bedrock-server

⁠Connecting

When running the container on your LAN, you can find and connect to the dedicated server in the "LAN Games" part of the "Friends" tab, such as:

⁠More information

For more information about managing Bedrock Dedicated Servers in general, check out this Reddit post⁠.

⁠Executing server commands

Assuming you started container with stdin and tty enabled (such as using -it), you can attach to the container's console by its name or ID using:

docker attach CONTAINER_NAME_OR_ID

While attached, you can execute any server-side commands, such as op'ing your player to be admin:

op YOUR_XBOX_USERNAME

When finished, detach from the server console using Ctrl-p, Ctrl-q

⁠Deploying with Docker Compose

The examples⁠ directory contains an example Docker compose file⁠ that declares:

  • a service running the bedrock server container and exposing UDP port 19132
  • a volume to be attached to the service

The service configuration includes some examples of configuring the server properties via environment variables:

environment:
  EULA: "TRUE"
  GAMEMODE: survival
  DIFFICULTY: normal

From with in the examples directory, you can deploy the composition by using:

docker-compose up -d

You can follow the logs using:

docker-compose logs -f bds

⁠Deploying with Kubernetes

The examples⁠ directory contains an example Kubernetes manifest file⁠ that declares:

  • a peristent volume claim (using default storage class)
  • a pod deployment that uses the declared PVC
  • a service of type LoadBalancer

The pod deployment includes some examples of configuring the server properties via environment variables:

env:
- name: EULA
  value: "TRUE"
- name: GAMEMODE
  value: survival
- name: DIFFICULTY
  value: normal

The file is deploy-able as-is on most clusters, but has been confirmed on Docker for Desktop⁠ and Google Kubernetes Engine⁠:

kubectl apply -f examples/kubernetes.yml

You can follow the logs of the deployment using:

kubectl logs -f deployment/bds

Tag summary

Content type

Image

Digest

Size

134.1 MB

Last updated

about 6 years ago

docker pull luodaoyi/minecraft-bedrock-server