README.md
This project is based on source code of Minecraft Legacy Console Edition v1.6.0560.0 (TU19) with some fixes and improvements applied.
The current goal of MinecraftConsoles is to be a multi-platform base for further development, such as modding, backports, and anything else LCE. On top of that, we're working to make this a quality experience on Desktop with or without a controller while (long-term) retaining console support.
See our our Contributor's Guide for more information on the goals of this project.
Windows users can download our Nightly Build! Simply download the .zip file and extract it to a folder where you'd like to keep the game. You can set your username in username.txt (you'll have to make this file)
If you're looking for Dedicated Server software, download its Nightly Build here. Similar instructions to the client more or less, though see further down in this README for more info on that.
Minecraft.Server.exe)username.txtW A S DSpaceShift (Hold)Ctrl (Hold) or Double-tap WETQC Use Q and E to move through tabs (cycles Left/Right)F5F11EscLeft ClickRight ClickMouse Wheel or keys 1 to 9Enter to accept and B to declineTABF1F3F4F6Would you like to contribute to this project? Please read our Contributor's Guide before doing so! This document includes our current goals, standards for inclusions, rules, and more.
| Argument | Description |
|---|---|
-name <username> | Overrides your in-game username. |
-fullscreen | Launches the game in Fullscreen mode |
Example:
Minecraft.Client.exe -name Steve -fullscreen
LAN multiplayer is available on the Windows build
25565 by default25566uid.datserver.propertiesMinecraft.Server reads server.properties from the executable working directory (Docker image: /srv/mc/server.properties).
If the file is missing or contains invalid values, defaults are auto-generated/normalized on startup.
Important keys:
| Key | Values / Range | Default | Notes |
|---|---|---|---|
server-port | 1-65535 | 25565 | Listen TCP port |
server-ip | string | 0.0.0.0 | Bind address |
server-name | string (max 16 chars) | DedicatedServer | Host display name |
max-players | 1-8 | 8 | Public player slots |
level-name | string | world | Display world name |
level-id | safe ID string | derived from level-name | Save folder ID; normalized automatically |
level-seed | int64 or empty | empty | Empty = random seed |
world-size | classic|small|medium|large | classic | World size preset for new worlds and expansion target for existing worlds |
log-level | debug|info|warn|error | info | Server log verbosity |
autosave-interval | 5-3600 | 60 | Seconds between autosaves |
white-list | true/false | false | Enable access list checks |
lan-advertise | true/false | false | LAN session advertisement |
Minimal example:
server-name=DedicatedServer
server-port=25565
max-players=8
level-name=world
level-seed=
world-size=classic
log-level=info
white-list=false
lan-advertise=false
autosave-interval=60
The server loads base settings from server.properties, then CLI arguments override those values.
| Argument | Description |
|---|---|
-port <1-65535> | Override server-port |
-ip <addr> | Override server-ip |
-bind <addr> | Alias of -ip |
-name <name> | Override server-name (max 16 chars) |
-maxplayers <1-8> | Override max-players |
-seed <int64> | Override level-seed |
-loglevel <level> | Override log-level (debug, info, warn, error) |
-help / --help / -h | Print usage and exit |
Examples:
Minecraft.Server.exe -name MyServer -port 25565 -ip 0.0.0.0 -maxplayers 8 -loglevel info
Minecraft.Server.exe -seed 123456789
This repository includes a lightweight Docker setup for running the Windows dedicated server under Wine.
No local build is required. The container image is pulled from GHCR.
./start-dedicated-server.sh
start-dedicated-server.sh does the following:
docker-compose.dedicated-server.ghcr.ymlIf you want to skip pulling and just start:
./start-dedicated-server.sh --no-pull
Equivalent manual command:
docker compose -f docker-compose.dedicated-server.ghcr.yml up -d
Use this only when you want to run your own locally built Minecraft.Server binary in Docker.
A local build of Minecraft.Server is required for this mode.
docker compose -f docker-compose.dedicated-server.yml up -d --build
Useful environment variables:
XVFB_DISPLAY (default: :99)XVFB_SCREEN (default: 64x64x16, tiny virtual display used by Wine)Fixed server runtime behavior in container:
/srv/mc/Minecraft.Server.exe0.0.0.025565Persistent files are bind-mounted to host:
./server-data/server.properties -> /srv/mc/server.properties./server-data/GameHDD -> /srv/mc/Windows64/GameHDDcmake --preset windows64
cmake --build --preset windows64-debug --target Minecraft.Client
For more information, see COMPILE.md.