منصوبے کے بارے میں
لنگ Yggdrasil Minecraft کے لیے بنایا گیا ایک Yggdrasil بیرونی تصدیقی نظام ہے، جو authlib سسٹم کے ساتھ مکمل مطابقت رکھتا ہے، اور اکاؤنٹ رجسٹریشن، لاگ ان، کردار کے انتظام اور سکن/کیپ ہوسٹنگ کی صلاحیتیں فراہم کرتا ہے۔ اس میں بلٹ ان ویب انسٹالیشن وزرڈ، اینیمی طرز کا کنٹرول پینل اور کثیر سطحی سیکیورٹی سسٹم شامل ہے، جس سے آپ چند منٹوں میں ایک محفوظ اور خوبصورت بیرونی لاگ ان سروس قائم کر سکتے ہیں۔
## فوری آغاز
ماحولیاتی تقاضے: Java 25 (تجویز کردہ؛ نظریاتی طور پر Java 21+ معاون ہے)، کم از کم 512 MB دستیاب میموری تجویز کی جاتی ہے۔
تین مراحل میں آغاز:
1. Java ورژن کی تصدیق کریں
2. LingYggdrasil-2.2.7.jar ڈاؤن لوڈ کریں اور اسے ایک علیحدہ خالی ڈائریکٹری میں رکھیں
3. شروع کریں (یہ ڈائریکٹری ڈیٹا ڈائریکٹری بن جائے گی)
پہلی بار شروع کرنے پر خودکار طور پر انسٹالیشن وزرڈ میں داخل ہوگا (`http://<سرور ایڈریس>:35598`)، اور ہدایات کے مطابق ایڈمن اکاؤنٹ، ڈیٹا بیس اور ای میل کنفیگریشن مکمل کریں۔ انسٹالیشن مکمل ہونے کے بعد، پروگرام تین خدمات بیک وقت فراہم کرے گا:
| پورٹ | مقصد | رسائی کی حد |
|------|------|----------|
| 35565 | صارف سائیڈ (رجسٹریشن، لاگ ان، ڈیش بورڈ، سکن، دوست وغیرہ) | عوامی |
| 35577 | Yggdrasil API (Minecraft لانچر کے لیے) | عوامی |
| 35599 | ایڈمن بیک اینڈ | نجی رکھا جائے |
| 35598 | انسٹالیشن وزرڈ | صرف پہلی انسٹالیشن پر کھلا |
## خصوصیات
### آؤٹ آف دی باکس
- ویب انسٹالیشن وزرڈ: پہلی بار شروع کرنے پر خودکار طور پر ایڈمن اکاؤنٹ، ڈیٹا بیس اور میل سروس ترتیب دیتا ہے
- متعدد ڈیٹا بیس سپورٹ: SQLite، MySQL، PostgreSQL
- سنگل JAR ڈیپلائمنٹ: ایک قابل عمل JAR میں پیک کیا گیا
### پلگ ان سسٹم
- بیرونی پلگ ان لوڈنگ: شروع ہونے پر خودکار طور پر `plugins/` ڈائریکٹری اسکین کر کے پلگ ان jar لوڈ کرتا ہے
- `plugin.yml` تفصیل: Paper طرز پر مبنی، نام، ورژن، مصنف، انحصار، آئیکن اور اجازت نوڈس کا اعلان کرتا ہے
- بیک اینڈ پلگ ان مینجمنٹ: دستی طور پر شروع/روک کرنے کی حمایت
- پلگ ان سیکنڈری مینو: پلگ ان زیادہ سے زیادہ ایک بیک اینڈ سیکنڈری مینو میں رجسٹر ہو سکتا ہے
- ڈائنامک اجازت نوڈس: بلٹ ان نوڈس اور پلگ ان نوڈس یکساں طور پر ماخذ کے ذریعے متحرک طور پر رجسٹر ہوتے ہیں
- پلگ ان ڈیولپمنٹ API: تعمیر کے دوران `LingYggdrasil-plugin-api-2.2.7.jar` تیار کرتا ہے
### سیکیورٹی سسٹم
- Argon2 پاس ورڈ انکرپشن: 6 سطح کی طاقت ایڈجسٹ ایبل
- ای میل تصدیق: ڈومین نام بلیک/وائٹ لسٹ کنٹرول سپورٹ
- ایک ہی IP رجسٹریشن کی حد: بڑے پیمانے پر رجسٹریشن کو روکتا ہے
- نام بلیک لسٹ: وائلڈ کارڈ سپورٹ
- علیحدہ سیشن سسٹم: صارف سائیڈ، ایڈمن سائیڈ اور API کے لیے الگ الگ سیشن کوکیز
- Root سالمیت کا تحفظ: `root_info` ٹیبل کی تصدیق کرتا ہے
- لاگ ان اور آپریشن ریٹ لمٹنگ: اہم آپریشنز پر فریکوئنسی کی حدیں ہیں
### صارف سائیڈ
- کردار کا انتظام: متعدد گیم کردار بنائیں، ہر کردار کے پاس الگ Yggdrasil Token اور UUID ہے
- سکن اور کیپ: ذاتی سکن اور کیپ اپ لوڈ اور انتظام کریں، عرفی نام، عوامی/نجی کنٹرول سپورٹ
- میٹریل لائبریری: عوامی میٹریل پلازہ، مقبولیت کے مطابق ترتیب، لامحدود اسکرول lazy loading
- لائک اور بک مارک: میٹریل کو لائک کر کے مقبول بنائیں
- مشترکہ میٹریل: دوستوں کے ساتھ اشتراک اور میرے بک مارکس کے دو حصے
- دوست سسٹم: دوست کوڈ شامل کرنا، دوست کی تفصیل کارڈ، بلاک لسٹ مینجمنٹ، چیک باکس میٹریل شیئرنگ
- 3D سکن پیش نظارہ: skinview3d انٹیگریٹڈ، 360° گردش پیش نظارہ سپورٹ
- سیکیورٹی سیٹنگز: خود سے پاس ورڈ، ای میل، عرفی نام تبدیل کرنا، Token دیکھنا اور دوبارہ بنانا
- آپریشن لاگ: اپنے آپریشن لاگ دیکھنا، ڈاؤن لوڈ اور صاف کرنا
- تھیم اور زبان: ہلکے/گہرے تھیم سوئچ، 10 زبانیں اکاؤنٹ کے ساتھ مستقل رہتی ہیں
### ایڈمن بیک اینڈ
- ڈیش بورڈ جائزہ: صارفین، کردار، سکن/کیپ کی تعداد جیسے اہم ڈیٹا، اجزاء ڈریگ اینڈ ڈراپ ترتیب سپورٹ
- صارف مینجمنٹ: صارفین دیکھنا، تلاش، تخلیق، ترمیم، بلاک کرنا
- کردار مینجمنٹ: عالمی CRUD، نام کی تبدیلی، ملکیت کی منتقلی اور شکل سوئچنگ سپورٹ
- سکن اور کیپ مینجمنٹ: عالمی طور پر ٹیکسچر وسائل کا انتظام، اپ لوڈ سائز، تعداد، اسٹوریج پاتھ اور فریکوئنسی کی حدیں ترتیب دینا
- سیکیورٹی سیٹنگز: 6 سطح کی انکرپشن لیول بصری کارڈز
- سسٹم مینجمنٹ: سائٹ کی معلومات، فیچر سوئچز، ڈومین، اعلانات، بیان، آپریشن لاگ وغیرہ کی گروپ کنفیگریشن
- اجازت گروپس: ایڈمن اجازت گروپ اور صارف اجازت گروپ، مینو کی مرئیت اور فیچر دستیابی کا باریک کنٹرول
- ورلڈ ٹری سیٹنگز: دستخط الگورتھم، Token کی میعاد، فریکوئنسی کی حدیں، UUID ورژن جیسی پروٹوکول کنفیگریشن
### Yggdrasil پروٹوکول
- مکمل پروٹوکول نفاذ: مرکزی دھارے کے Minecraft لانچرز کے Yggdrasil تصدیقی انضمام کے ساتھ مطابقت
- تین دستخط موڈز: Ed448 (جدید)، RSA-SHA512، RSA-SHA1 (مطابقت)
- Token سسٹم: ہر کردار کے لیے خودکار طور پر 64 بٹ اعلی طاقت Token تیار کرتا ہے
- ٹیکسچر ہوسٹنگ: عوامی طور پر `/textures/{type}/{hash}` اینڈ پوائنٹ ظاہر کرتا ہے
- سیشن مینجمنٹ: مکمل لاگ ان، لاگ آؤٹ اور سیشن تصدیقی عمل
- سہولت تلاش کی توسیع: نام سے تلاش، بیچ تلاش جیسے توسیعی اینڈ پوائنٹس فراہم کرتا ہے
### بین الاقوامی کاری
بلٹ ان سادہ چینی، روایتی چینی، چینی (ہوآشیا)، English، Русский، Deutsch، Français، Italiano، 日本語، 한국어 کل 10 زبانیں۔ زبان پیک JSON فارمیٹ میں ہیں، بیرونی اوور رائڈ اور گہری انضمام سپورٹ کرتے ہیں۔
## کلائنٹ انضمام
HMCL جیسے حسب ضرورت Yggdrasil سپورٹ کرنے والے لانچرز کی مثال:
1. لانچر کے «اکاؤنٹ» یا «لاگ ان طریقہ» سیٹنگز میں «حسب ضرورت Yggdrasil / بیرونی لاگ ان» منتخب کریں
2. تصدیقی سرور ایڈریس میں API روٹ ایڈریس درج کریں (مثلاً `https://example.com`، براہ راست کنکشن کے لیے `http://<IP>:35577`)
3. صارف نام میں کردار کا نام درج کریں، پاس ورڈ میں اس کردار کا Yggdrasil Token درج کریں
## ٹیکنالوجی اسٹیک
| جزو | ٹیکنالوجی |
|------|------|
| زبان | Java 25 |
| ویب فریم ورک | Javalin |
| ڈیٹا بیس کنکشن | HikariCP کنکشن پول |
| ڈیٹا بیس | SQLite / MySQL / PostgreSQL |
| انکرپشن | Bouncy Castle (Argon2، Ed448، RSA) |
| ای میل | Eclipse Angus Mail |
| لاگنگ | Logback + SLF4J |
| سیریلائزیشن | Jackson |
| بلڈ ٹول | Maven |
## لائسنس معاہدہ
یہ پروجیکٹ GNU Affero General Public License v3.0 لائسنس کے تحت ہے۔
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.