इस प्रोजेक्ट के बारे में

FerrumC एक Minecraft सर्वर कार्यान्वयन है जो रस्ट में खरोंच से लिखा गया है, जो Minecraft संस्करण 1.21.8 को लक्षित करता है। इसका उद्देश्य वेनिला सर्वरों का एक उच्च-प्रदर्शन, मेमोरी-कुशल विकल्प होना है, जो रस्ट की मल्टीथ्रेडिंग क्षमताओं और लॉकलेस समवर्तीता के लिए Bevy ECS आर्किटेक्चर का लाभ उठाता है। **मुख्य विशेषताएं:** - **प्रदर्शन:** पूरी तरह से मल्टीथ्रेडेड, एकल मुख्य थ्रेड के बजाय सभी उपलब्ध CPU कोर का उपयोग करता है। - **मेमोरी दक्षता:** पूर्ण-विशेषताओं वाला सर्वर अनुभव प्रदान करते हुए न्यूनतम मेमोरी का उपयोग करने के लिए डिज़ाइन किया गया है। - **विश्व आयात:** मौजूदा वेनिला Minecraft दुनिया आयात कर सकता है। - **कस्टम सिस्टम:** I/O अंतराल को कम करने के लिए कस्टम-निर्मित नेटवर्क, NBT और Anvil एन्कोडिंग सिस्टम शामिल हैं। - **तेज़ K/V डेटाबेस:** चंक भंडारण के लिए उच्च-गति कुंजी-मूल्य डेटाबेस का उपयोग करता है। - **कॉन्फ़िगरेशन:** `config.toml` फ़ाइल के माध्यम से सीधा कॉन्फ़िगरेशन। - **संगतता:** वेनिला Minecraft क्लाइंट (संस्करण 1.21.8) के साथ काम करता है। **वर्तमान स्थिति:** परियोजना प्रारंभिक अल्फा में है और अभी उत्पादन के लिए तैयार नहीं है। `rework/v2-skeleton` शाखा पर एक नया पुनर्लेखन चल रहा है, जिसे जल्द ही `master` में विलय कर दिया जाएगा। पुनर्लेखन में एक स्वच्छ कोर, एक फ्लैट क्रिएटिव दुनिया, क्षेत्र संपादन कमांड (`/fill`, `/replace`, `/undo`), एक दिन/रात चक्र, विश्व सहेजना और रस्ट-आधारित प्लगइन्स शामिल हैं। यह क्रिएटिव और मिनीगेम सर्वरों के लिए है, न कि सर्वाइवल या वेनिला-सटीक गेमप्ले के लिए। **स्थापना:** - **Docker:** `ghcr.io/ferrumc-rs/ferrumc:<version>` से पुल करें और पोर्ट 25565 के साथ चलाएँ। - **नेटिव बाइनरी:** अपने प्लेटफ़ॉर्म के लिए Releases पृष्ठ से डाउनलोड करें। - **स्रोत से:** रिपॉजिटरी क्लोन करें और `cargo build --release` चलाएँ। - **GitHub Actions:** Actions टैब से पूर्व-निर्मित आर्टिफैक्ट डाउनलोड करें। **उपयोग:** - कमांड: `setup` (कॉन्फ़िग उत्पन्न करें), `import` (विश्व डेटा आयात करें), `run` (सर्वर शुरू करें)। - विकल्प: लॉगिंग स्तर के लिए `--log` (trace, debug, info, warn, error)। **विकास:** योगदान का स्वागत है। परियोजना `tracy` सुविधा के साथ Tracy के माध्यम से प्रोफाइलिंग का समर्थन करती है। सहायता और चर्चा के लिए Discord से जुड़ें। **FAQ मुख्य बिंदु:** - Valence/Minestom (फ्रेमवर्क) से भिन्न है क्योंकि यह एक पूर्ण सर्वर प्रतिस्थापन है। - Paper/Spigot से भिन्न है क्योंकि यह सब कुछ खरोंच से लिखता है। - Pumpkin से भिन्न है क्योंकि यह वेनिला समानता पर प्रदर्शन को प्राथमिकता देता है। - प्लगइन्स FFI के माध्यम से रस्ट में लिखे जाएंगे; Java प्लगइन्स/मॉड समर्थित नहीं हैं। - भू-भाग उत्पादन की योजना है लेकिन यह बिल्कुल वेनिला नहीं हो सकता है। **लाइसेंस:** MIT लाइसेंस।