━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
KONQUIZTA 3.0 - بعد التعديلات والإصلاحات
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚀 تم إصلاح 17 مشكلة في السورس (منها 10 حرجة)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔴 مشاكل حرجة تم حلها
1. ثغرة صلاحية الأدمن
- ملف: Chat.cs
- المشكلة: Contains("") كانت ترجع true لكل اللاعبين
- التعديل: تغييرها لفحص طول الاسم
2. حقن SQL (ثغرة أمنية خطيرة)
- ملف: MySqlExtensions.cs + MySqlCommand.cs
- المشكلة: دالة MySqlEscape كانت معطلة بالكامل + تجاوز في Set()
- التعديل: إعادة كتابة دالة التنقية + إزالة تجاوز Comma()
3. حقن SQL في 4 ملفات أخرى
- SkillTable.cs, MailboxTable.cs, StatueTable.cs, ChiTable.cs
- التعديل: تحويل كل الاستعلامات الخام إلى Parameterized Queries
4. كلمات المرور مخزنة نصاً (Plaintext)
- ملف: AccountTable.cs
- المشكلة: كل كلمات السر كانت plaintext في قاعدة البيانات
- التعديل: إضافة SHA256 Hashing مع دعم الهجرة للحسابات القديمة
5. السيرفر يغلق على أي جهاز غير الـ VPS الأصلي
- ملف: Server.cs
- المشكلة: فحص IP ثابت 40.83.214.48 و exit() عند عدم التطابق
- التعديل: إزالة الفحص بالكامل + جعل IP قابل للتغيير من LordsRoad.ini
6. فقدان بيانات النقاط (Double Set)
- ملف: RewardTable.cs
- المشكلة: King_Reward_Point و Arena_Reward_Point لا يتم حفظهما
- التعديل: تصحيح الأعمدة المكررة
7. حساب DaysLeft خاطئ تماماً
- ملف: DetainedItemTable.cs + ClaimItemTable.cs
- المشكلة: TimeSpan.FromTicks(DateTime.Now.Ticks) يعطي 739,000 يوم
- التعديل: (DateTime.Now - item.Date).Days
8. متغير غير معرّف يسبب خطأ ترجمة
- ملف: MonsterTable.cs
- المشكلة: premioeventos → CpsDrop
9. خطأ نوع في PkExploitsTable
- ملف: PkExploitsTable.cs
- المشكلة: ReadByte مع DateTime.FromBinary
- التعديل: ReadInt64
10. ترتيب DELETE/INSERT يسبب فقدان بيانات
- ملف: DetainedItemTable.cs
- المشكلة: حذف قبل الإدراج → إذا تعطل السيرفر تفقد البيانات
- التعديل: نقل DELETE بعد INSERT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🟠 مشاكل عالية تم حلها
11. أعمدة مكررة في SkillTable, ChampionTable, ArenaTable
12. BannedIPs: استخدام GetHashCode() → تصادم وتجاوز الحظر
13. MySqlReader: Dispose مبكر للأمر
14. تسرب موارد: MySqlReader بدون using
15. Counter بدون Thread-Safety
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🟡 مشاكل متوسطة تم حلها
16. HouseTable: Reader يستخدم بعد إنشاء أمر جديد
17. Counter: إضافة lock للحماية من تعدد الخيوط
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🖥️ تشغيل السيرفر على VPS
المتطلبات:
- Windows Server 2012 أو أحدث
- MySQL 5.6+
- .NET Framework 4.0
الخطوات:
1. رفع مجلد Debug إلى الـ VPS
2. فتح LordsRoad.ini وتعديل البيانات:
[LordsRoad]
IP = (IP الـ VPS بتاعك)
GamePort = 5816
AuthPort = 9958
Servidor = (اسم السيرفر)
[MySql]
Host = localhost
Username = root
Password = (كلمة سر قاعدة البيانات)
Database = test
3. استيراد ملف cq.sql في MySQL
4. تشغيل Konquizta3.0.exe
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📦 تجهيز الباتش (FullPatch)
الملفات اللي تحتاج تعديلها:
1️⃣ AutoPatch\SocketConfig.ini
Server1=U1 (IP_VPS) 9800 (IP_VPS) 9800 4 19
2️⃣ AutoPatch\config.ini
manualupdate = عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع
webdownLink = عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع
3️⃣ ini\nameRes.ini (إذا كان عندك سيرفر Bind/Key)
host = (IP_Bind_Key)
4️⃣ ini\info.ini
web0-web3 = عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع)
5️⃣ رفع مجلد AutoPatch على سيرفر HTTP (Apache/Nginx)
عشان اللاعبين يجيبوا التحديثات
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💬 كلمة أخيرة
ده شغل بسيط لشغل كبير.
ممكن تتواصل معايا للاستفسار أو التطوير:
📱 Discord ------- yusybedo
عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع
عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━