প্রকল্প সম্পর্কে

ioGame হল একটি Java নেটওয়ার্কিং ফ্রেমওয়ার্ক যা অনলাইন গেম, IoT এবং স্থায়ী সংযোগ প্রয়োজন এমন অভ্যন্তরীণ সিস্টেমের জন্য ডিজাইন করা হয়েছে। এটি একটি লক-ফ্রি, অ্যাসিঙ্ক্রোনাস, ইভেন্ট-চালিত আর্কিটেকচারের উপর জোর দেয় যা বাক্সের বাইরে ক্লাস্টারিং এবং বিতরণ সমর্থন করে, কোনো বহিরাগত মিডলওয়্যার বা ডেটাবেসের প্রয়োজন ছাড়াই—শুধুমাত্র একটি JVM। মূল বৈশিষ্ট্যগুলির মধ্যে রয়েছে: - **হালকা**: ছোট jar (~15 MB), দ্রুত স্টার্টআপ (<1 সেকেন্ড), কম মেমরি ফুটপ্রিন্ট। - **নমনীয় আর্কিটেকচার**: তিন-অংশের ডিজাইন (External Server, Broker/Gateway, Game Logic Server) যা স্বাধীনভাবে বা একসাথে ফিউজ করে চলতে পারে, যেকোনো গেমের ধরনের সাথে খাপ খায়। - **ডায়নামিক স্কেলিং**: চলমান অবস্থায় সার্ভার যোগ বা সরান, শূন্য-ডাউনটাইম আপডেট সক্ষম করে। - **বিকেন্দ্রীভূত ক্লাস্টারিং**: মাস্টারলেস, স্ব-সংগঠিত ব্রোকার ক্লাস্টার যেখানে কোনো একক ব্যর্থতার বিন্দু নেই। - **বহু-প্রোটোকল সমর্থন**: একটি কোডবেস একই সাথে TCP, WebSocket, UDP সমর্থন করে; KCP, QUIC ইত্যাদিতে সম্প্রসারণযোগ্য। ডেটা প্রোটোকল (Protobuf, JSON) এক লাইনে পরিবর্তনযোগ্য। - **সম্পূর্ণ-লিঙ্ক বিতরণ ট্রেসিং**: মেশিন এবং প্রক্রিয়াজুড়ে অনন্য ট্রেস ID। - **সমৃদ্ধ যোগাযোগ মডেল**: অনুরোধ/প্রতিক্রিয়া, সম্প্রচার, ইভেন্ট বাস, এবং আরও অনেক কিছু, সবই ক্রস-প্রসেস সক্ষম। - **প্রতি-খেলোয়াড় থ্রেড সুরক্ষা**: ফ্রেমওয়ার্ক পৃথক খেলোয়াড়দের জন্য লক-ফ্রি কনকারেন্সি নিশ্চিত করে। - **কোড জেনারেশন**: একবার Java লিখুন, Godot, UE, Unity, Cocos Creator, React, Vue, Angular ইত্যাদির জন্য ক্লায়েন্ট SDK তৈরি করুন। - **ডেভেলপার-বান্ধব**: MVC-স্টাইল কোডিং, JSR380 ভ্যালিডেশন, অ্যাসারশন, হট-সোয়াপ প্রোটোকল, একই-প্রসেস অ্যাফিনিটি, এবং বহু-সার্ভার একক-প্রসেস ডিবাগিং। - **ডিজাইন দ্বারা সুরক্ষিত**: লজিক সার্ভার কখনও পোর্ট প্রকাশ করে না, পোর্ট-স্ক্যানিং আক্রমণ থেকে প্রতিরোধী। - **আধুনিক Java**: JDK 21+ প্রয়োজন, সাব-মিলিসেকেন্ড বিরতির জন্য জেনারেশনাল ZGC ব্যবহার করে। ioGame AGPL 3.0 এর অধীনে প্রকাশিত, 2022-03-01 থেকে কমপক্ষে দশ বছরের সক্রিয় রক্ষণাবেক্ষণের প্রতিশ্রুতি সহ। এটি গেম সার্ভার এবং IoT অ্যাপ্লিকেশন উভয়ের জন্য উপযুক্ত, লক্ষ লক্ষ সংযোগ পরিচালনা করে।