MCppServer

MCppServer

Fast and super efficient Minecraft Server written in C++

Noeli14

Research & Data
Visit Server

README

<div align="center">

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

</div>

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.

<div align="center">

⚠️ Important ⚠️

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

</div>

🙌 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.
  • <span style="color:gray">Plugin Support soon</span>: 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
    • [x] Authentication (online mdoe)
    • [x] Encryption
    • [x] Packet Compression
  • Server Configuration
    • [x] Server Links
    • [x] Registries
    • [x] Resource Packs (multiple)
    • [x] Server Brand
    • [ ] Cookies
  • Server
    • [ ] Lua Plugin API
    • [x] Query
    • [x] RCON
    • [x] Commands
    • [x] Chat
    • [x] Translations
  • World
    • [x] World Joining
    • [x] Chunk Loading
    • [x] Tablist
    • [x] Entity Spawning
    • [x] World Loading
    • [x] Chunk Generation
    • [x] World Border
    • [x] World Time
    • [x] Bossbar
    • [x] Weather
    • [ ] Scoreboard
    • [ ] World Saving
  • Player
    • [x] Player Skins
    • [x] Client brand
    • [x] Movement
    • [x] Inventory
    • [x] Equipment
    • [x] Item Pickup
    • [ ] Combat
  • Entities
    • [x] Players
    • [ ] Mobs (Animals, Monsters)
    • [ ] Entity AI
    • [ ] Boss
    • [ ] Minecart
    • [ ] Lightning Bolt
  • Physics
    • [x] 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

Recommended Servers

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

A Model Context Protocol (MCP) server that provides comprehensive cryptocurrency analysis using the CoinCap API. This server offers real-time price data, market analysis, and historical trends through an easy-to-use interface.

Featured
TypeScript
MCP PubMed Search

MCP PubMed Search

Server to search PubMed (PubMed is a free, online database that allows users to search for biomedical and life sciences literature). I have created on a day MCP came out but was on vacation, I saw someone post similar server in your DB, but figured to post mine.

Featured
Python
dbt Semantic Layer MCP Server

dbt Semantic Layer MCP Server

A server that enables querying the dbt Semantic Layer through natural language conversations with Claude Desktop and other AI assistants, allowing users to discover metrics, create queries, analyze data, and visualize results.

Featured
TypeScript
mixpanel

mixpanel

Connect to your Mixpanel data. Query events, retention, and funnel data from Mixpanel analytics.

Featured
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python
Nefino MCP Server

Nefino MCP Server

Provides large language models with access to news and information about renewable energy projects in Germany, allowing filtering by location, topic (solar, wind, hydrogen), and date range.

Official
Python
Vectorize

Vectorize

Vectorize MCP server for advanced retrieval, Private Deep Research, Anything-to-Markdown file extraction and text chunking.

Official
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

A server that provides access to Mathematica documentation through FastMCP, enabling users to retrieve function documentation and list package symbols from Wolfram Mathematica.

Local
Python
kb-mcp-server

kb-mcp-server

An MCP server aimed to be portable, local, easy and convenient to support semantic/graph based retrieval of txtai "all in one" embeddings database. Any txtai embeddings db in tar.gz form can be loaded

Local
Python
Research MCP Server

Research MCP Server

The server functions as an MCP server to interact with Notion for retrieving and creating survey data, integrating with the Claude Desktop Client for conducting and reviewing surveys.

Local
Python