====== Minecraft Bedrock Server ======
Minecraft is a sandbox video game created by Swedish game developer Markus Persson and released by Mojang in 2011. The game allows players to build with a variety of different blocks in a 3D procedurally generated world, requiring creativity from players. Other activities in the game include exploration, resource gathering, crafting, and combat. Multiple game modes that change gameplay are available, including—but not limited to—a survival mode, in which players must acquire resources to build the world and maintain health, and a creative mode, where players have unlimited resources to build with.
===== Step 1 =====
* In order for clients to see multiple servers, port needs to stay default. Therefore, custom network needs to be created to allow ip address handout.
* Go to Portainer -> Networks
* Click Add Network
* Name: br0
* Driver: ipvlan
* Subnet: 10.23.79.0/24
* Gateway: 10.23.79.1
* Add driver option: Name: parent Value: ens18 (or whatever your card is)
* Create Network
* Check settings with: docker network inspect br0
* link: https://docs.docker.com/reference/cli/docker/network/
===== Version =====
I used binhex's version minecraftbedrockserver
===== Docker Setup =====
* publish a new network port
* 8222 -> 8222 TCP
* 19132-19133 -> 19132-19133 TCP
* 19132-19133 -> 19132-19133 UPD
* volumes:
* /config -> /mnt/nvme/appdata/binhex-minecraftDirkland
* network:
* Network: br0
* Fixed IP address (optional): 10.23.79.50
* Env:
* Key 1 (CREATE_BACKUP_HOURS): 12
* Key 2 (PURGE_BACKUP_DAYS): 14
* Key 3 (ENABLE_WEBUI_CONSOLE): yes
* Key 4 (ENABLE_WEBUI_AUTH): yes
* Key 5 (WEBUI_USER): admin
* Key 6 (WEBUI_PASS): *password*
* Key 7 (WEBUI_CONSOLE_TITLE): Dirkland (second server: Ore City)
* Key 8 (UMASK): 000
* Key 9 (PUID): 99
* Key 10 (PGID): 100
===== App Settings =====
server-name=Dirkland
# Used as the server name
# Allowed values: Any string
gamemode=survival
# Sets the game mode for new players.
# Allowed values: "survival", "creative", or "adventure"
difficulty=easy
# Sets the difficulty of the world.
# Allowed values: "peaceful", "easy", "normal", or "hard"
allow-cheats=false
# If true then cheats like commands can be used.
# Allowed values: "true" or "false"
max-players=10
# The maximum number of players that can play on the server.
# Allowed values: Any positive integer
online-mode=true
# If true then all connected players must be authenticated to Xbox Live.
# Clients connecting to remote (non-LAN) servers will always require Xbox Live authentication regardless of this setting.
# If the server accepts connections from the Internet, then it's highly recommended to enable online-mode.
# Allowed values: "true" or "false"
white-list=false
# If true then all connected players must be listed in the separate whitelist.json file.
# Allowed values: "true" or "false"
server-port=19132
# Which IPv4 port the server should listen to.
# Allowed values: Integers in the range [1, 65535]
server-portv6=19133
# Which IPv6 port the server should listen to.
# Allowed values: Integers in the range [1, 65535]
view-distance=32
# The maximum allowed view distance in number of chunks.
# Allowed values: Any positive integer.
tick-distance=12
# The world will be ticked this many chunks away from any player.
# Allowed values: Integers in the range [4, 12]
player-idle-timeout=30
# After a player has idled for this many minutes they will be kicked. If set to 0 then players can idle indefinitely.
# Allowed values: Any non-negative integer.
max-threads=8
# Maximum number of threads the server will try to use. If set to 0 or removed then it will use as many as possible.
# Allowed values: Any positive integer.
level-name=Dirkland LAN
# Allowed values: Any string
level-seed=
# Use to randomize the world
# Allowed values: Any string
default-player-permission-level=member
# Permission level for new players joining for the first time.
# Allowed values: "visitor", "member", "operator"
texturepack-required=false
# Force clients to use texture packs in the current world
# Allowed values: "true" or "false"
content-log-file-enabled=false
# Enables logging content errors to a file
# Allowed values: "true" or "false"
compression-threshold=1
# Determines the smallest size of raw network payload to compress
# Allowed values: 0-65535
server-authoritative-movement=true
# Enables server authoritative movement. If true, the server will replay local user input on
# the server and send down corrections when the client's position doesn't match the server's.
# Corrections will only happen if correct-player-movement is set to true.
player-movement-score-threshold=20
# The number of incongruent time intervals needed before abnormal behavior is reported.
# Disabled by server-authoritative-movement.
player-movement-distance-threshold=0.3
# The difference between server and client positions that needs to be exceeded before abnormal behavior is detected.
# Disabled by server-authoritative-movement.
player-movement-duration-threshold-in-ms=500
# The duration of time the server and client positions can be out of sync (as defined by player-movement-distance-threshold)
# before the abnormal movement score is incremented. This value is defined in milliseconds.
# Disabled by server-authoritative-movement.
correct-player-movement=false
# If true, the client position will get corrected to the server position if the movement score exceeds the threshold.