منصوبے کے بارے میں

# HyperCraft **خود میزبان Minecraft سرور پینل —— ایک بائنری فائل، ایک مشین، کسی بھی تعداد میں سرور۔** HyperCraft ایک ہلکا پھلکا انتظامی ٹول ہے جو خاص طور پر Minecraft سرورز کے لیے ڈیزائن کیا گیا ہے۔ یہ سرور کے پیچیدہ آپریشنل کاموں کو براؤزر پر مبنی انٹرفیس میں یکجا کرتا ہے، صارفین کو گہرے Linux سسٹم علم کی ضرورت کے بغیر متعدد گیم سرور مثالوں کا آسانی سے انتظام کرنے دیتا ہے۔ ## بنیادی خصوصیات ### انتہائی آسان تعیناتی - **سنگل بائنری فائل**: بیک اینڈ اور فرنٹ اینڈ ایک ساتھ پیک، ہدف مشین پر Go، Node.js، Java یا کوئی رن ٹائم ماحول انسٹال کرنے کی ضرورت نہیں۔ - **بیرونی انحصار نہیں**: ڈیٹا بیس (جیسے MySQL/PostgreSQL) کی ضرورت نہیں، Docker کی ضرورت نہیں، ڈاؤن لوڈ اور ان زپ کرنے کے بعد شروع کریں۔ - **ڈیمن موڈ**: پینل ڈیمن کے طور پر چلتا ہے، براؤزر ٹیب بند کرنے، نیٹ ورک منقطع ہونے یا روٹر ری اسٹارٹ ہونے پر بھی سرور پروسیس چلتا رہتا ہے۔ ### طاقتور کثیر مثال انتظام - **کسی بھی تعداد میں مثالیں**: ایک مشین پر بیک وقت متعدد Minecraft سرور (Java ایڈیشن یا Bedrock ایڈیشن) چلائیں۔ - **خوبصورت کنٹرول**: اسٹارٹ، خوبصورت اسٹاپ، ری اسٹارٹ اور زبردستی ختم کرنے کی سہولت۔ خوبصورت اسٹاپ پہلے `stop` کمانڈ بھیج کر ورلڈ سیو کا انتظار کرتا ہے، ٹائم آؤٹ کے بعد سگنل بڑھاتا ہے۔ - **کریش خودکار ری اسٹارٹ**: اختیاری ترتیب، سرور غیر متوقع طور پر کریش ہونے پر خودکار بحالی۔ ### عمیق ٹرمینل تجربہ - **حقیقی ٹرمینل کنسول**: سرور سیوڈو ٹرمینل پر چلتا ہے، Tab مکمل کرنے، رنگین آؤٹ پٹ اور ونڈو چوڑائی کی خودکار موافقت کی سہولت۔ مکمل کرنے کا مواد چل رہے سرور کرنل کے ذریعے ہینڈل ہوتا ہے۔ - **دوبارہ رابطہ**: رنگ بفر کا استعمال تاریخ آؤٹ پٹ ریکارڈ کرنے کے لیے۔ دوبارہ رابطے کے بعد، کنسول خودکار طور پر غائب تاریخی لاگز مکمل کرتا ہے، نہ دہرائے نہ چھوڑے۔ ### خودکار آپریشن ٹولز - **Java ماحول کا انتظام**: ایک کلک میں Eclipse Temurin JRE/JDK انسٹال، متعدد ورژنز کی ہم آہنگی (مثلاً بیک وقت 1.12 پرانا سرور اور تازہ ترین ورژن چلانا)۔ پینل خودکار طور پر مطلوبہ Java ورژن کا پتہ لگاتا اور انسٹال کرتا ہے۔ - **سرور کور لائبریری**: Paper، Velocity وغیرہ کور ڈاؤن لوڈ ذرائع بلٹ ان، ایک ڈاؤن لوڈ کسی بھی تعداد میں مثالوں کے لیے کاپی کریں۔ - **پلگ ان مینجمنٹ**: Modrinth، Hangar، SpigotMC، GitHub Release وغیرہ پلیٹ فارمز سے پلگ ان لانے کی سہولت۔ عالمی لائبریری اور مثال کی دو سطحی انتظام، ہر ورژن الگ محفوظ تاکہ رول بیک ہو سکے۔ - **عمارت لائبریری/مارکیٹ**: `.schem` فائلوں کی لائبریری تجزیہ، سائز اور مواد براہ راست دیکھیں، اور ایک کلک میں مخصوص مثال میں انسٹال کریں۔ ### سیکیورٹی اور نگرانی - **وسائل کی نگرانی**: ہر مثال کی CPU/میموری کا گراف ریئل ٹائم میں دکھائیں، نیز پوری مشین کی میموری، ڈسک، CPU اور نیٹ ورک ٹریفک۔ ڈیٹا اکٹھا کرنا ڈیمن کے ذریعے آزادانہ ہوتا ہے، ویب پیج کی حالت سے متاثر نہیں۔ - **محفوظ ڈیفالٹ اقدار**: PBKDF2-SHA256 پاس ورڈ ہیش، لاگ ان کی رفتار کی حد، ہم آہنگ کنکشن کی حد، HttpOnly + SameSite سیشن کوکی اور ڈیوائس ٹوکن کی تصدیق۔ - **فائل سیکیورٹی**: تمام فائل آپریشن کے راستے `os.Root` سے الگ تھلگ، سختی سے مثال ڈائریکٹری تک محدود، غیر مجاز رسائی سے بچاؤ۔ ### دیگر مفید خصوصیات - **کنفیگریشن فائل ایڈیٹر**: `server.properties` کو فارم میں تبدیل، تبصرے اور کلید کی ترتیب محفوظ، چینی خودکار طور پر escape، صرف تبدیل شدہ کلید قدریں لکھیں۔ - **کنفیگریشن تاریخ**: ہر مثال کے لیے الگ Git ریپوزٹری کنفیگریشن تبدیلیاں ریکارڈ، Diff دیکھنے اور بحالی کی سہولت (نوٹ: ورلڈ ڈیٹا بیک اپ شامل نہیں)۔ - **ڈیٹا بیس ماحول**: ایک کلک میں MySQL، PostgreSQL یا MongoDB شروع، ڈیٹا بیس سپورٹ درکار پلگ انز کی ضروریات پوری کریں۔ - **مقامی ٹرمینل**: پینل والی مشین کا حقیقی Shell (ڈیفالٹ بند)، سسٹم لیول کمانڈز چلانے کے لیے آسان۔ - **پینل خود اپ ڈیٹ**: انٹرفیس پر کلک سے بائنری فائل تبدیل اور اسی جگہ ری اسٹارٹ، ناکامی پر خودکار رول بیک۔ ## فوری آغاز ریلیز پروڈکٹ سنگل فائل بائنری ہے، Linux amd64/arm64 وغیرہ آرکیٹیکچر کی حمایت کرتا ہے۔ ```bash # 1. ڈائریکٹری بنائیں اور ڈاؤن لوڈ کریں sudo mkdir -p /opt/hypercraft && cd /opt/hypercraft sudo wget https://github.com/Lanscarlos/HyperCraft/releases/download/v0.4.0/hypercraft-0.4.0-linux-amd64.tar.gz sudo tar -xzf hypercraft-0.4.0-linux-amd64.tar.gz --strip-components=1 # 2. systemd سروس انسٹال کریں sudo cp hypercraft.service /etc/systemd/system/ sudo systemctl enable --now hypercraft # 3. ابتدائی ایڈمنسٹریٹر پاس ورڈ دیکھیں sudo journalctl -u hypercraft -f ``` `http://آپ کے سرور کا IP:19190` کھولیں اور لاگ ان کریں۔ پہلی بار شروع کرنے پر بے ترتیب ایڈمنسٹریٹر پاس ورڈ بنے گا اور لاگ میں ایک بار پرنٹ ہوگا۔ > **سیکیورٹی نوٹ**: پینل ڈیفالٹ طور پر صاف HTTP سنتا ہے۔ اگر عوامی نیٹ ورک پر ظاہر کرنا ہو تو لازمی طور پر ریورس پراکسی TLS ترتیب دیں یا SSH ٹنل استعمال کریں۔ ## انٹرفیس کا جائزہ - **ڈیش بورڈ**: کارڈ طرز میں ہر سرور کی حالت دکھائیں، براہ راست آن/آف کی سہولت، ڈسک انتباہ اوپر۔ - **نئی مثال وزرڈ**: پانچ مرحلوں کا عمل کور منتخب کرنے، Java انسٹال کرنے، مثال کا نام رکھنے کی رہنمائی کرتا ہے۔ - **فائل مینیجر**: ڈریگ اینڈ ڈراپ اپ لوڈ، وقفے سے دوبارہ اپ لوڈ، آن لائن کنفیگریشن فائل ایڈیٹنگ کی سہولت۔ - **موبائل موافقت**: تنگ اسکرین پر حالت، آن/آف اور کنسول کو ترجیح، سائیڈ بار ڈریور موڈ میں سکڑ جاتا ہے۔ ## تکنیکی تفصیلات - **زبان**: Go (بیک اینڈ) + Vanilla JS (فرنٹ اینڈ، UI فریم ورک انحصار نہیں)۔ - **کارکردگی**: پینل کی مستقل ہیپ میموری تقریباً 2 MB۔ - **بلڈ**: سورس سے بلڈ کے لیے Go 1.25+ اور Node 20+ درکار۔ - **لائسنس**: MIT License۔ ## معلوم حدود اور مستقبل کے منصوبے - **فی الحال نافذ نہیں**: کھلاڑی فہرست/وائٹ لسٹ مینجمنٹ (دستی طور پر JSON تبدیل کرنا ہوگا)، خودکار بیک اپ، شیڈولڈ ٹاسک، مزید کور اقسام (Fabric/Forge)، Windows ٹرمینل سپورٹ۔ - **سسٹم مطابقت**: Temurin صرف glibc بلڈ فراہم کرتا ہے، musl سسٹم (جیسے Alpine) ممکنہ طور پر نہ چل سکے، پینل پتہ لگا کر اطلاع دے گا۔