كيفية إنشاء تعديلات لعالم الدبابات. كيفية تثبيت تعديلات الخزانات - إرشادات خطوة بخطوة على ما تتم كتابة تعديل wot عليه
قصة حول إنشاء تعديل XVM (تعديل التصور الموسع) للعبة World of Tanks. في الجزء الثاني ، ستجد وصفًا لتاريخ تطور جزء الخادم من الوضع.
المملكة القديمة
كما قلت في الجزء الأول ، تم تشغيل الواجهة الخلفية الأولى للمود على VPS ، وتمت كتابتها بلغة PHP وتخزينها في قاعدة المشغل كملفات في نظام الملفات. لتجنب حد 64 كيلو بايت inode (عادةً ما يكون حد الملفات في دليل واحد قابلاً للتكوين ، ولكن يبدو أن VPS قد تم قفل الإعداد) ، تم استخدام بنية من ثلاثة مستويات.أصبح أول حرفين من لقب اللاعب هو اسم الدليل الأول من جذر قاعدة البيانات. الحرفان التاليان هما اسم الدليل المتداخل فيه. وبالفعل كانت هناك ملفات عادية بها بيانات لاعبين وأسماء تساوي أسماء مستعارة.
بدت الطلبات على النحو التالي: http://domain.com/users/
أرسل كل لاعب طلبًا خاصًا به. وهذا يعني أن ما يصل إلى 30 طلبًا يمكن أن تأتي من معركة واحدة. صحيح ، من جانب العميل ، تم استخدام التخزين المؤقت للاعبين الذين تمت رؤيتهم بالفعل ، مما قلل قليلاً من الحمل. ثم تم التخلي عن هذا التخزين المؤقت بسبب النسبة المنخفضة للغاية من الزيارات العشوائية.
على الرغم من البدائية ، كان لهذا التطبيق ميزة كبيرة - حتى أنه عمل على VPS و "سحب" مائة أو اثنين من الطلبات في الثانية.
أمل
بعد الانتقال إلى خادم كامل ، تم حفظ تطبيق آخر بسرعة ، هذه المرة على PHP + MySQL. في ذلك الوقت ، بدا لنا أنه من أجل مهمتنا (الاستعلام عن سجل واحد حسب الفهرس) ، وحتى العمل على مثل هذه الأجهزة "القوية" (EQ4: Intel Core i7-920 ، 8 GB DDR3 ، 2x 750 GB SATA II HDD) ، يمكننا استخدام جميع أنماط التصميم المضادة - وستظل تعمل. الواقع ، كالعادة ، لم يخيب الآمال.إذن ، ما الذي "نزرعه" هناك:
- قالب الطلب ، بالطبع ، تم تركه كما هو.
- تم التحقق من الطلب بواسطة برنامج عادي من أجل التشابه مع اسم مستعار.
- بحثت في قاعدة البيانات عن هذا اللقب.
- إذا عثروا عليه وتم تحديثه منذ وقت ليس ببعيد ، فقد أعطوه في الإجابة.
- إذا لم يجدوه ، أو كان السجل قديمًا جدًا ، فستبدأ المتعة.
Request_data: (echo: 0 filtered_count: 210846 عنصرًا: [اختصار: ""، account_url: "/ community / accounts / 27030462-Alex /" ، المعارك: 3737 ، clan_url: "" ، exp: 636853 ، id: 27030462 ، الاسم: "أليكس" ، يفوز: 1686] ،….)
نرى أنه ليس لدينا الآن معرف فقط ، ولكن أيضًا رابط جاهز. يمكن تحليل كل شيء.
لحسن الحظ ، في نفس الوقت تقريبًا ، ظهر تطبيق World of Tanks Assistant للهاتف المحمول ، من Wargaming. يعرض التطبيق تمامًا إحصائيات أي لاعب. أجرى الأشخاص الطيبون بحثًا واكتشفوا بروتوكول التبادل.
تم تحميل البيانات إلى:
http://worldoftanks.ru/uc/accounts//api//؟source_token=Intellect_Soft-WoT_Mobile-unofficial_stats
نما ApiVersion من 1.3 إلى 1.7 خلال الوقت الذي استخدمناه فيه وقبل ظهور واجهة برمجة التطبيقات الرسمية. لم تكن هناك اختلافات بالنسبة لنا. صحيح أن مشكلة الحصول على playerID قبل تقديم طلب إلى API لم تختف.
ونعم ، إذا كان شخص ما لم يفهم بعد: تم طلب بيانات اللاعب مباشرة أثناء معالجة طلب العميل.
عملت هذه التحفة الهندسية باستمرار في ظل حمل يتراوح من 200 إلى 300 طلب / ثانية ، وهو ما يزيد قليلاً عن الإصدار الأول الذي كان يعمل على الملفات الثابتة. عندما زاد الحمل ، استندنا إلى وحدة المعالجة المركزية.
عصر النهضة
في البداية ، كانت اللحظات التي لم يتمكن فيها الخادم من التأقلم تحدث فقط في أمسيات الجمعة والسبت. بمرور الوقت ، ازدادت هذه "اللحظات" وازدادت. أصبح من الواضح أن شيئًا ما لم يكن صحيحًا. حملنا ليس سجلاً ، الخادم ليس هو الأضعف. تفاقمت المشكلة بسبب عدم وجود متخصصين ذوي خبرة في PHP. فضلاً عن عدم وجود متخصصين من ذوي الخبرة * لا شىء.جلس للتفكير. فكرنا في ما يلي:
- الأهم من ذلك ، بدأنا في تحسين جانب العميل ، ووجدنا طريقة ليس فقط للحصول على ألقاب اللاعبين ، ولكن أيضًا المعرفات.
- قم بتحسين طلبات العميل لطلب لاعبين ليس واحدًا تلو الآخر ، ولكن كل ذلك مرة واحدة من معركة واحدة.
- جرب حزمة NodeJS + Mongo الفاخرة.
بدأت الطلبات تبدو كما يلي:
http://domain.com/users/ أظهر الخيار الأول نتائج مشجعة - فقد سحب ما يصل إلى 100-150 طلبًا في الثانية. طلبات جديدة لـ 30 لاعبًا ، أي هذا يعادل 4000 طلب قديم لكل لاعب. لقد تأثرنا كثيرًا بالزيادة التي تجاوزت 10 مرات بسبب التغيير التكنولوجي ، وبما أنه في ذلك الوقت كان هامش الأمان قويًا للغاية ، بدأنا في تطوير القدرات "الإحصائية" لـ XVM. مرة أخرى ، جلسوا للتفكير وقرروا القيام بشيء مثل خدمة REST بالطرق التالية: تسبب خيار تطوير جزء خادم لمثل هذه المواصفات الفنية بأسلوب إجرائي في حدوث أفكار سيئة ، لذلك قررنا تجربة شيء عصري آخر: التعبير. يجب أن أقول أنه قبل ذلك لم يكن لدي أي خبرة مع أي إطار عمل MVC ، ولكن على الرغم من ذلك ، فقد اكتشفت ذلك بسرعة كبيرة ، وحرفياً قمت بعمل أول إصدار عملي في أمسيتين. بشكل عام أقول أحر الكلمات للتعبير عن المطورين عن إمكانية البدء السريع. الخادم الناتج ، أولاً ، يعمل بشكل جيد ، وثانيًا ، كان كوده ممتعًا للعين ، على عكس الإصدار القديم. في هذه الموجة من الإلهام ، قررت أن "أمشي كالمشي!" وأضاف النمس إلى مشروع ODM. أصبح الرمز أكثر جمالًا ، بينما كنت أجري الاختبارات على آلة محلية ، لم أكن أسعد حرفيًا أن كل شيء كان جميلًا في مكانه وكيف كان كل شيء بسيطًا ومنطقيًا. حان الوقت لنشر هذا الجمال على الخادم. نشر. تم الفحص - إنه يعمل! لقد غادر لمدة 20 دقيقة ، جئت لأتأكد - لا يعمل. أنظر في وحدة التحكم - عملية العقدة قيد التشغيل. أعد التشغيل. يعمل لبضع ثوان ، ثم - مكتوما. لن أسحبها لفترة طويلة: كانت المشكلة في وحدة المعالجة المركزية. في ظل الحمل المسائي المعتاد في ذلك الوقت ، قام متغير الكود بدون النمس بهضم هذا العبء على سبيل المزاح ، لكن البديل مع النمس (على الرغم من كل جماله) لم يفعل ذلك. اضطررت للأسف إلى التراجع عن جميع التغييرات تقريبًا لعدة أيام. لقد انتقلنا. أشعر بتحسن. هذا صحيح ، ليس لوقت طويل. بمجرد حدوث العطلة الشتوية ، ظهرت المشكلة مرة أخرى. على حساب الشامانية على الكود ، تمكنا من رفع معدل الطلب من 150 إلى 180-200 في الثانية ، لكن هذا لا يزال غير كافٍ. في إحدى الأمسيات ، عندما كان كل شيء تقريبًا مستلقيًا ، من أجل التحقق ، علقت على مجموعة التعليمات البرمجية المسؤولة عن تحديث اللاعبين "منتهية الصلاحية" باستخدام WG API و ... لقد نجحت. وليس سيئًا: لقد حصلنا على 240 ثابتًا مع قمم تصل إلى 260 طلبًا / ثانية. بعد بضعة أيام ، وُلد رمز تم فيه فصل مُحدِّث اللاعب إلى عملية مستقلة منفصلة ، ولم يضيف الرمز الذي يتفاعل مباشرة مع العملاء سوى معرّفات اللاعبين الذين كانوا بحاجة إلى التحديث في مجموعة منفصلة. استمرت هذه الترقية لمدة شهر تقريبًا. ومرة أخرى رأينا جميع المشكلات نفسها: في المساء ، بدأ تفويت طلبات العملاء. هذه المرة واجهنا IOPS. بدون تفكير طويل ، في مارس 2013 ، طلبنا معدات إضافية لخادمنا: محرك أقراص SSD بسعة 240 جيجابايت. لم يكن هناك خط من الخوادم مع محركات أقراص SSD مثبتة مسبقًا في ذلك الوقت. ساعد! بدأ الخادم في سحب ما يصل إلى 380-400 طلب / ثانية. لمدة نصف عام تقريبًا ، كان كل شيء يعمل بسلاسة تامة ولم يتسبب في أي شكاوى معينة من المستخدمين. في أغسطس 2013 ، انتقلنا إلى EX40-SSD الذي تم طرحه حديثًا ، لأنه يناسب أغراضنا بشكل أفضل وكان أرخص من EX-4S مع SSD إضافي. وفي نهاية عام 2013 .. توقعت الأمر ، كانت لدينا نفس المشكلة. علاوة على ذلك ، هذه المرة لم تكن هناك حلول واضحة وبسيطة. تم عمل السحر الأخير فوق الكود. الخادم جيد جدا. q4x2 ، الذي * لا متخصص ، بدوره ، "قام بتلويث" الخادم "بأفضل ما أستطيع." محتويات /etc/sysctl.conf للمهتمين # ملف تكوين Kernel sysctl لـ Red Hat Linux # يتحكم في إعادة توجيه حزم IP # ضوابط التحقق من مسار المصدر # لا تقبل توجيه المصدر # يتحكم في وظيفة تصحيح أخطاء طلب النظام للنواة # يتحكم في ما إذا كانت عمليات التفريغ الأساسية ستلحق PID باسم الملف الأساسي. # يتحكم في استخدام ملفات تعريف الارتباط المتزامنة TCP # يتحكم في الحد الأقصى للحجم الافتراضي لقائمة انتظار الرسائل # يتحكم في الحد الأقصى لحجم الرسالة بالبايت # يتحكم في الحد الأقصى لحجم الجزء المشترك بالبايت # يتحكم في الحد الأقصى لعدد مقاطع الذاكرة المشتركة ، في الصفحات fs.file-max = 5000000 بما أنني ، كالعادة ، أردت شيئًا جديدًا ، وقع الاختيار على D والإطار المفعم بالحيوية. المثير للدهشة ، حتى أنا ، الذي كنت أعمل بشكل حصري تقريبًا على JS خلال السنوات الثلاث الماضية ، تمكنت من اختلاق نسخة عمل بسرعة نسبيًا. لقد طورته تحت Windows. ولكن عند النشر بموجب Centos 6.5 ، واجهتنا صعوبات كبيرة في تلبية التبعيات. كان على Linker أن يصف الأشياء الواضحة يدويًا. لم يكن من الممكن التغلب على الصعوبات حتى النهاية ، لذلك تم إنهاء التجربة مع D قبل الموعد المحدد. لقد أحببنا حقًا اللغة نفسها ، ولكن حتى الآن ، للأسف ، لديها مشاكل مع مجموعة الأدوات. بينما كنا نكتب كل هذا ، لم يستطع الخادم التعامل في المساء: لم يكن هناك وحدة معالجة مركزية كافية. لذلك قررنا اتخاذ خطوة أخرى ، هذه المرة إلى PX90-SSD (Xeon E5-1650 v2 ، 64 جيجا بايت ECC DDR3 ، 2 × 240 جيجا بايت SSD). في هذا الوقت فقط ، قررنا تقديم تفعيل الإحصائيات على موقعنا. هذا يعني أن رموز الوصول التي يتلقاها العملاء سوف تتجول في الشبكة مع كل طلب. لتأمينها قليلاً ، تمت استضافة الخادم خلف HTTPS. ثم كانت تنتظرنا مفاجأة أخرى. أعلى قليلاً ، ذكرت تقرحات الأطفال في كود جافا. في غضون ذلك ، تعاملنا معهم لمدة أسبوعين ، ولم يعمل كود جافا بشكل أفضل من الرمز القديم ، وكان من المحتمل جدًا أن الخادم السداسي لن يسحب الوكيل + https. من أجل عدم انتظار حدوث معجزة ، تم شراء خادم آخر على الفور: EX40 (i7-4770 ، 32 جيجابايت DDR3 ، 2 × 2 تيرابايت HDD) ليكون واجهة أمامية ويسحب https. صنع الألمان خادمًا ، ولكن مع مشكلة صغيرة واحدة ، كما اتضح لاحقًا: تم تعيين IP له في نطاق 5.x.x.x. لقد صنعنا واجهة أمامية عليها ، وعمل كل شيء بشكل رائع ، لكن بدأت الشكاوى تتراكم على المنتدى من أشخاص لم يعملوا. بعد إجراء القليل من البحث حول هذه المشكلة ، اكتشفنا أن مشكلة 5.x.x هي مشكلة معروفة ، وهي مرتبطة بتطبيق يسمى Hamachi. علاوة على ذلك ، انتقلت الإصدارات الجديدة من Hamachi إلى 25.x.x.x (أتساءل عما إذا كان هؤلاء الأشخاص في الأساس لا يريدون استخدام الشبكات الخاصة لأغراضهم الخاصة؟) ، لكن هذا لم يجعل الأمر أسهل بالنسبة لنا. اضطررت إلى العودة إلى الخادم الرئيسي ، لأنه بحلول ذلك الوقت كان بإمكانه بالفعل التعامل مع اقتصادنا بالكامل بمفرده ، وحتى مع وجود إمدادات قوية. في المجموع ، لدينا في الوقت الحالي الواجهة الخلفية بأكملها: تعمل التعليمات البرمجية + قاعدة البيانات الخاصة بنا على نفس الخادم. نادرا ما تتجاوز متوسطات الحمل واحدًا. ولكننا توصلنا الآن إلى عملية إعادة تنظيم أخرى لمزرعة الخوادم مع نقل قاعدة البيانات إلى خادم منفصل. أحد الأسباب: يواجه Mongo وقتًا عصيبًا للغاية مع بداية باردة - بعد إعادة التشغيل ، لا يسحب حتى نصف الحمل الذي يسحبه بعد الإحماء (بسبب هذا ، بالمناسبة ، كانت هناك مشاكل في 3 أغسطس -4). سيسمح لك النقل إلى خادم منفصل بعدم لمسه. سبب آخر هو أن لدينا بعض الأفكار لتطوير التعديل ، الأمر الذي سيتطلب زيادة كبيرة في حجم قاعدة البيانات. قد لا تكون 2 * 240 جيجابايت الحالية كافية. بشكل عام ، يمكننا القول أن مشكلة الواجهة الخلفية من جانبنا قد تم حلها. يبقى الآخر. المشكلة الأكثر أهمية بالنسبة لنا هي الحد من عدد الطلبات من IP واحد. في الوقت الذي لم تكن فيه واجهة برمجة تطبيقات عامة حتى الآن ، كان الحد الأقصى لكل IP حوالي 10 طلبات / ثانية. كنا ، بعبارة ملطفة ، غير كافيين. لذلك ، فقد خرجوا بأفضل ما في وسعهم: كان لدينا العديد من الخوادم الوكيلة التي تم من خلالها إرسال طلبات واجهة برمجة التطبيقات. مع ظهور API ، أصبح الأمر أسهل قليلاً من حيث الحد المتاح. تم تعيين حالة ممتازة لتطبيقنا ، والتي تمنحنا نظريًا الحق في تقديم 50 طلبًا / ثانية. ثم يبدأ A: هذا يختتم الجزء الثاني من القصة. سيكون هناك جزء آخر أمامك ، والذي سيخبرنا عن الشيء الأكثر إثارة للاهتمام - تطوير جزء العميل من التعديل. العلامات: قصة حول إنشاء تعديل XVM (تعديل التصور الموسع) للعبة World of Tanks. في الجزء الثاني ، ستجد وصفًا لتاريخ تطور جزء الخادم من الوضع. أصبح أول حرفين من لقب اللاعب هو اسم الدليل الأول من جذر قاعدة البيانات. الحرفان التاليان هما اسم الدليل المتداخل فيه. وبالفعل كانت هناك ملفات عادية بها بيانات لاعبين وأسماء تساوي أسماء مستعارة. بدت الطلبات على النحو التالي: http://domain.com/users/ أرسل كل لاعب طلبًا خاصًا به. وهذا يعني أن ما يصل إلى 30 طلبًا يمكن أن تأتي من معركة واحدة. صحيح ، من جانب العميل ، تم استخدام التخزين المؤقت للاعبين الذين تمت رؤيتهم بالفعل ، مما قلل قليلاً من الحمل. ثم تم التخلي عن هذا التخزين المؤقت بسبب النسبة المنخفضة للغاية من الزيارات العشوائية. على الرغم من البدائية ، كان لهذا التطبيق ميزة كبيرة - حتى أنه عمل على VPS و "سحب" مائة أو اثنين من الطلبات في الثانية. إذن ، ما الذي "نزرعه" هناك: Request_data: (echo: 0 filtered_count: 210846 عنصرًا: [اختصار: ""، account_url: "/ community / accounts / 27030462-Alex /" ، المعارك: 3737 ، clan_url: "" ، exp: 636853 ، id: 27030462 ، الاسم: "أليكس" ، يفوز: 1686] ،….) لحسن الحظ ، في نفس الوقت تقريبًا ، ظهر تطبيق World of Tanks Assistant للهاتف المحمول ، من Wargaming. يعرض التطبيق تمامًا إحصائيات أي لاعب. أجرى الأشخاص الطيبون بحثًا واكتشفوا بروتوكول التبادل. تم تحميل البيانات إلى: ونعم ، إذا كان شخص ما لم يفهم بعد: تم طلب بيانات اللاعب مباشرة أثناء معالجة طلب العميل. عملت هذه التحفة الهندسية باستمرار في ظل حمل يتراوح من 200 إلى 300 طلب / ثانية ، وهو ما يزيد قليلاً عن الإصدار الأول الذي كان يعمل على الملفات الثابتة. عندما زاد الحمل ، استندنا إلى وحدة المعالجة المركزية. جلس للتفكير. فكرنا في ما يلي: بدأت الطلبات تبدو كما يلي: http://domain.com/users/ أظهر الخيار الأول نتائج مشجعة - فقد سحب ما يصل إلى 100-150 طلبًا في الثانية. طلبات جديدة لـ 30 لاعبًا ، أي هذا يعادل 4000 طلب قديم لكل لاعب. لقد تأثرنا كثيرًا بالزيادة التي تجاوزت 10 مرات بسبب التغيير التكنولوجي ، وبما أنه في ذلك الوقت كان هامش الأمان قويًا للغاية ، بدأنا في تطوير القدرات "الإحصائية" لـ XVM. مرة أخرى ، جلسوا للتفكير وقرروا القيام بشيء مثل خدمة REST بالطرق التالية: تسبب خيار تطوير جزء خادم لمثل هذه المواصفات الفنية بأسلوب إجرائي في حدوث أفكار سيئة ، لذلك قررنا تجربة شيء عصري آخر: التعبير. يجب أن أقول أنه قبل ذلك لم يكن لدي أي خبرة مع أي إطار عمل MVC ، ولكن على الرغم من ذلك ، فقد اكتشفت ذلك بسرعة كبيرة ، وحرفياً قمت بعمل أول إصدار عملي في أمسيتين. بشكل عام أقول أحر الكلمات للتعبير عن المطورين عن إمكانية البدء السريع. الخادم الناتج ، أولاً ، يعمل بشكل جيد ، وثانيًا ، كان كوده ممتعًا للعين ، على عكس الإصدار القديم. في هذه الموجة من الإلهام ، قررت أن "أمشي كالمشي!" وأضاف النمس إلى مشروع ODM. أصبح الرمز أكثر جمالًا ، بينما كنت أجري الاختبارات على آلة محلية ، لم أكن أسعد حرفيًا أن كل شيء كان جميلًا في مكانه وكيف كان كل شيء بسيطًا ومنطقيًا. حان الوقت لنشر هذا الجمال على الخادم. نشر. تم الفحص - إنه يعمل! لقد غادر لمدة 20 دقيقة ، جئت لأتأكد - لا يعمل. أنظر في وحدة التحكم - عملية العقدة قيد التشغيل. أعد التشغيل. يعمل لبضع ثوان ، ثم - مكتوما. لن أسحبها لفترة طويلة: كانت المشكلة في وحدة المعالجة المركزية. في ظل الحمل المسائي المعتاد في ذلك الوقت ، قام متغير الكود بدون النمس بهضم هذا العبء على سبيل المزاح ، لكن البديل مع النمس (على الرغم من كل جماله) لم يفعل ذلك. اضطررت للأسف إلى التراجع عن جميع التغييرات تقريبًا لعدة أيام. لقد انتقلنا. أشعر بتحسن. هذا صحيح ، ليس لوقت طويل. بمجرد حدوث العطلة الشتوية ، ظهرت المشكلة مرة أخرى. على حساب الشامانية على الكود ، تمكنا من رفع معدل الطلب من 150 إلى 180-200 في الثانية ، لكن هذا لا يزال غير كافٍ. في إحدى الأمسيات ، عندما كان كل شيء تقريبًا مستلقيًا ، من أجل التحقق ، علقت على مجموعة التعليمات البرمجية المسؤولة عن تحديث اللاعبين "منتهية الصلاحية" باستخدام WG API و ... لقد نجحت. وليس سيئًا: لقد حصلنا على 240 ثابتًا مع قمم تصل إلى 260 طلبًا / ثانية. بعد بضعة أيام ، وُلد رمز تم فيه فصل مُحدِّث اللاعب إلى عملية مستقلة منفصلة ، ولم يضيف الرمز الذي يتفاعل مباشرة مع العملاء سوى معرّفات اللاعبين الذين كانوا بحاجة إلى التحديث في مجموعة منفصلة. استمرت هذه الترقية لمدة شهر تقريبًا. ومرة أخرى رأينا جميع المشكلات نفسها: في المساء ، بدأ تفويت طلبات العملاء. هذه المرة واجهنا IOPS. بدون تفكير طويل ، في مارس 2013 ، طلبنا معدات إضافية لخادمنا: محرك أقراص SSD بسعة 240 جيجابايت. لم يكن هناك خط من الخوادم مع محركات أقراص SSD مثبتة مسبقًا في ذلك الوقت. ساعد! بدأ الخادم في سحب ما يصل إلى 380-400 طلب / ثانية. لمدة نصف عام تقريبًا ، كان كل شيء يعمل بسلاسة تامة ولم يتسبب في أي شكاوى معينة من المستخدمين. في أغسطس 2013 ، انتقلنا إلى EX40-SSD الذي تم طرحه حديثًا ، لأنه يناسب أغراضنا بشكل أفضل وكان أرخص من EX-4S مع SSD إضافي. وفي نهاية عام 2013 .. توقعت الأمر ، كانت لدينا نفس المشكلة. علاوة على ذلك ، هذه المرة لم تكن هناك حلول واضحة وبسيطة. تم عمل السحر الأخير فوق الكود. الخادم جيد جدا. q4x2 ، الذي * لا متخصص ، بدوره ، "قام بتلويث" الخادم "بأفضل ما أستطيع." محتويات /etc/sysctl.conf للمهتمين # ملف تكوين Kernel sysctl لـ Red Hat Linux # يتحكم في إعادة توجيه حزم IP # ضوابط التحقق من مسار المصدر # لا تقبل توجيه المصدر # يتحكم في وظيفة تصحيح أخطاء طلب النظام للنواة # يتحكم في ما إذا كانت عمليات التفريغ الأساسية ستلحق PID باسم الملف الأساسي. # يتحكم في استخدام ملفات تعريف الارتباط المتزامنة TCP # يتحكم في الحد الأقصى للحجم الافتراضي لقائمة انتظار الرسائل # يتحكم في الحد الأقصى لحجم الرسالة بالبايت # يتحكم في الحد الأقصى لحجم الجزء المشترك بالبايت # يتحكم في الحد الأقصى لعدد مقاطع الذاكرة المشتركة ، في الصفحات fs.file-max = 5000000 بما أنني ، كالعادة ، أردت شيئًا جديدًا ، وقع الاختيار على D والإطار المفعم بالحيوية. المثير للدهشة ، حتى أنا ، الذي كنت أعمل بشكل حصري تقريبًا على JS خلال السنوات الثلاث الماضية ، تمكنت من اختلاق نسخة عمل بسرعة نسبيًا. لقد طورته تحت Windows. ولكن عند النشر بموجب Centos 6.5 ، واجهتنا صعوبات كبيرة في تلبية التبعيات. كان على Linker أن يصف الأشياء الواضحة يدويًا. لم يكن من الممكن التغلب على الصعوبات حتى النهاية ، لذلك تم إنهاء التجربة مع D قبل الموعد المحدد. لقد أحببنا حقًا اللغة نفسها ، ولكن حتى الآن ، للأسف ، لديها مشاكل مع مجموعة الأدوات. بينما كنا نكتب كل هذا ، لم يستطع الخادم التعامل في المساء: لم يكن هناك وحدة معالجة مركزية كافية. لذلك قررنا اتخاذ خطوة أخرى ، هذه المرة إلى PX90-SSD (Xeon E5-1650 v2 ، 64 جيجا بايت ECC DDR3 ، 2 × 240 جيجا بايت SSD). في هذا الوقت فقط ، قررنا تقديم تفعيل الإحصائيات على موقعنا. هذا يعني أن رموز الوصول التي يتلقاها العملاء سوف تتجول في الشبكة مع كل طلب. لتأمينها قليلاً ، تمت استضافة الخادم خلف HTTPS. ثم كانت تنتظرنا مفاجأة أخرى. أعلى قليلاً ، ذكرت تقرحات الأطفال في كود جافا. في غضون ذلك ، تعاملنا معهم لمدة أسبوعين ، ولم يعمل كود جافا بشكل أفضل من الرمز القديم ، وكان من المحتمل جدًا أن الخادم السداسي لن يسحب الوكيل + https. من أجل عدم انتظار حدوث معجزة ، تم شراء خادم آخر على الفور: EX40 (i7-4770 ، 32 جيجابايت DDR3 ، 2 × 2 تيرابايت HDD) ليكون واجهة أمامية ويسحب https. صنع الألمان خادمًا ، ولكن مع مشكلة صغيرة واحدة ، كما اتضح لاحقًا: تم تعيين IP له في نطاق 5.x.x.x. لقد صنعنا واجهة أمامية عليها ، وعمل كل شيء بشكل رائع ، لكن بدأت الشكاوى تتراكم على المنتدى من أشخاص لم يعملوا. بعد إجراء القليل من البحث حول هذه المشكلة ، اكتشفنا أن مشكلة 5.x.x هي مشكلة معروفة ، وهي مرتبطة بتطبيق يسمى Hamachi. علاوة على ذلك ، انتقلت الإصدارات الجديدة من Hamachi إلى 25.x.x.x (أتساءل عما إذا كان هؤلاء الأشخاص في الأساس لا يريدون استخدام الشبكات الخاصة لأغراضهم الخاصة؟) ، لكن هذا لم يجعل الأمر أسهل بالنسبة لنا. اضطررت إلى العودة إلى الخادم الرئيسي ، لأنه بحلول ذلك الوقت كان بإمكانه بالفعل التعامل مع اقتصادنا بالكامل بمفرده ، وحتى مع وجود إمدادات قوية. في المجموع ، لدينا في الوقت الحالي الواجهة الخلفية بأكملها: تعمل التعليمات البرمجية + قاعدة البيانات الخاصة بنا على نفس الخادم. نادرا ما تتجاوز متوسطات الحمل واحدًا. ولكننا توصلنا الآن إلى عملية إعادة تنظيم أخرى لمزرعة الخوادم مع نقل قاعدة البيانات إلى خادم منفصل. أحد الأسباب: يواجه Mongo وقتًا عصيبًا للغاية مع بداية باردة - بعد إعادة التشغيل ، لا يسحب حتى نصف الحمل الذي يسحبه بعد الإحماء (بسبب هذا ، بالمناسبة ، كانت هناك مشاكل في 3 أغسطس -4). سيسمح لك النقل إلى خادم منفصل بعدم لمسه. سبب آخر هو أن لدينا بعض الأفكار لتطوير التعديل ، الأمر الذي سيتطلب زيادة كبيرة في حجم قاعدة البيانات. قد لا تكون 2 * 240 جيجابايت الحالية كافية. بشكل عام ، يمكننا القول أن مشكلة الواجهة الخلفية من جانبنا قد تم حلها. يبقى الآخر. المشكلة الأكثر أهمية بالنسبة لنا هي الحد من عدد الطلبات من IP واحد. في الوقت الذي لم تكن فيه واجهة برمجة تطبيقات عامة حتى الآن ، كان الحد الأقصى لكل IP حوالي 10 طلبات / ثانية. كنا ، بعبارة ملطفة ، غير كافيين. لذلك ، فقد خرجوا بأفضل ما في وسعهم: كان لدينا العديد من الخوادم الوكيلة التي تم من خلالها إرسال طلبات واجهة برمجة التطبيقات. مع ظهور API ، أصبح الأمر أسهل قليلاً من حيث الحد المتاح. تم تعيين حالة ممتازة لتطبيقنا ، والتي تمنحنا نظريًا الحق في تقديم 50 طلبًا / ثانية. ثم يبدأ A: هذا يختتم الجزء الثاني من القصة. سيكون هناك جزء آخر أمامك ، والذي سيخبرنا عن الشيء الأكثر إثارة للاهتمام - تطوير جزء العميل من التعديل. العلامات: يمكن أن يكون تثبيت التعديلات في الألعاب مهمة شاقة. ولكن في World of Tanks ، أضاف المطورون في البداية دعمًا للتعديلات المخصصة ، لذلك في مجلد اللعبة ، يوجد مجلد خاص للتعديلات يسمى res_mods ، وهو المسؤول عن التعديلات. دعونا نلقي نظرة على كيفية عمل كل هذا بشكل عام في Wot. أولاً ، تقوم اللعبة بتحميل جميع الموارد من مجلد الدقة ، والذي يحتوي على ملفات اللعبة مثل الصوت ، والقوام ، والنماذج ، والبرامج النصية ، والمزيد. يتم تعبئة كل هذا في World of Tanks في الأرشيف حتى يتم تحميل اللعبة بشكل أسرع قليلاً. في الواقع ، يمكننا أخذ الملف الذي نحتاجه من هناك (على سبيل المثال ، جلد الخزان) وتغييره. ثم نعيدها ، لتحل محل الملف الحالي. وسيعمل كل شيء. لكن هذه الطريقة غير مريحة ، أولاً ، سيتعين علينا حفظ الملفات الأصلية في حالة عدم نجاح أي شيء ، وثانيًا ، عندما يكون هناك الكثير من التعديلات ، لن نتمكن من حذف كل هذا ، لأننا بحاجة إلى تذكر ماذا وأين رميناها. هذا ما يوجد من أجله مجلد res_mods ، بعد أن تقوم اللعبة بتحميل الملفات من مجلد res ، تقوم بتحميل الملفات من res_mods ، وإذا كان هناك ملف تم تحميله بالفعل من مجلد res ، فستتخذ اللعبة الخيار الأخير ، وهذا هو ، لدينا المعدل من مجلد res_mods. هذه هي الطريقة التي يتم بها كل شيء في World of Tanks بطريقة مريحة. في الوقت الحالي ، يوجد مجلدين للتعديل في World of Tanks. الأول هو تعديل ، ظهر مؤخرًا وهو ضروري للتعديلات التي تم تعبئتها ولها تنسيق .wotmods. كان المجلد الثاني تقريبًا من البداية ، وهذا هو res_mods ، وهو ضروري لتعديل غير معبأ. يحتوي كلا المجلدين على المزيد من المجلدات بداخلهما ، برقم الإصدار الحالي للعبة ، الآن هو 1.6.1.0 ، ويمكن ببساطة حذف مجلدات الإصدارات الأقدم حتى لا تتدخل. على موقعنا ، في كل تعديل ، نكتب كيفية تثبيته. ولكن غالبًا ما ننشر التعديلات بالفعل مع المجلدات الضرورية ، وبالتالي ، كل ما هو مطلوب هو فتح الأرشيف الذي تم تنزيله ونسخه (أو فك ضغط المحتويات أو نقلها بالماوس ، هذا هو الشيء نفسه) إلى المجلد الذي لديك تركيب عالم الدبابات. ملاحظة: إذا لم تقم بتغيير أي شيء أثناء تثبيت اللعبة ، فسيتم تثبيت الدبابات في C: \\ Games \ World_of_Tanks. في الواقع هذا هو المجلد مع اللعبة. نقرأ دائمًا وصف التعديل ، ونكتب دائمًا بالضبط كيفية تثبيت هذا أو ذاك. فيما يلي قائمة بالإعدادات الممكنة. خيارات لتثبيت التعديلات لإزالة تعديل معين ، تحتاج إلى معرفة الملفات التي تم تثبيتها وإزالتها ببساطة. ولإزالة جميع التعديلات من الخزانات ، تحتاج فقط إلى مسح مجلدات mods / 1.6.1.0 و res_mods / 1.6.1.0. لكن لا تحذف مجلدات 1.6.1.0 بأي حال من الأحوال ، وإلا فلن تبدأ اللعبة. يستخدم كل لاعب في ألعاب الكمبيوتر الحديثة تعديلات. قد يكون هذا قصة جديدة أو استراتيجية إضافية أو ميزات لاعب أو تشغيل بعض الميزات في اللعبة. لم يكن World of Tanks استثناءً ، لذا فإن تعلم كيفية تثبيت نموذج في عالم الدبابات لن يكون أبدًا غير ضروري. وحتى إذا كان بإمكانك الاستغناء عن الخيارات الإضافية في الوقت الحالي ، فقد ترغب في تبسيط حياتك في المستقبل ، أو إطلاق ميزات جديدة لدباباتك أو جعل المعارك أكثر واقعية. وما يجب القيام به لهذا - سنكتشفه الآن. اختيار التعديلات الإضافية في Tanks مثير للإعجاب. يمكن تقسيم جميع التعديلات إلى مجموعات. فكر في أهمها: لنبدأ بالأكثر غموضًا - آخرها يسمى الرنة. ويسمى أيضًا "مقياس الغزلان" و "مقياس المستخدم". تشير هذه الكلمة إلى ميزة جديدة في العالم تتيح لك معرفة المزيد عن اللاعبين - إحصائياتهم وعدد الانتصارات وما إلى ذلك. يعتبر من أكثر التعديلات فائدة ، حيث يعرف اللاعب دائمًا من يتعامل معه. يسمح لك معدِّل "حظائر الطائرات" ، كما يوحي الاسم ، بتغيير مظهر حظيرة الطائرات في الإستراتيجية تمامًا. يسمح لك الملحق "مشاهد" بتغيير المشهد الأساسي إلى مشهد جديد. على سبيل المثال ، على مرمى البصر من Jove ، التي يحبها اللاعبون بشكل خاص ، حيث يمكنها إظهار وقت إعادة التحميل ، والتكبير ، ومتانة الخزان المتاحة ، وعدد القذائف في الأسطوانة ، وأكثر من ذلك بكثير. تسمح لك تعديلات الصوت بتغيير التمثيل الصوتي للعبة ، مما يجعل صوت "الدبابات" المفضل لديك بطريقة جديدة. إنهم يحسنون تصميم الصوت ، ويجعلون الانفجارات ، والطلقات ، والأوامر ، وزئير اليرقات أكثر واقعية. هناك عدة أنواع منها ، ويمكن لكل منها خلق جو المعركة الخاص به. يتم تثبيتها بنفس الطريقة. تنقسم تعديلات الرسوم أيضًا إلى عدة أنواع فرعية. يتضمن ذلك ميزة تسمح لك برؤية نقاط الضعف في درع الدبابات. تساعد ميزة تسمى "الجثث البيضاء" على رؤية العدو مختبئًا بعد المعركة. بالإضافة إلى ذلك ، بمساعدة التثبيت ، يمكنك جعل منصات السكك الحديدية ساطعة ، وطلاء المسارات المنسدلة باللون الأبيض ، وتحسين الرؤية عن بُعد ، وغير ذلك الكثير. كل هذا يساعد كثيرا في القتال. لاستخدام هذه الخيارات ، يجب عليك أولاً تثبيتها في عميل اللعبة. يمكن ضبط جميع الإعدادات الإضافية في wot بشكل فردي ، ولكن من الأسهل بكثير العمل مع الحزمة بأكملها في وقت واحد - ما يسمى modpacks. تحتوي على تعديلات مختلفة للعبة مصممة لتبسيط الإستراتيجية وجعلها أكثر ملاءمة وراحة. الأكثر شيوعًا هو "Modpack from Jove" ، ولكن هناك أيضًا الكثير من الحزم من مطورين آخرين. سيجد الجميع مجموعة مختارة ترضيهم. يعد تثبيتها أمرًا سهلاً - مثل برنامج عادي يستخدم أداة تثبيت بسيطة. اختيار التعديلات الإضافية في Tanks مثير للإعجاب دعنا نبدأ: وبالتالي ، للتثبيت ، ستحتاج إلى المرور عبر المسار التالي: D / World of Tanks / res_mods / 0. 9.13. تعمل التعديلات الجديدة على تحسين جودة اللعبة لكن ليس كل شيء بسيطًا كما في الحالة الموضحة أعلاه. ستتطلب بعض الترقيات ، مثل العديد من النطاقات ، إنشاء مجلدات إضافية. نتيجة لذلك ، قبل تثبيت التعديلات على wot ، سيتم إنشاء مجلد في المستند / 0. 9. 13 ، وهناك العديد في ذلك. سيبدو المسار بالكامل كما يلي: في الواقع ، لا يوجد شيء معقد في إنشاء مجلدات إضافية في wot ، لذلك لا توجد عادة مشاكل في تثبيت الإضافات المختلفة للاستراتيجية. تحسين جودة المراجعة تثبيت إعدادات الصوت المتقدمة أمر بسيط للغاية. تحتاج إلى تنزيلها على الموقع ، وعادةً ما يسمى الملف / الصوت. سيحتوي الملف مع عميل اللعبة على نفس الملف ، ويجب نسخ كل شيء إلى مجلد اللعبة. نقوم بالنسخ مع استبدال المستندات الحالية حتى يذهب الوضع. قبل التثبيت ، تأكد من إغلاق عميل اللعبة.
Mods for World of Tanks: حول الدبابات والإضافات إلى اللعبة. أنواع التعديلات وأسباب تثبيتها. تعليمات لتثبيت التعديلات + أفضل 10 أفضل + مقارنة بين أفضل 3 حزم modpack على الإنترنت. على الرغم من أن World of Tanks لديها مجموعة واسعة من الميزات ، إلا أن معظم اللاعبين يفتقرون إلى الأشياء الصغيرة التي يمكن أن تجعل عملية الدبابات أكثر إثارة للاهتمام عدة مرات. لحل هذه المشكلة ، يقوم العديد من الحرفيين في الشبكة بتطوير تعديلات لـ World of Tanks. حول الدبابات وبيئة اللعبة ، والإضافات المتوفرة وكيفية تثبيتها - سنجيب عن هذه الأسئلة وغيرها في مقالنا اليوم. مود- برنامج إضافي لعميل اللعبة الرئيسي يسمح لك بتغيير / تحسين عناصر الميكانيكا والتأثيرات المرئية. تحسين الأداء القتالي ، وشاشات المعلومات المساعدة - تسمح هذه التحولات وغيرها للاعب بتخصيص واجهة اللعبة حسب رغبته وتفضيلات التصميم. لماذا وضع تعديل في عالم الدبابات؟ القائمة لا حصر لها - عدد الامتدادات كبير جدًا. إذا رغبت في ذلك ، فإن المستخدم لديه الفرصة لتغيير تصميم وميكانيكا العناصر الفردية للخزان بشكل لا يمكن التعرف عليه. أثناء وجود لعبة World of Tanks ، نما عدد التعديلات بشكل كبير. اليوم ، يمكن لمالك الدبابة أن يحول بندقيته إلى قوة حقيقية غير مقيدة ، ويدمر العدو بطائرة واحدة. تعتبر بعض التغييرات الميكانيكية غشًا ، يتبعها تجميد الحساب ، لذلك تحتاج إلى التمييز بين التعديلات بعدة طرق. تعديل لعبة World of Tanks حسب طريقة التطوير هي: إذا أثرت التعديلات الرسمية على اللعبة بشكل ضئيل ، فسيتم تقسيم تعديلات حقوق النشر إلى مقبولو الغش(أي أولئك الذين يمنحون التفوق على دبابة العدو بسبب التغيرات في الفيزياء أو ميكانيكا اللعب). يُحظر استخدام هذه الأخيرة ، وإذا ثبت استخدامها ، فسيواجه المستخدم حظرًا دائمًا على حساب اللعبة. لاستخدام الوظائف المتقدمة ، يجب أولاً تثبيت التعديلات. تخصيص برامج خاصةو جمعيات كاملة("modpacks"). سيتم مناقشة هذا الأخير بمزيد من التفصيل أدناه. يضع المستخدمون الأكثر تقدمًا العميل على قرص بدون نظام تشغيل - سيوفر هذا البيانات عند إعادة تثبيت نظام التشغيل. مثال المسار - ج: / عالم الدبابات / قيمة إصدار المنتج ليست ثابتة ، حيث يتم إصدار تصحيحات جديدة مرة واحدة على الأقل شهريًا على سبيل المثال ، بالنسبة إلى المشاهد ، تحتاج إلى مجلدين فرعيين آخرين - "/ GUI"و "/ scaleform". ثم سيكون المسار النهائي لتفريغ العناصر - "C: / World of Tanks / res_modes // 0.9.22 / gui / scaleform" يتم استخدام هذه الخوارزمية لتثبيت التعديلات لكل من الخزان وعناصر الواجهة الأخرى. قبل تثبيت أي تعديل للدبابات أو لغرض الزخرفة ، تأكد من إغلاق عميل اللعبة. إذا لم يتم تنفيذ هذه العملية ، فقد تحدث تعارضات بين التعديلات والبرامج المضمنة بالفعل ، مما سيؤدي إلى خروج من اللعبة أو توقف تام عن عملها. تهدف إلى التحويل. لا يمكن أن يوفر المشهد الأساسي معلومات كافية لتقييم الموقف ، لذلك ، باستخدام التحسينات ، يتمتع اللاعب بفرصة للتقدم بشكل كبير في التكتيكات القتالية وزيادة كفاءته. وقت إعادة تحميل السلاح ، والتكبير / التصغير ، والخصم ، وسعة الذخيرة / توفرها - ستساعد هذه البيانات وغيرها بشكل كبير المبتدئين في التنقل حتى في المواقف الحرجة. تحويل الرسومات. تسمح لك هذه التعديلات برؤية نقاط ضعف الدبابة ، وإطلاق النار من خلال مركبات العدو المكسورة ، وزيادة رؤية السيارة المدرعة ، بالإضافة إلى العديد من الأشياء الصغيرة الأخرى ، والتي سيسهل استخدامها الحياة للاعب عادي في World of الدبابات. تحويلات الصوت. يتضمن ذلك المجموعة الكاملة من المؤثرات الصوتية - اللقطات والضوء والنقد وما إلى ذلك. تحويل حظائر الطائرات. مكون مرئي لا يؤثر على طريقة اللعب نفسها. تُستخدم لإضفاء الجو المناسب على طريقة اللعب. إحصائيات شاشة التحويل. زيادة محتوى المعلومات في الشاشة النهائية بعد المعركة + القدرة على تتبع عدد كبير من المعلمات في الوقت الفعلي. إذا كنت جديدًا في عالم World of Tanks ، فسيؤدي استخدام الحزم إلى تبسيط عملية تثبيت التعديلات على الخزانات بشكل كبير. لا يتعين عليك فك العبوة يدويًا والبحث عن وجهة التعديل. كل ما عليك فعله هو تشغيل المثبت واتباع التعليمات خطوة بخطوة. هناك العديد من التعديلات على الدبابات أكثر مما وصفناه أعلاه. هناك البعض الذي لا يتناسب مع أي من الفئات. قم بتنزيل التعديل بشكل منفصل أو استخدم الحزمة - الأمر متروك لك. ضع في اعتبارك فقط حقيقة أنه عند استخدام حزمة من التعديلات للخزانات ، لن تتاح لك الفرصة للاختيار الكامل - عدد التعديلات الواردة في التجميع محدود وقد لا يلبي دائمًا متطلبات لاعبي WOT. من المستحيل مراعاة الآراء الشخصية للجميع ، ولكن هناك مثل هذه التعديلات للدبابات التي تعد إلزامية للاستخدام من قبل الجميع. عند تجميع الجزء العلوي ، تم إرشادنا من خلال استطلاعات الرأي في منتديات لعبة World of Tanks الرسمية. تم تثبيت كل تعديل على عميلهم من قبل أكثر من 50٪ من مستخدمي اللعبة (من أولئك الذين يستخدمون تعديل الدبابات بشكل عام). تعد القدرة على التصويب بدقة هي الأساس للاعب في عالم الدبابات. لسوء الحظ ، فإن المشهد الأساسي محدود للغاية من حيث الوظائف ، لذا فإن تغيير هذا العنصر هو أول شيء يجب القيام به بعد تثبيت عميل اللعبة. وزارة الدفاع عن دبابة "سيف المسلط" بالترتيب لعام 2017-2018. هو الحل الأفضل في قسم المشاهد. وظائف وزارة الدفاع: تتناسب جميع المعلومات التي يوفرها النموذج جيدًا مع الواجهة ولا تتدخل في القتال. باستخدام البيانات حول الخصم بحكمة ، سيتمكن اللاعب المحترف من عرض الأكروبات في World of Tanks ، وسيقوم المبتدئ بتبسيط التدريب وتحسين المهارات التكتيكية بشكل كبير. تعديل لوحة الضرر الذي يسمح لسائقي الخزانات بتحسين مجموعة الوظائف الأساسية في عالم الدبابات. تم تطوير التعديل على أساس لوحة المؤلف المشهورة من Stlite. اختلافات الموضة من نظائرها: يأتي هذا الوضع في 3 إصدارات: عمل جديد من المودر الشهير. تجمع واجهة هذا الوضع للدبابات بين أفضل العناصر في القتال فقط. للوهلة الأولى ، قد تبدو اللوحة صعبة الإدراك ، ولكن بعد معاركتين ، ستقدر إمكانيات هذا الوضع. ميزات وزارة الدفاع: تخلصت الواجهة من الكثير من العناصر غير الضرورية ، وتم ترتيب جميع الوظائف الآن على هذه اللوحة المبسطة. في التعديل ، كان هناك مؤشر على حدوث حريق بالقرب من الخزان وعد تنازلي لإصلاح الوحدات - العناصر الأكثر ضرورة. يوجد عداد السرعة الآن في الجزء الأوسط من الشاشة بالقرب من مشهد الخزان. في تصحيحات العميل الجديدة ، قام المطورون بتوسيع وظائف الأداة الأساسية ، لكن المعلومات لا تزال غير كافية ، لأن اللاعبين ما زالوا يبحثون عن تعديلات خرائط مصغرة عالية الجودة على الشبكة - وهذا واحد منهم. الإضافات التي أدخلتها وزارة الدفاع: الوظائف الأساسية أيضا لم تختف. ضوء دبابة العدو ، UGN ، اتجاه شعاع البندقية - كل هذا سيبقى في أماكنهم الصحيحة. تم تجميع التعديل مع مراعاة رغبات المئات من لاعبي World of Tanks ، مما يعني أن التعديل سيؤثر بشكل إيجابي على جودة اللعبة لكل من الناقلين المبتدئين والمحترفين. في WOT ، تجاوز عدد المركبات العسكرية 360 وحدة ، ولكل مركبة نقاط قوة وضعف. من أجل تجنب المفاجآت غير السارة على الأرجح ، تم تطوير تعديل خاص للدبابات يسمح لك بمعرفة سمك اختراق الدروع لأي مركبة في اللعبة. تعتمد درجة الضعف على اللون الذي يقدمه الوضع: تعد تعديلات World of Tanks الأخرى المشابهة غامضة للغاية ، وفي بعض الأحيان يكون من المستحيل التمييز بين المناطق. كما يوحي الاسم ، فإن جماليات العرض هي التي تميز هذا الوضع عن الآخرين - يتم تحديد جميع مناطق المشكلات فقط ، وليست مليئة بالألوان تمامًا. على سبيل المكافأة ، هناك أيقونات تشير إلى اللاعب حول موقع الطاقم داخل الخزان ، مما يجعل من السهل تخويف أي منهم. يحتوي النموذج على مناطق اختراق للدبابات من المستويات 4 إلى 10 ضمناً. هذه المجموعة هي واحدة من أكبر المجموعات وأكثرها فاعلية في اللعبة. عدد تعديلات حظائر الطائرات في اللعبة هائل. "الجلود" مصنوعة من قبل كل شخص ليس كسولًا جدًا ، لذلك ، وفقًا للرأي الشخصي ، لا معنى لاختيار شيء من هذا القسم. نود أن نلفت انتباهك إلى تعديل يسمح لك بتغيير حظائر الطائرات في World of Tanks دون مغادرة واجهة اللعبة. لكي يعمل التعديل ، ما عليك سوى تحديد حظيرة الطائرات من القائمة المنسدلة والتأكيد من خلال الزر "حفظ". ستصبح جميع التغييرات نافذة المفعول على الفور. يتوفر التعديل الموجود في مجلد "الأسطح". يعمل التعديل مع كل من حظائر الطائرات الأساسية والمتميزة. الإحصائيات هي أحد أهم المؤشرات التي تسمح لك بتحليل المعارك وإيجاد جذر المشكلة. تعد الوظيفة الأساسية للعميل أكثر من ضعيفة ، لذا فإن تثبيت تعديل للدبابات وفقًا للإحصاءات يعد خطوة إلزامية إذا كنت تخطط للعب WOT لأكثر من بضعة أسابيع. ما هي الميزات التي يضيفها التعديل: يتم تحديث الوضع وتعديله باستمرار على الخزانات وفقًا لرغبات المستخدمين. في البداية ، تم تقديم هذا الوضع كبرنامج مطلوب إطلاقه من خارج مساحة العميل. في التحديثات التالية ، تقرر إجراء تعديل مدمج ، مما سهل بشكل كبير حياة لاعبي World of Tanks في دراسة أداء معاركهم. النموذج الأكثر شيوعًا بين سائقي الدبابات - يستخدمه أكثر من 3500000 لاعب في عالم الدبابات يوميًا. ويرجع ذلك إلى وظائفها الضخمة ، والتي لا تستطيع حتى الناقلات المتمرسة التعامل معها على الفور. ما يمكن أن يفعله جهاز الرنة: القائمة المقدمة ليست سوى غيض من فيض من الوضع ، يتم الكشف عن وظائفها الكاملة من قبل اللاعب الموجود بالفعل في الدبابة أثناء المعركة نفسها. عدد المستحضرات المختلفة كبير جدًا ، لذا قم بتنزيل إرشادات التثبيت والتهيئة باستخدام التعديل ، حيث سيكون من الصعب للغاية فهم تعقيدات التعديل بنفسك. قام المطورون بصنع نوعين من المودات للدبابات - الإصدارات الخفيفة والكاملة. الإصدار "الخفيف" مخصص لأجهزة الكمبيوتر الضعيفة ويحتوي فقط على تعقب الرنة وسجل الدخول. أحد التعديلات الجديدة لتحسين رؤية الخزان. لا يؤذي تصميم الألوان بدرجات اللون الفيروزي العينين ويحسن الرؤية في مناطق المشاكل. التصميم ، على الرغم من أنه لا يمكن أن يعزى إلى المعيار ، ولكن بعد 5-7 معارك في الدبابات ، ستقبل بسهولة هذا المشهد في ترسانة التعديلات الخاصة بك. وظائف وزارة الدفاع: هذا الوضع هو واحد من أكثر الأشياء التي تم الترويج لها بين غير المعياريين. تنطبق التحديثات على جميع أنواع المشاهد ، والتي ستتيح لك الاستمتاع بمعارك عالية الجودة في الدبابات في أي نوع من المواقع. لقد نظرنا إلى عدد كبير من التعديلات. ولكن ماذا لو كنت ترغب في تثبيت العديد من التعديلات مرة واحدة والاحتفاظ بالقدرة على تغييرها بسرعة؟ كما في حالة حظائر الطائرات ، يمكن للاعب الدبابة تبسيط حياته ببرنامج بسيط يدير جميع تعديلات World of Tanks المثبتة. وظائف البرنامج: يتم توفير إرشادات تفصيلية لاستخدام نموذج World of Tanks جنبًا إلى جنب مع البرنامج ، ولكن حتى الطفل يمكنه فهم تعقيدات العمل هنا. هذه أداة مفيدة لأولئك الذين يرغبون في اختبار التعديلات في الخزانات ، لكنهم لا يريدون العبث باستمرار بالتعديلات يدويًا. لقد اخترنا فقط أفضل التعديلات في World of Tanks حول الدبابات والبيئة في اللعبة. كل واحد منهم قادر على عكس قدرات سيارتك نوعياً وإطلاق العنان لإمكاناتها الكاملة. لقد تطرقنا بالفعل إلى موضوع حزم التعديل أعلاه قليلاً. يعد تجميع modpack المتوازن فنًا لا يمكن إلا لعشاق World of Tanks التعامل معه. معايير اختيار Modpack: عدد التعديلات في العبوة. هذا لا يعني أن الخليط ليس من الواضح ما الذي سينزل. يجب أن يطالب لاعبو الدبابات بجميع التعديلات. جودة وزارة الدفاع. قد يؤدي استخدام التجميعات المشكوك فيها إلى الإضرار ليس فقط بعميل اللعبة ، بل بالكمبيوتر بأكمله. يجب أن تتكون الحزمة من تعديلات معتمدة رسميًا. فقط في هذه الحالة ، لا داعي للقلق بشأن سلامة المعلومات الشخصية على الجهاز. ديكور. يجب أن يكون للمثبت واجهة سهلة الاستخدام ولا ترهق عين المستخدم. معدل التحديث. معلمة مهمة للغاية ، لأنها تعتمد بشكل مباشر على ما إذا كانت التعديلات ستعمل على العميل أم لا. نظرًا للتحديثات المتكررة للعبة ، يجب على المؤلف الاستجابة بسرعة لهذه التغييرات ، وبالتالي ضبط التجميع. بالنظر إلى كل ما سبق ، فقد اخترنا أفضل ثلاث حزم تعديل تفي بنسبة 100٪ بالشروط المحددة. من أجل الوضوح ، سنقوم بترتيبها في شكل جدول مقارن ، حيث يمكنك تقييم جميع مزايا ومحتوى كل منها من وجهة نظرك الشخصية. كيف تحصل على ميزة كبيرة على العدو؟ أفضل تعديل لعالم الدبابات. يوضح الجدول فقط أهم مكونات العبوات ، والتي يجب أن تكون في أي تجميع. جميع الخيارات الثلاثة في الجزء العلوي من تصنيفات الشعبية ، ولكن احتل المركز الأول "Pro Tank".. تعمل مجموعة كاملة من المتخصصين في هذا المشروع. بعد تصحيحات World of Tanks الجديدة ، فإن هؤلاء الرجال هم أول من أصدر نسخة محدثة للإصدارات التي تم تغييرها من العميل. استخدم تعديل عالم الدبابات حول الدبابات- يعني تحسين إنتاجية كل معركة بنسبة 40-50٪. وإذا استخدم أحد المحترفين تعديلات ، فعندئذٍ 100٪. يعتبر البعض أن استخدام التعديلات يعد غشًا ، لكن التحسينات الوظيفية المعتمدة رسميًا تمنح الناقلة الحرية في اللعبة ، مما يوفر مزيدًا من المتعة من هذه العملية. وهذا أهم شيء في الدبابات!تتجمع الغيوم
في نهاية عام 2012 ، كانت هناك زيادة أخرى في نشاط مستخدم XVM ، وتوقف خادمنا الرائع عن التعامل مع الحمل. بصراحة ، كانت هناك مشاكل من قبل ، لكنها لم تكن خطيرة. الآن ، في المساء ، لا يعمل الوضع بدلاً من العمل. كحل أخير ، قمنا حتى بربط وحدة toobusy بالخادم ، مما سمح لنا بمعالجة أكبر عدد ممكن من الطلبات التي يمكن للجهاز التعامل معها وتخطي الباقي. أظهرت المراقبة نقصًا حادًا في الذاكرة لعملية المونغو. قررنا الانتقال إلى خادم آخر: EX-4S (i7-2600 ، 32 جيجا بايت DDR3 ، 2x3 تيرا بايت SATA III HDD).
#
# بالنسبة للقيم الثنائية ، 0 معطل ، 1 ممكّن. انظر sysctl (8) و
# sysctl.conf (5) لمزيد من التفاصيل.
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
# مفيد لتصحيح أخطاء التطبيقات متعددة الخيوط.
kernel.core_uses_pid = 1
net.ipv4.tcp_synccookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.core.somaxconn = 262144
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.core.netdev_max_backlog = 10000
net.ipv4.tcp_synccookies = 1
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_max_tw_buckets = 720000
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_probes = 7
net.ipv4.tcp_keepalive_intvl = 30
net.core.wmem_max = 33554432
net.core.rmem_max = 33554432
net.core.rmem_default = 8388608
net.core.wmem_default = 4194394
net.ipv4.tcp_rmem = 4096 8388608 16777216
net.ipv4.tcp_wmem = 4096 4194394 16777216
net.ipv4.tcp_fin_timeout = 15
fs.epoll.max_user_watches = 1000000
net.core.netdev_max_backlog = 100000
net.core.optmem_max = 10000000
net.core.rmem_default = 10000000
net.core.rmem_max = 10000000
net.core.somaxconn = 1000000
net.core.wmem_default = 10000000
net.core.wmem_max = 10000000
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_synccookies = 1
net.ipv4.tcp_max_syn_backlog = 12000
net.ipv4.tcp_max_tw_buckets = 2000000
net.ipv4.tcp_mem = 30000000 30000000 30000000
net.ipv4.tcp_rmem = 30000000 30000000 30000000
net.ipv4.tcp_wmem = 30000000 30000000 30000000
net.netfilter.nf_conntrack_max = 1048576
بشكل عام ، كل ما يمكن القيام به بالقليل من الدم قد تم القيام به. لقد بدأنا بالفعل في التفكير في شراء خادم ثان أو ثالث وإعداد الموازنة.
لكن في إحدى الأمسيات ، في محادثة مع q4x2 ، كان لدينا حجة مفادها أنه ليست كل المنصات مفيدة بشكل متساوٍ. وببساطة ، أقنعني أن جميع مشاكلنا كانت بسبب NodeJS ، وأنه كان مستعدًا لإنشاء نسخته الخاصة من الخادم في Java ، والتي من شأنها "كسر" Node في العلم البريطاني. لقد شككت بشدة في هذا ، لكنني وافقت على المشاركة في التجربة ، ومنذ ذلك الحين ، قررت أن أجرب شيئًا محليًا. فجر عصر جديد
قبل أن يحصل خادم Node على وقت للفرح في النوى الجديدتين ، طرح q4x2 خادم Java الخاص به. ذكرني الكود بالإصدار الأول من خادم Node: كل شيء في ملف واحد بأسلوب إجرائي. لقد جلبنا الكود تدريجيًا إلى شكل إلهي ، لكن لا يزال من الواضح (بعد التخلص من قروح الطفولة) مدى سرعة هذا الخيار في Node. من حيث حمل وحدة المعالجة المركزية - حوالي أربع مرات. خلال ساعات الذروة ، عند 500 طلب / ثانية تقريبًا ، يتم استخدام نواة واحدة بواسطة عملية جافا الرئيسية. بالنسبة لإصدار Node على رباعي النواة ، كان هذا الحمل بعيد المنال ، وكان قريبًا جدًا من الحد الأقصى على ستة نوى. محاربة Wargaming API
ثاني أكبر مشكلة بعد أداء الخادم نفسه ، كان لدينا دائمًا تحديثات حول إحصائيات اللاعبين. لأسباب واضحة ، يهتم جميع مستخدمينا بإحصائيات اللعبة بطريقة أو بأخرى ، ويريد معظمهم رؤية هذه الإحصائيات محدثة قدر الإمكان (من الناحية المثالية ، في الوقت الفعلي). وفي طريقنا لحل هذه المشكلة ، كان لدينا دائمًا WG API. أو بالأحرى حدوده.
لحسن الحظ ، أصبح من الممكن الآن إرسال تقارير الأخطاء عن مثل هذه المعجزات. في السابق ، كانت الإجابة الوحيدة هي: غير مسموح لك باستخدام معرف تطبيق شخص آخر (؟ source_token = Intellect_Soft-WoT_Mobile-unofficial_stats). وهذا يعني ، ببطء ولكن بثبات ، أن التغييرات بدأت بشكل أفضل. لقد تم أخذنا على محمل الجد. لذلك ننتظر ونأمل ونؤمن!
من خلال التجربة والخطأ ، تم العثور على وصفة للعمل المستقر نسبيًا: طلب 20 لاعبًا كل ثانيتين. نعم ، أعادنا 10 لاعبين / ثانية. نظرًا لعدم كفاية هذه القيمة ، تم التمييز بين فترات التحديث لمستخدمي التعديل الخاص بنا وللآخرين.
نقوم بتحديث المستخدمين 3-4 مرات أكثر. على سبيل المثال ، يدخل المستخدمون الآن قائمة انتظار التحديث بعد 3 ، والباقي - 11 يومًا بعد التحديث السابق.
هذا مثال تم إرساله إلى فريق الدعم الفني لـ WG ، والذي يُظهر تباينًا في قراءات الطريقتين بمقدار ضعفين تقريبًا. بعد القليل من البحث ، اكتشفنا أن القراءات التي حصل عليها اللاعب على الدبابات صحيحة. فقط مؤشرات الدبابات غير الموجودة غير صحيحة. بالنسبة لنا ، هذا يعني أنه يتعين علينا الآن تقديم ثلاثة طلبات لكل حساب: / account / info / ، / account / tank / ، / tank / stats /. علاوة على ذلك ، هناك حاجة إلى / account / tank / فقط للحصول على القائمة الحالية للخزانات ، وتجاهل تلك غير الضرورية من / tank / stats / results.
كل هذا أدى إلى حقيقة أن سرعة التحديث قد انخفضت الآن إلى 8 حسابات / ثانية. نأمل أن نتمكن يومًا ما من القيام بالمئات / ثانية ، وسيتحقق حلم العديد من المستخدمين ، إن لم يكن في الوقت الفعلي ، فعلى الأقل حول التحديثات اليومية.
اضف اشارة المملكة القديمة
كما قلت في الجزء الأول ، تم تشغيل الواجهة الخلفية الأولى للمود على VPS ، وتمت كتابتها بلغة PHP وتخزينها في قاعدة المشغل كملفات في نظام الملفات. لتجنب حد 64 كيلو بايت inode (عادةً ما يكون حد الملفات في دليل واحد قابلاً للتكوين ، ولكن يبدو أن VPS قد تم قفل الإعداد) ، تم استخدام بنية من ثلاثة مستويات. أمل
بعد الانتقال إلى خادم كامل ، تم حفظ تطبيق آخر بسرعة ، هذه المرة على PHP + MySQL. في ذلك الوقت ، بدا لنا أنه من أجل مهمتنا (الاستعلام عن سجل واحد حسب الفهرس) ، وحتى العمل على مثل هذه الأجهزة "القوية" (EQ4: Intel Core i7-920 ، 8 GB DDR3 ، 2x 750 GB SATA II HDD) ، يمكننا استخدام جميع أنماط التصميم المضادة - وستظل تعمل. الواقع ، كالعادة ، لم يخيب الآمال.
كان من الضروري بطريقة ما الحصول على بيانات اللاعب. في ذلك الوقت ، لم تكن هناك واجهات برمجة تطبيقات عامة ، لذلك كان أول ما يتبادر إلى الذهن هو تحليل صفحة مثل worldoftanks.ru/community/accounts/27030462-Alex. ولكن هناك مشكلة واحدة: في عنوان URL للصفحة ، بالإضافة إلى الاسم المستعار ، هناك أيضًا معرف ، لا يمكننا الحصول عليه من الطلب. لهذا السبب ، فإن النقطة التالية للمزرعة الجماعية هي صفحة worldoftanks.ru/community/accounts ، أو بالأحرى نموذج البحث في هذه الصفحة. نرسل من تطبيقنا ، كما كان ، طلب AJAX الذي ترك صفحة بحث اللاعب. ردا على ذلك نحصل على:
نرى أنه ليس لدينا الآن معرف فقط ، ولكن أيضًا رابط جاهز. يمكن تحليل كل شيء.
http://worldoftanks.ru/uc/accounts//api//؟source_token=Intellect_Soft-WoT_Mobile-unofficial_stats
نما ApiVersion من 1.3 إلى 1.7 خلال الوقت الذي استخدمناه فيه وقبل ظهور واجهة برمجة التطبيقات الرسمية. لم تكن هناك اختلافات بالنسبة لنا. صحيح أن مشكلة الحصول على playerID قبل تقديم طلب إلى API لم تختف.عصر النهضة
في البداية ، كانت اللحظات التي لم يتمكن فيها الخادم من التأقلم تحدث فقط في أمسيات الجمعة والسبت. بمرور الوقت ، ازدادت هذه "اللحظات" وازدادت. أصبح من الواضح أن شيئًا ما لم يكن صحيحًا. حملنا ليس سجلاً ، الخادم ليس هو الأضعف. تفاقمت المشكلة بسبب عدم وجود متخصصين ذوي خبرة في PHP. فضلاً عن عدم وجود متخصصين من ذوي الخبرة * لا شىء.
تم غسل الإصدار الأول من خادم العقدة. لم تستخدم أي أطر. الوحدات القياسية فقط مثل http و mongo. كان الخادم رمزًا إجرائيًا صارمًا. تتجمع الغيوم
في نهاية عام 2012 ، كانت هناك زيادة أخرى في نشاط مستخدم XVM ، وتوقف خادمنا الرائع عن التعامل مع الحمل. بصراحة ، كانت هناك مشاكل من قبل ، لكنها لم تكن خطيرة. الآن ، في المساء ، لا يعمل الوضع بدلاً من العمل. كحل أخير ، قمنا حتى بربط وحدة toobusy بالخادم ، مما سمح لنا بمعالجة أكبر عدد ممكن من الطلبات التي يمكن للجهاز التعامل معها وتخطي الباقي. أظهرت المراقبة نقصًا حادًا في الذاكرة لعملية المونغو. قررنا الانتقال إلى خادم آخر: EX-4S (i7-2600 ، 32 جيجا بايت DDR3 ، 2x3 تيرا بايت SATA III HDD).
#
# بالنسبة للقيم الثنائية ، 0 معطل ، 1 ممكّن. انظر sysctl (8) و
# sysctl.conf (5) لمزيد من التفاصيل.
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
# مفيد لتصحيح أخطاء التطبيقات متعددة الخيوط.
kernel.core_uses_pid = 1
net.ipv4.tcp_synccookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.core.somaxconn = 262144
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.core.netdev_max_backlog = 10000
net.ipv4.tcp_synccookies = 1
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_max_tw_buckets = 720000
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_probes = 7
net.ipv4.tcp_keepalive_intvl = 30
net.core.wmem_max = 33554432
net.core.rmem_max = 33554432
net.core.rmem_default = 8388608
net.core.wmem_default = 4194394
net.ipv4.tcp_rmem = 4096 8388608 16777216
net.ipv4.tcp_wmem = 4096 4194394 16777216
net.ipv4.tcp_fin_timeout = 15
fs.epoll.max_user_watches = 1000000
net.core.netdev_max_backlog = 100000
net.core.optmem_max = 10000000
net.core.rmem_default = 10000000
net.core.rmem_max = 10000000
net.core.somaxconn = 1000000
net.core.wmem_default = 10000000
net.core.wmem_max = 10000000
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_synccookies = 1
net.ipv4.tcp_max_syn_backlog = 12000
net.ipv4.tcp_max_tw_buckets = 2000000
net.ipv4.tcp_mem = 30000000 30000000 30000000
net.ipv4.tcp_rmem = 30000000 30000000 30000000
net.ipv4.tcp_wmem = 30000000 30000000 30000000
net.netfilter.nf_conntrack_max = 1048576
بشكل عام ، كل ما يمكن القيام به بالقليل من الدم قد تم القيام به. لقد بدأنا بالفعل في التفكير في شراء خادم ثان أو ثالث وإعداد الموازنة.
لكن في إحدى الأمسيات ، في محادثة مع q4x2 ، كان لدينا حجة مفادها أنه ليست كل المنصات مفيدة بشكل متساوٍ. وببساطة ، أقنعني أن جميع مشاكلنا كانت بسبب NodeJS ، وأنه كان مستعدًا لإنشاء نسخته الخاصة من الخادم في Java ، والتي من شأنها "كسر" Node في العلم البريطاني. لقد شككت بشدة في هذا ، لكنني وافقت على المشاركة في التجربة ، ومنذ ذلك الحين ، قررت أن أجرب شيئًا محليًا. فجر عصر جديد
قبل أن يحصل خادم Node على وقت للفرح في النوى الجديدتين ، طرح q4x2 خادم Java الخاص به. ذكرني الكود بالإصدار الأول من خادم Node: كل شيء في ملف واحد بأسلوب إجرائي. لقد جلبنا الكود تدريجيًا إلى شكل إلهي ، لكن لا يزال من الواضح (بعد التخلص من قروح الطفولة) مدى سرعة هذا الخيار في Node. من حيث حمل وحدة المعالجة المركزية - حوالي أربع مرات. خلال ساعات الذروة ، عند 500 طلب / ثانية تقريبًا ، يتم استخدام نواة واحدة بواسطة عملية جافا الرئيسية. بالنسبة لإصدار Node على رباعي النواة ، كان هذا الحمل بعيد المنال ، وكان قريبًا جدًا من الحد الأقصى على ستة نوى. محاربة Wargaming API
ثاني أكبر مشكلة بعد أداء الخادم نفسه ، كان لدينا دائمًا تحديثات حول إحصائيات اللاعبين. لأسباب واضحة ، يهتم جميع مستخدمينا بإحصائيات اللعبة بطريقة أو بأخرى ، ويريد معظمهم رؤية هذه الإحصائيات محدثة قدر الإمكان (من الناحية المثالية ، في الوقت الفعلي). وفي طريقنا لحل هذه المشكلة ، كان لدينا دائمًا WG API. أو بالأحرى حدوده.
لحسن الحظ ، أصبح من الممكن الآن إرسال تقارير الأخطاء عن مثل هذه المعجزات. في السابق ، كانت الإجابة الوحيدة هي: غير مسموح لك باستخدام معرف تطبيق شخص آخر (؟ source_token = Intellect_Soft-WoT_Mobile-unofficial_stats). وهذا يعني ، ببطء ولكن بثبات ، أن التغييرات بدأت بشكل أفضل. لقد تم أخذنا على محمل الجد. لذلك ننتظر ونأمل ونؤمن!
من خلال التجربة والخطأ ، تم العثور على وصفة للعمل المستقر نسبيًا: طلب 20 لاعبًا كل ثانيتين. نعم ، أعادنا 10 لاعبين / ثانية. نظرًا لعدم كفاية هذه القيمة ، تم التمييز بين فترات التحديث لمستخدمي التعديل الخاص بنا وللآخرين.
نقوم بتحديث المستخدمين 3-4 مرات أكثر. على سبيل المثال ، يدخل المستخدمون الآن قائمة انتظار التحديث بعد 3 ، والباقي - 11 يومًا بعد التحديث السابق.
هذا مثال تم إرساله إلى فريق الدعم الفني لـ WG ، والذي يُظهر تباينًا في قراءات الطريقتين بمقدار ضعفين تقريبًا. بعد القليل من البحث ، اكتشفنا أن القراءات التي حصل عليها اللاعب على الدبابات صحيحة. فقط مؤشرات الدبابات غير الموجودة غير صحيحة. بالنسبة لنا ، هذا يعني أنه يتعين علينا الآن تقديم ثلاثة طلبات لكل حساب: / account / info / ، / account / tank / ، / tank / stats /. علاوة على ذلك ، هناك حاجة إلى / account / tank / فقط للحصول على القائمة الحالية للخزانات ، وتجاهل تلك غير الضرورية من / tank / stats / results.
كل هذا أدى إلى حقيقة أن سرعة التحديث قد انخفضت الآن إلى 8 حسابات / ثانية. نأمل أن نتمكن يومًا ما من القيام بالمئات / ثانية ، وسيتحقق حلم العديد من المستخدمين ، إن لم يكن في الوقت الفعلي ، فعلى الأقل حول التحديثات اليومية.نظرية كيفية عمل التعديل
كيفية تثبيت التعديلات في عالم الدبابات؟
إلغاء تثبيت تعديل عالم الدبابات
ما هي التعديلات
كيفية تثبيت تعديل على عالم الدبابات
استراتيجية خطوة بخطوة حول كيفية تثبيت التعديلات على عالم الدبابات
كيفية تثبيت تعديل على wot: تحسين البصر
تحسين الصوت
ما هي الموضة؟
ما هي تعديلات عالم الدبابات حول الدبابات وكيفية تركيبها؟
1. مخطط تركيب وزارة الدفاع لعالم الدبابات.
2. كيفية تثبيت تعديل الصوت لعالم الدبابات؟
هناك نوع آخر من التعديلات على الشبكة يمكن للاعبين تغييرها - الصوت. إذا كنت قد سئمت من أصوات الطلقات العادية أو ضوضاء اليرقات ، فهذه التغييرات هي فقط ما تحتاجه.
3. ما هي أشهر تعديل للدبابات؟
هذه تعديلات للدبابات لتغيير التصور أثناء المعركة. الحزم أو التعديلات الفردية - أيهما أفضل؟
أفضل التعديلات في World of Tanks حول الدبابات وبيئة اللعبة: TOP-10
بعد معرفة عامة ، دعنا نقوم بتصفية الشبكة واختيار أفضل التعديلات في اتجاهات مختلفة يمكن أن تجعل عملية اللعبة أكثر راحة ، سواء بالنسبة للمبتدئين أو الناقلين المحترفين.
1) البصر "سيف داموكلي".
2) تلف لوح من لوكاستان.
3) BATTLE INTERFACE Z-MOD من MARSOFF.
4) خريطة صغيرة ذكية لعالم الخزانات من لوكاستان.
5) جلود AESTHET من SERGEY EMETS لعالم الخزانات.
6) قم بتغيير HANGARS عن طريق الضغط على زر مباشرة في HANGAR.
7) WOTLOGGER3 لعالم الصهاريج.
8) DEER / XVM لعالم الصهاريج.
9) رؤية "التيلة" لعالم الصهاريج.
10) مشروع WOT-MOD - مدير MOD.
أي حزمة تختارها عالم الدبابات؟
جدول مقارنة لأفضل 3 تعديل مبني على الشبكة.
№
أزياء AMWAY921 أزياء من JOVE (JOVE) أزياء من PROTANKI
1.
eXtended Visualization Mod - علامات ممتدة ، ضرر ناتج عن الارتداد ، تعديل الالتقاط الأساسي وسجل الضرر. منظار سوبر جوفا. النطاق القياسي مع مؤقت إعادة التحميل.
2.
الكشف التلقائي عن العرض الحالي للخزان. كسوف شفاف في وضع القناص. "اختيار جوف" - أوفر كروس. الشعيرات المتقاطعة في أضيق الحدود استنادًا إلى علامة التصويب الافتراضية للعبة.
3.
استبدال الأصوات القياسية للعبة: "Call" عندما تتعرض الوحدات لأضرار جسيمة ويتم تشغيل الصوت عند تشغيل ميزة "الحاسة السادسة". لوحات تلف مختلفة. "MathMod في MeltyMap". تم تطوير تعديل الواجهة بواسطة لاعبين من مجموعة الاتحاد الأوروبي.
4.
تم تحسين مؤشر اتجاه الهجوم. خرائط مصغرة ذكية ، سواء في XVM أو البديل. "Commander Camera" - تعديل لأقصى مسافة للكاميرا في وضع الممرات.
5
مؤشر محسّن لعدد المقذوفات. لمبات "الحاسة السادسة" + التمثيل الصوتي لهم. "تعطيل التأثير" - تعطيل تأثير الكاميرا في وضع القناص.
6.
قم بزيادة وقت عرض "اللمبة" عند تشغيل ميزة "الحاسة السادسة". أصوات مختلفة. معلومات حول إعادة الظهور عند التحميل في المعركة. بدلا من "تلميح" في شاشة التحميل.
7.
عرض علامة منفصلة لـ TT10 على الخريطة المصغرة. علامات إعلامية. يمكنك تغيير سلوك الكاميرا - تعديل لتعطيل التأثيرات عند تلقي الضرر.
8.
SafeShot: يمنع إطلاق النار على الدبابات المدمرة حديثًا. تعديل التكبير. مشهد الخادم - يُظهر هذا الوضع المكان الذي يتم فيه توجيه مشهد الدبابة وفقًا لخادم اللعبة.
9.
إزالة التمويه والشعارات والنقوش على الخزانات. جلود تمويه شفافة وجثث دبابة بيضاء. إحصائيات موسعة. تعديل لعرض النتائج الإجمالية لجلسة اللعبة الحالية.
10.
مشاهد ذات ميزات متقدمة. زيادة نطاق الرؤية على الخرائط مع الضباب. تحل علامات XVM الموجودة فوق المركبات محل علامات الخزان القياسية بأخرى أكثر إفادة.
11.
لوحات الأضرار المخصصة: لوحة الأضرار القياسية ولوحة الضرر المخصصة. إحصائيات الجلسة. "تمكين دائري الخزان" - عدة تعديلات لتخصيص قائمة الدبابات في حظيرة الطائرات.
12.
تعطيل الوميض والخفقان للصورة عند حدوث ضرر. Wot Replays Manager هو برنامج للعمل مع الإعادة. الزوايا الأفقية. نموذج لا غنى عنه للدبابات بدون برج أو مع دوران محدود.
13.
زوايا الارتفاع لـ Art-SPG و Fri-SPG. أفضل آلة حاسبة للدروع تأخذ بعين الاعتبار زاوية ميل المقذوف. لوحة المعلومات للهدف المحدد. يعرض التعديل معلومات أساسية عن دبابة خصمك.
14.
تكبير / تصغير: أمر الكاميرا مع القدرة على تعطيل تأثيرات الكاميرا الديناميكية. WoT Tweaker هو برنامج لزيادة FPS عن طريق تعطيل التأثيرات المختلفة. براميل العدو على الخريطة المصغرة.
15.
NoScroll: نطاق القناص فقط عند الضغط على "Shift" اتجاهات براميل العدو على الخريطة المصغرة. علامة اتجاه الضرر.
16.
ZoomX: نطاق قناص متعدد المواضع (x2 ، x4 ، x8 ، x16). دائرة لاطلاق النار غير مرئية من الأدغال. حاسبة التقييم في المعركة.
17.
إزالة التظليل في منظار القناص. وزارة الدفاع جثث الدبابات واليرقات البيضاء. تنبيه الحلفاء حول الضوء.
18.
إحصائيات مفصلة للدورة على الخادم. تحسين تكبير x25 في نطاق القناصة. خزانات بيضاء. على غرار عربات الواغن البيضاء ، فهي تساعد على "انتزاع" المعارضين من وراء الغطاء.
19.
رسائل ملونة عن نتائج المعركة. دبابات HP في الأذنين (في نسختين). اليرقات البيضاء سقطت. يُظهر الوضع بوضوح حالة هيكل المعارضين أو الحلفاء.