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.

3,823 stars

Best use case

minecraftconsoles-lce is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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.

Teams using minecraftconsoles-lce should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/minecraftconsoles-lce/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/adisinghstudent/minecraftconsoles-lce/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/minecraftconsoles-lce/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How minecraftconsoles-lce Compares

Feature / Agentminecraftconsoles-lceStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this 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.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# MinecraftConsoles (Legacy Console Edition) Skill

> Skill by [ara.so](https://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](https://aka.ms/vs/17/release/vs_community.exe) with C++ desktop workload
- Git

### Clone

```bash
git clone https://github.com/smartcmd/MinecraftConsoles.git
cd MinecraftConsoles
```

### Build with Visual Studio

1. Open `MinecraftConsoles.sln` in Visual Studio 2022
2. Set **Startup Project** to `Minecraft.Client`
3. Set configuration to **Debug** (or Release), platform to **Windows64**
4. Press **F5** or **Ctrl+F5** to build and run

### Build with CMake (Windows x64)

```powershell
# 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](https://github.com/smartcmd/MinecraftConsoles/releases/tag/nightly), 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:

```powershell
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.dat` to preserve your data across renames
- Splitscreen players can join LAN/multiplayer sessions

---

## Dedicated Server

### Download Nightly Server Build

[Nightly Dedicated Server](https://github.com/smartcmd/MinecraftConsoles/releases/tag/nightly-dedicated-server)

### Run Directly (Windows)

```powershell
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.

```properties
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)

```bash
# 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`:

```bash
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:

```cpp
// 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:

```cpp
// 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`

```cpp
#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)

```cpp
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

```powershell
# 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=true` is 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_DISPLAY` env var must match what Wine uses
- The container uses a minimal `64x64x16` virtual 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 `-name` or `username.txt`, your existing `uid.dat` keeps world data linked to your account

### macOS / Linux (Wine)

- Download the Windows nightly `.zip`
- Run via `wine Minecraft.Client.exe` or CrossOver
- Stability issues (frametime pacing) are known and community-reported; not officially supported

---

## Contributing

Read [`CONTRIBUTING.md`](https://github.com/smartcmd/MinecraftConsoles/blob/main/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](https://discord.gg/jrum7HhegA) 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 |

Related Skills

---

3891
from openclaw/skills

name: article-factory-wechat

Content & Documentation

humanizer

3891
from openclaw/skills

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

Content & Documentation

find-skills

3891
from openclaw/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.

General Utilities

tavily-search

3891
from openclaw/skills

Use Tavily API for real-time web search and content extraction. Use when: user needs real-time web search results, research, or current information from the web. Requires Tavily API key.

Data & Research

baidu-search

3891
from openclaw/skills

Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.

Data & Research

agent-autonomy-kit

3891
from openclaw/skills

Stop waiting for prompts. Keep working.

Workflow & Productivity

Meeting Prep

3891
from openclaw/skills

Never walk into a meeting unprepared again. Your agent researches all attendees before calendar events—pulling LinkedIn profiles, recent company news, mutual connections, and conversation starters. Generates a briefing doc with talking points, icebreakers, and context so you show up informed and confident. Triggered automatically before meetings or on-demand. Configure research depth, advance timing, and output format. Walking into meetings blind is amateur hour—missed connections, generic small talk, zero leverage. Use when setting up meeting intelligence, researching specific attendees, generating pre-meeting briefs, or automating your prep workflow.

Workflow & Productivity

self-improvement

3891
from openclaw/skills

Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.

Agent Intelligence & Learning

botlearn-healthcheck

3891
from openclaw/skills

botlearn-healthcheck — BotLearn autonomous health inspector for OpenClaw instances across 5 domains (hardware, config, security, skills, autonomy); triggers on system check, health report, diagnostics, or scheduled heartbeat inspection.

DevOps & Infrastructure

linkedin-cli

3891
from openclaw/skills

A bird-like LinkedIn CLI for searching profiles, checking messages, and summarizing your feed using session cookies.

Content & Documentation

notebooklm

3891
from openclaw/skills

Google NotebookLM 非官方 Python API 的 OpenClaw Skill。支持内容生成(播客、视频、幻灯片、测验、思维导图等)、文档管理和研究自动化。当用户需要使用 NotebookLM 生成音频概述、视频、学习材料或管理知识库时触发。

Data & Research

小红书长图文发布 Skill

3891
from openclaw/skills

## 概述

Content & Documentation