{"id":14794126,"url":"https://github.com/ferrumc-rs/ferrumc","last_synced_at":"2026-02-16T09:02:01.050Z","repository":{"id":192193321,"uuid":"686252426","full_name":"ferrumc-rs/ferrumc","owner":"ferrumc-rs","description":"A reimplementation of the minecraft server in rust.","archived":false,"fork":false,"pushed_at":"2026-02-02T12:16:47.000Z","size":120690,"stargazers_count":2106,"open_issues_count":30,"forks_count":87,"subscribers_count":26,"default_branch":"master","last_synced_at":"2026-02-02T20:13:16.118Z","etag":null,"topics":["async-rust","concurrency","cross-platform","game-development","game-engine","game-server","minecraft","minecraft-protocol","minecraft-server","modding","multiplayer","networking","open-source","packet-handler","performance","protocol-implementation","rust","server-framework","tokio"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ferrumc-rs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"sweattypalms"}},"created_at":"2023-09-02T07:07:14.000Z","updated_at":"2026-02-02T17:17:11.000Z","dependencies_parsed_at":"2024-06-26T15:17:53.586Z","dependency_job_id":"54521865-0b44-4423-b289-6af60b63ad87","html_url":"https://github.com/ferrumc-rs/ferrumc","commit_stats":{"total_commits":420,"total_committers":13,"mean_commits":32.30769230769231,"dds":0.3642857142857143,"last_synced_commit":"e9671534025eb0000c61757186ee12c3b6959f20"},"previous_names":["sweattypalms/ferrumc"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/ferrumc-rs/ferrumc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferrumc-rs%2Fferrumc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferrumc-rs%2Fferrumc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferrumc-rs%2Fferrumc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferrumc-rs%2Fferrumc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ferrumc-rs","download_url":"https://codeload.github.com/ferrumc-rs/ferrumc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferrumc-rs%2Fferrumc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29504684,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T08:14:25.707Z","status":"ssl_error","status_checked_at":"2026-02-16T08:14:25.334Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async-rust","concurrency","cross-platform","game-development","game-engine","game-server","minecraft","minecraft-protocol","minecraft-server","modding","multiplayer","networking","open-source","packet-handler","performance","protocol-implementation","rust","server-framework","tokio"],"created_at":"2024-09-17T14:01:19.676Z","updated_at":"2026-02-16T09:02:01.043Z","avatar_url":"https://github.com/ferrumc-rs.png","language":"Rust","readme":"\u003cimg style=\"width: 100%\" src=\"https://github.com/ferrumc-rs/ferrumc/blob/master/assets/README/header.svg?raw=true\" alt=\"FerrumC Header\"\u003e\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/ferrumc-rs/ferrumc?style=for-the-badge\u0026color=red\" alt=\"License\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/languages/code-size/ferrumc-rs/ferrumc?style=for-the-badge\u0026color=red\" alt=\"Code Size\"\u003e\n    \u003cimg src=\"https://www.aschey.tech/tokei/github.com/ferrumc-rs/ferrumc?style=for-the-badge\u0026color=red\" alt=\"Lines of Code\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/language-Rust-orange?style=for-the-badge\u0026color=red\" alt=\"Language\"\u003e\n    \u003ca  href=\"https://discord.gg/qT5J8EMjwk\"\u003e\n    \u003cimg alt=\"Discord\" src=\"https://img.shields.io/discord/1277314213878173726?style=for-the-badge\u0026logo=discord\u0026logoColor=red\u0026color=red\u0026link=https%3A%2F%2Fdiscord.gg%2FqT5J8EMjwk\"\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n\n## 📖 About\n\nFerrumC is a **1.21.8** Minecraft server implementation written from the ground up in Rust. Leveraging the power of the\nRust programming language, it is completely multithreaded and offers high performance as well as amazing memory\nefficiency!\n\nVisit **[ferrumc.com](https://www.ferrumc.com)** for more information. The official **[Docs](https://docs.ferrumc.com)**\nare currently under construction, but you can join our **[Discord server](https://discord.gg/qT5J8EMjwk)** for help or\nto discuss the project!\n\n\u003cimg src=\"https://github.com/ferrumc-rs/ferrumc/blob/master/assets/README/in_game.png?raw=true\" alt=\"In-game screenshot\"\u003e\n\n## 🔗 Project Links\n\n* **Official Website:** **[ferrumc.com](https://www.ferrumc.com)**\n* **Documentation:** **[docs.ferrumc.com](https://docs.ferrumc.com)**\n* **Discord Community:** **[Join our Discord](https://discord.gg/qT5J8EMjwk)**\n* **GitHub Repository:** **[ferrumc-rs/ferrumc](https://github.com/ferrumc-rs/ferrumc)**\n\n## ✨ Key Features\n\n\u003cul\u003e\n    \u003cli\u003e\n        \u003ch4\u003e🛈 Customizable server list\u003c/h4\u003e\n        \u003cimg src=\"https://github.com/ferrumc-rs/ferrumc/blob/master/assets/README/server%20list.png?raw=true\" alt=\"Server list\"\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n        \u003ch4\u003e🚄 Extremely fast \u003c/h4\u003e\n        \u003cimg src=\"https://github.com/ferrumc-rs/ferrumc/blob/master/assets/README/mind%20boggling.gif?raw=true\" alt=\"Mind boggling\"\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n        \u003ch4\u003e🖥️ Highly efficient memory usage\u003c/h4\u003e\n        \u003cimg src=\"https://github.com/ferrumc-rs/ferrumc/blob/master/assets/README/mem_use.png?raw=true\" alt=\"Low memory usage\"\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n        \u003ch4\u003e🗂️ Straightforward Configuration\u003c/h4\u003e\n        \u003cimg src=\"https://github.com/ferrumc-rs/ferrumc/blob/master/assets/README/config.toml.png?raw=true\" alt=\"Configuration\"\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ch4\u003e🔄 Can import existing worlds from vanilla minecraft\u003c/h4\u003e\n      \u003cimg src=\"https://github.com/ferrumc-rs/ferrumc/blob/master/assets/README/chunk_importing.gif?raw=true\" alt=\"Configuration\"\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ch4\u003e🌐 Compatible with vanilla Minecraft clients (Version 1.21.8)\u003c/h4\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ch4\u003e📦 Fully multithreaded; Utilizes all available CPU cores, instead of a single \"main\" thread\u003c/h4\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ch4\u003e📝 Custom made network, NBT and Anvil encoding systems to allow for minimal I/O lag\u003c/h4\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n        \u003ch4\u003e💾 Crazy fast K/V database \u003c/h4\u003e\n        \u003ci\u003e32 render distance*\u003c/i\u003e\n        \u003cimg src=\"https://github.com/ferrumc-rs/site/blob/main/public/images/chunk_loading.gif?raw=true\" alt=\"Chunk Loading DEMO\"\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n        \u003ch4\u003e🎮 Bevy ECS for smart, lockless concurrency driven by a massive community\u003c/h4\u003e\n    \u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003e✅ Upcoming features\u003c/h2\u003e\n\n\u003cul\u003e\n   \u003cli\u003e\n      \u003ch4\u003ePvE mechanics, and entities.\u003c/h4\u003e\n   \u003c/li\u003e\n    \u003cli\u003e\n        \u003ch4\u003eWeb based server dashboard\u003c/h4\u003e\n   \u003c/li\u003e\n    \u003cli\u003e\n        \u003ch4\u003eOptimizations\u003c/h4\u003e\n   \u003c/li\u003e\n    \u003cli\u003e\n        \u003ch4\u003ePlugin support (Rust via FFI currently, other languages will be considered later)\u003c/h4\u003e\n    \u003c/li\u003e\n\u003c/ul\u003e\n\n## Goals\n\n- **Performance**: FerrumC aims to be the fastest Minecraft server implementation available, with a focus on low latency\n  and high throughput.\n- **Memory Efficiency**: FerrumC is designed to use as little memory as possible while still providing a full-featured\n  server experience.\n- **Not just a faster replacement**: FerrumC is not intended to be a perfect match for the vanilla server. We aim to\n  improve on the original server in ways other than just performance. This includes things like setup and usage,\n  configurability, plugins and more. Simply speeding up the server feels like a waste of the opportunity to do something\n  new and exciting.\n- **Ease of Use**: While it will certainly possible to run FerrumC as the backend for highly complex servers such as\n  Hypixel through the use of plugins, the main intended audience is the average user who wants to run a server for their\n  friends\n  and family. We want to make it as easy as possible to set up and run a server, while still allowing the flexibility\n  and power that advanced users need.\n- **Not taking the easy route**: We aren't scared of a little unsafe Rust or some raw SIMD instructions. If we need\n  to take some risks to get the performance we want, or need to write our own versions of libraries to get the features\n  we need, we will do it. We already have custom-made Anvil and NBT libraries that use experimental APIs and some raw\n  assembly because the existing ones just weren't up to scratch.\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Rust compiler (latest nightly version)\n- Cargo (comes with Rust)\n\n## 📥 Installation\n\n[//]: # (#### Option 1: Download pre-compiled binary \u0026#40;Maybe outdated!\u0026#41;)\n\n[//]: # ()\n\n[//]: # (1. Go to the [Releases]\u0026#40;https://github.com/ferrumc-rs/ferrumc/releases\u0026#41; page)\n\n[//]: # (2. Download the latest version for your operating system)\n\n[//]: # (3. Extract the archive to your desired location)\n\nUnfortunately, the server is **not yet ready for production use**. We are still in the early\nstages of development and are working hard to add more features and fix bugs.\nFor now, you can either **compile** the server from source or **download** from Github Actions.\n\n### [Option 1] Download from Github Actions\n\n![Where To Find](https://github.com/ferrumc-rs/ferrumc/blob/master/assets/README/download_prebuilt.gif?raw=true)\n\n1. Go to the [Actions](https://github.com/ferrumc-rs/ferrumc/actions) tab\n2. Click on the latest build\n3. Scroll all the way down to the `Artifacts` section\n4. Download the artifact for your operating system (Windows, Linux, or macOS)\n5. Follow the instructions in the `Usage` section\n\n### [Option 2] Compile from source\n\n##### Clone and build the project.\n\n```bash\n# Clone the repository\ngit clone https://github.com/ferrumc-rs/ferrumc\ncd ferrumc\n\n# Build the project\ncargo build --release\n```\n\n#### The binary will be in target/release/\n\n## 🖥️ Usage\n\n```plaintext\nUsage: ferrumc.exe [OPTIONS] [COMMAND]\n\nCommands:\nsetup   Sets up the config\nimport  Import the world data\nrun     Start the server (default, if no command is given)\nhelp    Print this message or the help of the given subcommand(s)\n\nOptions:\n--log \u003cLOG\u003e  [default: debug] [possible values: trace, debug, info, warn, error]\n-h, --help       Print help\n```\n\n1. Move the FerrumC binary (`ferrumc.exe` or `ferrumc` depending on the OS) to your desired server directory\n2. Open a terminal in that directory\n3. (Optional) Generate a config file: `./ferrumc setup`\n    - Edit the generated `config.toml` file to customize your server settings\n4. Run the server:\n    - Windows: `.\\ferrumc.exe`\n    - Linux/macOS: `./ferrumc`\n    - You can change logging level by using `--log=\u003clevel\u003e`:\n        - e.g. `.\\ferrumc.exe --log=info` for info level logging\n        - Possible values:\n            - `trace` (Extremely verbose)\n            - `debug` (Default, Slightly verbose, used for debugging)\n            - `info` (**Recommended**, useful information)\n            - `warn` (Only warnings)\n            - `error` (Only errors)\n\n### [Option 3] Use Docker\n\n1. You need to build the image : `sudo docker build -t ferrumc:yourtag .`\n2. Then run it : `docker run --rm -it -p 25565:25565 ferrumc:yourtag`\n\n## 🛠️ Development\n\nWe welcome contributions! If you'd like to contribute to FerrumC, please follow these steps:\n\n1. Fork the repository\n2. Create a new branch for your feature\n3. Implement your changes\n4. Write or update tests as necessary\n5. Submit a pull request\n\n*Please* join our [Discord server](https://discord.gg/qT5J8EMjwk) to get help or discuss the project!\nAlso have a look at our [CONTRIBUTING.md](CONTRIBUTING.md) file for more information.\n\n### 🔍 Profiling with Tracy\n\nFerrumC supports [Tracy](https://github.com/wolfpld/tracy) for profiling. To use it:\n\n1. Install and run the Tracy profiler application\n2. Build and run with the tracy feature:\n   ```bash\n   cargo run --release --features tracy\n   ```\n\n## ❔ FAQ\n\n### How does this project differ from:\n\n- **Valence**: Valence is a framework for building your own custom server by pulling in different components of their\n  library. FerrumC aims to be a full replacement for the vanilla server. It's like the difference between buying the\n  ingredients to make a meal yourself or just buying a pre-made meal.\n- **Minestom**: Same as Valence, it's a framework to build your own server, which is different to what we are trying to\n  do.\n- **Paper/Spigot/Bukkit**: These are all great tools and have undoubtedly set the groundwork for projects like this to\n  exist, but ultimately they are still somewhat bound to the original server implementation. We aim to write the entire\n  server from the ground up, hopefully giving us a leg up.\n- **Pumpkin**: Pumpkin aims to match the vanilla server as closely as possible, often sacrificing performance and referencing decompiled vanilla code to achieve 1:1 parity. FerrumC prioritizes performance and takes a clean-room approach, building systems from scratch using modern architecture like ECS rather than translating existing implementations.\n\n### Will we be implementing terrain generation?\n\nYes! We currently have some very rudimentary terrain generation and vanilla terrain is currently being worked on.\nHowever,\nwe will be implementing optimizations and cutting corners to improve performance. This could lead to the world not being\n*exactly* the same as vanilla and differences may not be fixed if they would lead to performance issues that we deem to\noutweigh the benefits of vanilla accuracy. That being said, we will try to make it as close to vanilla as possible\nwithout\nsacrificing performance.\n\n### Will there be plugins? And how?\n\nWe do very much plan to have a plugin system and as of right now we are planning to use\nsome kind of FFI (foreign function interface) to allow for plugins to be written in Rust. Plugins are not our top\npriority\nright now, and we want to make sure the API is designed well before we start implementing it to avoid breaking changes\nlater.\nWe are open to suggestions and ideas from the community on how to best implement this.\n\n### Will I be able to use plugins or mods from paper/spigot/bukkit/forge/fabric etc.?\n\nNo. Even if we did implement a perfect 1:1 API match for the vanilla server, the underlying implementation is still\ncompletely different.\nJava plugins and mods rely heavily on Java features such as reflection and dynamic class loading, which simply aren't\npossible in Rust.\nIf we made a Java translation layer, it would be extremely slow and only the most basic plugins and mods would work. If\na plugin\nor mod is basic enough to work through a translation layer, it would be much better to just rewrite it in Rust for\nperformance\nand compatibility reasons.\n\n### What does 'FerrumC' mean?\n\nIt's a play on words. Ferrum is the Latin word for iron and it ***rust***s. And MC (Minecraft) in the end.\nSo it becomes Ferru*mc*. Get it? 😄\n\n## 📜 License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE) file for details.\n\n## 🌟 Star History\n\n\u003ca href=\"https://star-history.com/#ferrumc-rs/ferrumc\u0026Date\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=ferrumc-rs/ferrumc\u0026type=Date\u0026theme=dark\" /\u003e\n   \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=ferrumc-rs/ferrumc\u0026type=Date\" /\u003e\n   \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=ferrumc-rs/ferrumc\u0026type=Date\" /\u003e\n \u003c/picture\u003e\n\u003c/a\u003e\n\n## 📊 Stats\n\n![Alt](https://repobeats.axiom.co/api/embed/9f014c2e6ded808ae2dff5de3428c65a834e4ac0.svg \"Repobeats analytics image\")\n","funding_links":["https://github.com/sponsors/sweattypalms"],"categories":["Rust","Libraries","game-development","Minecraft"],"sub_categories":["Game development","Cyberpunk 2077 / REDEngine 4"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferrumc-rs%2Fferrumc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fferrumc-rs%2Fferrumc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferrumc-rs%2Fferrumc/lists"}