minecraftconsoles-lce

安装量: 46
排名: #16138

安装

npx skills add https://github.com/aradotso/trending-skills --skill minecraftconsoles-lce

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.sln in 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 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 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 Override server-ip (bind address) -bind Alias of -ip -name Override server-name (max 16 chars) -maxplayers <1-8> Override max-players -seed Override level-seed -loglevel 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

include

include

# include 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=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 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
返回排行榜