As described by jhead:
Makes hosted Bedrock/MCPE servers show up as LAN servers, specifically for consoles. You can now play on remote servers (not Realms!) on your Xbox and PS4 with friends. It's like having a LAN server that's not actually there, spooky.
docker container run --name minecraft-phantom-proxy -e SERVER=<server_ip>:<server_port> -e PHANTOM_ARCH=x64 -e PHANTOM_VER=latest --network host alexisspencer/minecraft-phantom-proxy:latest
Or with docker compose:
version: '3.6'
services:
minecraft-phantom-proxy:
image: alexisspencer/minecraft-phantom-proxy:latest
container_name: minecraft-phantom-proxy
environment:
- SERVER=example.com:19132
- PHANTOM_ARCH=x64
- PHANTOM_VER=latest
# - BIND_PORT=0
# - BIND_IP=0.0.0.0
# - TIMEOUT=60
# - IPV6=1
# - DEBUG=1
# - REMOVE_PORTS=1
# - WORKERS=16
network_mode: host
Variable | Required | Description |
---|---|---|
SERVER | Required | Bedrock/MCPE server address and the port. Multiple servers can be specified by separating them with ; Example: SERVER=192.168.1.5:19132;play.minecraftworld.com:19132 |
PHANTOM_ARCH | Optional | CPU architecture where Phantom is being run. Available Options: x86 , x64 , arm5 , arm6 , arm7 , arm8 Default: PHANTOM_ARCH=x64 |
PHANTOM_VER | Optional | Specifies the version of Phantom to run. Use latest for the latest stable version, latestpre for the latest pre-release. Other available versions can be found at jhead's GitHub Example: PHANTOM_VER=0.5.4 , Defaults to latest stable release. |
IPV6 | Optional | Enables IPv6 support on port 19133. (experimental) Pass 1 to enable this flag! Example: IPV6=1 |
BIND_IP | Optional | IP address to listen on. Defaults to all interfaces. NB: BIND_IP cannot be used when multiple servers are specified in SERVER. default: BIND_IP=0.0.0.0 |
BIND_PORT | Optional | Port to listen on. Defaults to 0, which selects a random port. NB: BIND_PORT cannot be used when multiple servers are specified in SERVER. Example: BIND_PORT=19133 |
DEBUG | Optional | Enables debug logging. Pass 1 to enable this flag! Example: DEBUG=1 |
REMOVE_PORTS | Optional | Forces ports to be excluded from pong packets (experimental). Pass 1 to enable this flag! Example: REMOVE_PORTS=1 |
TIMEOUT | Optional | Seconds to wait before cleaning up a disconnected client default: TIMEOUT=60 |
WORKERS | Optional | Specify the number of "threads" to use to process data from clients. Example: WORKERS=16 |
Note: host network mode required.
Phantom written by jhead: GitHub
Docker image based on original image created by nkelemen18: GitHub and adapted by Kirbo: GitHub
Uses lastversion by dvershinin to extrapolate latest version of a github release: GitHub