Cover image
Try Now
2024-12-13

Fast and super efficient Minecraft Server written in C++

3 years

Works with Finder

7

Github Watches

4

Github Forks

92

Github Stars

image

License: MIT Current version)

Fast and super efficient C++ 1.21.1 Minecraft Server. Compatible with Java Clients. Designed to feel like Vanilla Minecraft, but with the power of C++.

image

MCpp Server is a high-performance Minecraft server developed entirely in C++. Designed for speed, efficiency, and extensive customization, MCpp Server aims to provide a seamless and enjoyable experience for players while trying to maintain full compatibility with the latest Minecraft features.

⚠️ Important ⚠️

This project is in early development and may contain bugs and incomplete features, aswell as temporary and unoptimized code.

🙌 Progress

Want to see what I’m working on? Check out the discussion tab under Show and Tell!

🚀 Features

🏎️ Performance

  • Multi-threaded Architecture: Leverages multiple threads to handle various server tasks simultaneously.
  • Super fast and efficient Chunk Loading and Generation: Uses multiple threads to load and generate chunks with minimal Memory usage.
  • Optimized Codebase: Written in C++ for maximum efficiency and low latency.

🔧 Customization & Extensibility

  • Configurable Settings: Easily adjustable configuration files to tailor server behavior to your needs.
  • Plugin Support soon: Provides a foundation for developing and integrating custom plugins.

🌐 Networking

  • Packet Compression: Reduces bandwidth usage by compressing data packets.
  • Server Status & Ping: Provides real-time server status information and latency measurements.

🧩 Supported and WIP Features

  • Login
    • Authentication (online mdoe)
    • Encryption
    • Packet Compression
  • Server Configuration
    • Server Links
    • Registries
    • Resource Packs (multiple)
    • Server Brand
    • Cookies
  • Server
    • Lua Plugin API
    • Query
    • RCON
    • Commands
    • Chat
    • Translations
  • World
    • World Joining
    • Chunk Loading
    • Tablist
    • Entity Spawning
    • World Loading
    • Chunk Generation
    • World Border
    • World Time
    • Bossbar
    • Weather
    • Scoreboard
    • World Saving
  • Player
    • Player Skins
    • Client brand
    • Movement
    • Inventory
    • Equipment
    • Item Pickup
    • Combat
  • Entities
    • Players
    • Mobs (Animals, Monsters)
    • Entity AI
    • Boss
    • Minecart
    • Lightning Bolt
  • Physics
    • Item Physics
    • Falling Blocks

🌍 Use Pre-Generated World

Just put the world folder of your Vanilla Minecraft world in the Directory where the server executable is and it will be loaded when the server starts.

⚠️ Important Notes

  • Linux Compatibility: The Linux version has not been thoroughly tested. You may encounter issues when running MCpp Server on Linux systems. To still be able to join the server, you should turn off online mode in the config.json file.
  • Ongoing Development: MCpp Server is actively being developed. Contributions and feedback are welcome to help improve the server.

🛠️ Installation & Building

📋 Prerequisites

  • C++20 Compiler: Ensure you have a modern C++ compiler installed (e.g., GCC, Clang). On Windows you need MingW.
  • CMake: Version 3.14 or higher.
  • Git: To clone the repository.

🔧 Build Instructions

Linux:

  1. Clone the Repository

    git clone https://github.com/Noeli14/MCppServer.git
    cd MCppServer
    
  2. Create a Build Directory

    mkdir build
    cd build
    
  3. Generate Build Files with CMake

    cmake ..
    

    For Debug Build:

    cmake -DCMAKE_BUILD_TYPE=Debug ..
    

    For Release Build:

    cmake -DCMAKE_BUILD_TYPE=Release ..
    
  4. Compile the Project

    make
    

Windows (MingW & Make):

  1. Clone the Repository

    git clone https://github.com/Noeli14/MCppServer.git
    cd MCppServer
    
  2. Create a Build Directory

    mkdir build
    cd build
    
  3. Generate Build Files with CMake

    cmake .. -G "Unix Makefiles"
    

    For Debug Build:

    cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug ..
    

    For Release Build:

    cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..
    
  4. Compile the Project

    make
    

Windows (MingW & Ninja):

  1. Clone the Repository

    git clone https://github.com/Noeli14/MCppServer.git
    cd MCppServer
    
  2. Create a Build Directory

    mkdir build
    cd build
    
  3. Generate Build Files with CMake

    cmake .. -G "Ninja"
    

    For Debug Build:

    cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Debug ..
    

    For Release Build:

    cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release ..
    
  4. Compile the Project

    ninja
    

🚀 Running the Server

After a successful build, execute the server binary:

./MCppServer

📦 Data Sources

MCpp Server utilizes data from the PrismarineJS Minecraft Data repository to ensure accurate and up-to-date game mechanics and data.

🤝 Contributing

Contributions are welcome! Whether it's reporting bugs, suggesting features, or submitting pull requests, your help is greatly appreciated.

📄 License

MCpp Server is licensed under the MIT License.

📫 Contact

For any questions or support, feel free to open an issue or discussion on the GitHub repository

相关推荐

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • Lists Tailwind CSS classes in monospaced font

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • https://appia.in
  • Siri Shortcut Finder – your go-to place for discovering amazing Siri Shortcuts with ease

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • tomoyoshi hirata
  • Sony α7IIIマニュアルアシスタント

  • apappascs
  • Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.

  • ShrimpingIt
  • Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx

  • jae-jae
  • MCP server for fetch web page content using Playwright headless browser.

  • ravitemer
  • A powerful Neovim plugin for managing MCP (Model Context Protocol) servers

  • patruff
  • Bridge between Ollama and MCP servers, enabling local LLMs to use Model Context Protocol tools

  • pontusab
  • The Cursor & Windsurf community, find rules and MCPs

  • av
  • Effortlessly run LLM backends, APIs, frontends, and services with one command.

  • WangRongsheng
  • 🧑‍🚀 全世界最好的LLM资料总结(Agent框架、辅助编程、数据处理、模型训练、模型推理、o1 模型、MCP、小语言模型、视觉语言模型) | Summary of the world's best LLM resources.

  • Mintplex-Labs
  • The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.

  • appcypher
  • Awesome MCP Servers - A curated list of Model Context Protocol servers

    Reviews

    5 (1)
    Avatar
    user_T9HCC2kw
    2025-04-17

    MCppServer is an impressive and efficient C++ server application created by Noeli14. The project, available on GitHub, showcases excellent coding practices and robust functionality, making it an essential tool for any developer working with C++. The clear and welcoming start URL documentation makes setup a breeze. Highly recommend checking it out!