
minecraftconsoles-lce
Expert skill for building, running, and extending MinecraftConsoles (Minecraft Legacy Console Edition) — a C++ multi-platform reimplementation with dedicated server, LAN multiplayer, and modding support.
- Installs
- 1.4K
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/reason-machines/trending-skills --skill minecraftconsoles-lce- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads minecraftconsoles-lce automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
MinecraftConsoles (Legacy Console Edition) Skill
Skill by ara.so — Daily 2026 Skills collection.
What This Project Is
MinecraftConsoles is a C++ reimplementation/continuation of Minecraft Legacy Console Edition v1.6.0560.0 (TU19), targeting modern Windows (and unofficially macOS/Linux via Wine). Goals include:
- Multi-platform base for modding, backports, and LCE development
- Quality desktop experience with keyboard/mouse and controller support
- LAN multiplayer and dedicated server software
- Splitscreen multiplayer support
Repository: smartcmd/MinecraftConsoles
Primary language: C++
Build system: Visual Studio 2022 solution (.sln) + CMake support
Quick Start
Prerequisites
- Windows (primary supported platform)
- Visual Studio 2022 with C++ desktop workload
- Git
Clone
git clone https://github.com/smartcmd/MinecraftConsoles.git
cd MinecraftConsoles
Build with Visual Studio
- Open
MinecraftConsoles.slnin Visual Studio 2022 - Set Startup Project to
Minecraft.Client - Set configuration to Debug (or Release), platform to Windows64
- Press F5 or Ctrl+F5 to build and run
Build with CMake (Windows x64)
# Configure
cmake -S . -B build -G "Visual Studio 17 2022" -A x64
# Build the client
cmake --build build --config Debug --target MinecraftClient
# Build the dedicated server
cmake --build build --config Debug --target MinecraftServer
See COMPILE.md in the repo for additional platform-specific notes.
Running the Client
Nightly Build (No Compile Needed)
Download the .zip from the Nightly Release, extract, and run Minecraft.Client.exe.
Setting Your Username
Create username.txt in the same directory as the executable:
Steve
Or use a launch argument:
Minecraft.Client.exe -name Steve
Minecraft.Client.exe -name Steve -fullscreen
Client Launch Arguments
| Argument | Description |
|---|---|
-name <username> | Override in-game username |
-fullscreen | Launch in fullscreen mode |
Keyboard & Mouse Controls
| Action | Key/Button |
|---|---|
| Move | W A S D |
| Jump / Fly Up | Space |
| Sneak / Fly Down | Shift (hold) |
| Sprint | Ctrl (hold) or double-tap W |
| Inventory | E |
| Chat | T |
| Drop Item | Q |
| Crafting | C (tabs: Q / E) |
| Attack / Destroy | Left Click |
| Use / Place | Right Click |
| Select hotbar slot | 1–9 or Mouse Wheel |
| Pause | Esc |
| Fullscreen | F11 |
| Toggle HUD | F1 |
| Toggle Debug Info | F3 |
| Debug Overlay | F4 |
| Toggle Debug Console | F6 |
| Toggle FPS/TPS view | F5 |
| Player list / Host Options | Tab |
| Accept tutorial hint | Enter |
| Decline tutorial hint | B |
LAN Multiplayer
LAN multiplayer works automatically on the Windows build:
- Hosting a world auto-advertises it on the local network
- Other players discover sessions via Join Game menu
- TCP port: 25565 (game connections)
- UDP port: 25566 (LAN discovery)
- Use the Add Server button to connect to known IPs
- Username changes are safe — keep
uid.datto preserve your data across renames - Splitscreen players can join LAN/multiplayer sessions
Dedicated Server
Download Nightly Server Build
Run Directly (Windows)
Minecraft.Server.exe -name MyServer -port 25565 -ip 0.0.0.0 -maxplayers 8 -loglevel info
Minecraft.Server.exe -seed 123456789
Server CLI Arguments
| Argument | Description |
|---|---|
-port <1-65535> | Override server-port |
-ip <addr> | Override server-ip (bind address) |
-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> | debug, info, warn, error |
-help / --help / -h | Print usage and exit |
server.properties Configuration
Located in the same directory as Minecraft.Server.exe. Auto-generated with defaults if missing.
server-name=DedicatedServer
server-port=25565
server-ip=0.0.0.0
max-players=8
level-name=world
level-id=world
level-seed=
world-size=classic
log-level=info
white-list=false
lan-advertise=false
autosave-interval=60
Key property notes:
| Key | Values | Default | Notes |
|---|---|---|---|
server-port | 1–65535 | 25565 | TCP listen port |
server-ip | string | 0.0.0.0 | Bind address |
server-name | string | DedicatedServer | Max 16 chars |
max-players | 1–8 | 8 | Player slots |
level-seed | int64 or empty | empty | Empty = random |
world-size | classic|small|medium|large | classic | New world size |
log-level | debug|info|warn|error | info | Verbosity |
autosave-interval | 5–3600 | 60 | Seconds between autosaves |
white-list | true/false | false | Enable whitelist |
lan-advertise | true/false | false | LAN advertisement |
Dedicated Server in Docker (Linux/Wine)
Recommended: Pull from GHCR (No Local Build)
# Start (pulls latest image automatically)
./start-dedicated-server.sh
# Start without pulling
./start-dedicated-server.sh --no-pull
# Equivalent manual command
docker compose -f docker-compose.dedicated-server.ghcr.yml up -d
Local Build Mode (Optional)
Requires a locally compiled Minecraft.Server.exe:
docker compose -f docker-compose.dedicated-server.yml up -d --build
Docker Persistent Volumes
| Host Path | Container Path | Purpose |
|---|---|---|
./server-data/server.properties | /srv/mc/server.properties | Server config |
./server-data/GameHDD | /srv/mc/Windows64/GameHDD | World save data |
Docker Environment Variables
| Variable | Default | Description |
|---|---|---|
XVFB_DISPLAY | :99 | Virtual display number |
XVFB_SCREEN | 64x64x16 | Virtual screen size (tiny, Wine needs it) |
Project Structure (Key Areas)
MinecraftConsoles/
├── MinecraftConsoles.sln # Visual Studio solution
├── CMakeLists.txt # CMake build definition
├── COMPILE.md # Detailed compile instructions
├── CONTRIBUTING.md # Contributor guide and project goals
├── docker-compose.dedicated-server.ghcr.yml # Docker (GHCR image)
├── docker-compose.dedicated-server.yml # Docker (local build)
├── start-dedicated-server.sh # Quick-start script
├── server-data/
│ ├── server.properties # Server config (auto-generated)
│ └── GameHDD/ # World save data
└── .github/
└── banner.png
Common C++ Patterns in This Codebase
Adding a New Key Binding (Keyboard Input)
The project added keyboard/mouse support on top of the original controller-only code. When extending input:
// Typical pattern for checking key state in the input handler
// Find the keyboard input processing file and add your key check:
bool isKeyPressed(int virtualKey) {
return (GetAsyncKeyState(virtualKey) & 0x8000) != 0;
}
// Example: adding a new toggle key
if (isKeyPressed(VK_F7)) {
// toggle your feature
myFeatureEnabled = !myFeatureEnabled;
}
Registering a Launch Argument
Follow the existing -name / -fullscreen pattern:
// In the argument parsing section (typically in main or init):
for (int i = 1; i < argc; i++) {
std::string arg = argv[i];
if (arg == "-name" && i + 1 < argc) {
username = argv[++i];
}
else if (arg == "-fullscreen") {
launchFullscreen = true;
}
// Add your argument:
else if (arg == "-myoption" && i + 1 < argc) {
myOption = argv[++i];
}
}
Reading server.properties
#include <fstream>
#include <sstream>
#include <map>
#include <string>
std::map<std::string, std::string> loadServerProperties(const std::string& path) {
std::map<std::string, std::string> props;
std::ifstream file(path);
std::string line;
while (std::getline(file, line)) {
if (line.empty() || line[0] == '#') continue;
auto eq = line.find('=');
if (eq == std::string::npos) continue;
std::string key = line.substr(0, eq);
std::string val = line.substr(eq + 1);
props[key] = val;
}
return props;
}
// Usage:
auto props = loadServerProperties("server.properties");
int port = std::stoi(props.count("server-port") ? props["server-port"] : "25565");
std::string serverName = props.count("server-name") ? props["server-name"] : "DedicatedServer";
Writing server.properties (Normalize / Auto-generate)
void writeServerProperties(const std::string& path,
const std::map<std::string, std::string>& props) {
std::ofstream file(path);
for (auto& [key, val] : props) {
file << key << "=" << val << "\n";
}
}
// Normalize level-id from level-name
std::string normalizeLevelId(const std::string& levelName) {
std::string id = levelName;
// Remove unsafe characters, lowercase, replace spaces with underscores
for (char& c : id) {
if (!std::isalnum(c) && c != '_' && c != '-') c = '_';
}
return id;
}
Troubleshooting
Build Fails: Missing Windows SDK
- Open Visual Studio Installer → Modify → add Windows 10/11 SDK
- Make sure the platform is set to Windows64 (not x86)
CMake Can't Find Visual Studio Generator
# Confirm VS 2022 is installed, then:
cmake -S . -B build -G "Visual Studio 17 2022" -A x64
# "17 2022" is the generator name for VS 2022
Game Launches But No Display / Crashes Immediately
- Ensure you're running from the directory containing all game assets
- Check that your GPU drivers support the required DirectX version
- Try Debug build for more verbose error output
Server Not Visible on LAN
- Check firewall rules allow TCP 25565 and UDP 25566
- Verify
lan-advertise=trueis NOT required for dedicated servers (it's for LAN broadcast; clients discover via Join Game) - Ensure both client and server are on the same subnet
Docker Server: Wine Can't Display
- The
XVFB_DISPLAYenv var must match what Wine uses - The container uses a minimal
64x64x16virtual framebuffer — don't change this unless you have a reason
Username Reset / UID Issues
- Do not delete
uid.dat— it stores your unique player ID - If you rename yourself via
-nameorusername.txt, your existinguid.datkeeps world data linked to your account
macOS / Linux (Wine)
- Download the Windows nightly
.zip - Run via
wine Minecraft.Client.exeor CrossOver - Stability issues (frametime pacing) are known and community-reported; not officially supported
Contributing
Read CONTRIBUTING.md before submitting PRs. Key points:
- Follow existing code style and naming conventions
- Console build compatibility should not be broken without discussion
- Security fixes are always welcome
- Check open issues (535+) for good first tasks
- Join the Discord for contributor discussion
Platform Support Summary
| Platform | Status |
|---|---|
| Windows (VS 2022) | ✅ Fully supported |
| macOS / Linux (Wine) | ⚠️ Community-reported working, unofficial |
| Android (Wine) | ⚠️ Runs with frametime issues |
| iOS | ❌ No support |
| Consoles | ⚠️ Code present, not actively maintained |
FAQ
What does the minecraftconsoles-lce skill do?
Expert skill for building, running, and extending MinecraftConsoles (Minecraft Legacy Console Edition) — a C++ multi-platform reimplementation with dedicated server, LAN multiplayer, and modding support.
How do I install minecraftconsoles-lce?
Run npx skills add https://github.com/reason-machines/trending-skills --skill minecraftconsoles-lce in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/minecraftconsoles-lce/ (personal) or .claude/skills/minecraftconsoles-lce/ (project).
Which AI agents can use minecraftconsoles-lce?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is minecraftconsoles-lce safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains minecraftconsoles-lce?
It is published by reason-machines in reason-machines/trending-skills. It has 1,372 recorded installs.
More from reason-machines/trending-skills
openclaw-control-center
reason-machines/trending-skills
Local-first, security-first control center for OpenClaw agents — visibility dashboard with readonly defaults, token attribution, collaboration tracing, and safe write operations.
inkos-multi-agent-novel-writing
reason-machines/trending-skills
Multi-agent CLI system for autonomous novel writing, auditing, and revision with human review gates
claude-hud-statusline
reason-machines/trending-skills
A Claude Code plugin that displays a real-time HUD showing context usage, active tools, running agents, and todo progress in your terminal statusline.
understand-anything-knowledge-graph
reason-machines/trending-skills
Turn any codebase into an interactive knowledge graph using Claude Code skills — explore, search, and ask questions about any project visually.
agency-agents-ai-specialists
reason-machines/trending-skills
A collection of specialized AI agent personalities for Claude Code, Cursor, Aider, Windsurf, and other AI coding tools — covering engineering, design, marketing, sales, and more.
agent-browser-automation
reason-machines/trending-skills
Headless browser automation CLI for AI agents using native Rust binary with Chrome DevTools Protocol
Popular backend & apis skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
entra-app-registration
microsoft/azure-skills
Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.
google-agents-cli-adk-code
google/agents-cli
This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).
embedded-captions
heygen-com/hyperframes
Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet anchor rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.
entra-agent-id
microsoft/azure-skills
Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmipath token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registration (use entra-app-registration), Microsoft Foundry agent authoring (use microsoft-foundry).
neon
neondatabase/agent-skills
Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, the AI Gateway, and Realtime. Start here to choose Neon for undecided login, files, APIs, and LLM calls, set up the CLI or MCP server, and follow the branch-first workflow. Use when building an app or backend on Neon, or when "Neon" or "Lakebase Postgres" is mentioned. Child skill neon-postgres wins for an existing DATABASEURL, SQL, schema, inspect, or search. Child skill neon-auth wins for login, users, sessions, identity routing, and Managed Better Auth setup. Child skill neon-realtime wins for live queries in reactive apps and agents. Also use for object storage, S3, buckets, serverless functions, function triggers, cron, AI gateway, LLM calls, realtime, logs, Loki, Grafana, observability, postgres, database, backend, Claimable Neon, neon.new, or a no-signup database.