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

ioGame एक Java नेटवर्किंग फ्रेमवर्क है जो ऑनलाइन गेम, IoT और लगातार कनेक्शन की आवश्यकता वाले आंतरिक सिस्टम के लिए डिज़ाइन किया गया है। यह लॉक-फ्री, एसिंक्रोनस, इवेंट-ड्रिवन आर्किटेक्चर पर जोर देता है जो बॉक्स से बाहर क्लस्टरिंग और वितरण का समर्थन करता है, बिना किसी बाहरी मिडलवेयर या डेटाबेस की आवश्यकता के—केवल एक JVM। मुख्य विशेषताएँ शामिल हैं: - **हल्का**: छोटा jar (~15 MB), तेज़ स्टार्टअप (<1 सेकंड), कम मेमोरी फुटप्रिंट। - **लचीला आर्किटेक्चर**: तीन-भाग डिज़ाइन (External Server, Broker/Gateway, Game Logic Server) जो स्वतंत्र रूप से या एक साथ फ्यूज़ होकर चल सकता है, किसी भी गेम प्रकार के अनुकूल। - **डायनामिक स्केलिंग**: सर्वर को उड़ते हुए जोड़ें या हटाएँ, जिससे ज़ीरो-डाउनटाइम अपडेट संभव हो। - **विकेंद्रीकृत क्लस्टरिंग**: मास्टरलेस, स्व-संगठित broker क्लस्टर जिसमें कोई सिंगल पॉइंट ऑफ़ फेल्योर नहीं है। - **मल्टी-प्रोटोकॉल समर्थन**: एक कोडबेस TCP, WebSocket, UDP को एक साथ समर्थन करता है; KCP, QUIC आदि तक विस्तारणीय। डेटा प्रोटोकॉल (Protobuf, JSON) एक पंक्ति में स्विच करने योग्य। - **फुल-लिंक डिस्ट्रिब्यूटेड ट्रेसिंग**: मशीनों और प्रक्रियाओं में अद्वितीय trace IDs। - **समृद्ध संचार मॉडल**: Request/response, broadcast, event bus, और बहुत कुछ, सभी क्रॉस-प्रोसेस सक्षम। - **प्रति-खिलाड़ी थ्रेड सुरक्षा**: फ्रेमवर्क व्यक्तिगत खिलाड़ियों के लिए लॉक-फ्री कंकरेंसी की गारंटी देता है। - **कोड जनरेशन**: एक बार Java लिखें, Godot, UE, Unity, Cocos Creator, React, Vue, Angular आदि के लिए क्लाइंट SDK जनरेट करें। - **डेवलपर-फ्रेंडली**: MVC-शैली कोडिंग, JSR380 वैलिडेशन, assertions, हॉट-स्वैप प्रोटोकॉल, समान-प्रक्रिया affinity, और मल्टी-सर्वर सिंगल-प्रोसेस डिबगिंग। - **डिज़ाइन से सुरक्षित**: लॉजिक सर्वर कभी पोर्ट उजागर नहीं करते, पोर्ट-स्कैनिंग हमलों से प्रतिरक्षित। - **आधुनिक Java**: JDK 21+ की आवश्यकता, सब-मिलीसेकंड विराम के लिए Generational ZGC का लाभ उठाता है। ioGame AGPL 3.0 के तहत जारी किया गया है, 2022-03-01 से शुरू होकर कम से कम दस वर्षों के सक्रिय रखरखाव की प्रतिबद्धता के साथ। यह गेम सर्वर और IoT अनुप्रयोगों दोनों के लिए उपयुक्त है, लाखों कनेक्शन संभाल सकता है।