FastAsyncWorldEdit — إضافة لتحرير العوالم بشكل غير متزامن وسريع في ماين كرافت
إضافة FastAsyncWorldEdit (FAWE) هي نسخة معدلة من إضافة WorldEdit الكلاسيكية لماين كرافت بمعالجة غير متزامنة. تعرف على أوامرها، ميزاتها،…
إضافة FastAsyncWorldEdit (FAWE) هي نسخة معدلة من إضافة WorldEdit الكلاسيكية لماين كرافت بمعالجة غير متزامنة. تعرف على أوامرها، ميزاتها، وإعداداتها.
FastAsyncWorldEdit — إضافة لتحرير العوالم بشكل غير متزامن وسريع في ماين كرافت
إضافة FastAsyncWorldEdit (واختصارها FAWE) هي نسخة معدلة من إضافة WorldEdit الكلاسيكية لماين كرافت، حيث تمت إعادة كتابة المعالجة الداخلية للتعديلات. تنفذ إضافة WorldEdit العادية الأوامر الكبيرة في الخيط (thread) الرئيسي للخادم، لذا فإن تغيير مئات الآلاف من الكتل يسبب تجمداً وانقطاعاً في الاتصال (timeouts). تقوم FAWE بتقسيم العمل إلى خيوط، وتجميع العمليات في قطع (chunks) وكتابتها بشكل متوازٍ — نفس الأمر //set على مساحة 500x500 يكتمل دون تجميد التكات (ticks).
إذا كان لدى الخادم بالفعل إضافات تعتمد على WorldEdit (حماية المناطق، مولدات الهياكل، إضافات البناء)، فكل ما عليك فعله هو استبدال WorldEdit بـ FAWE. تظل الأوامر وواجهة برمجة التطبيقات (API) متوافقة، لكن سرعة التنفيذ تزداد.

نتيجة الأمر //set glass في المنطقة المحددة — مكعب من الزجاج. الخلفية عبارة عن منصة فارغة من الخرسانة البيضاء حولها.
ما تضيفه FAWE فوق WorldEdit
تبدو الأوامر الأساسية متشابهة: //pos1، //pos2، //set، //copy، //paste، //undo. الفرق الجوهري يكمن في كيفية معالجتها داخلياً. أضيف إلى ذلك حوالي 200 أمر جديد: أقنعة متقدمة، أنماط، تحويلات، فرش متخصصة وأدوات تضاريس.
بعض الأشياء غير الموجودة في WorldEdit العادية:
غير محدود
//undoو//redoمع حفظ السجل على القرص. التراجع متاح حتى بعد إعادة تشغيل الخادم.//lazycopy— ينسخ على الفور منطقة محددة من أي حجم دون تحميل النسخة بالكامل في الذاكرة.CFI (إنشاء من صورة) — يولد عالماً من خريطة ارتفاع أو صورة (
/cfi).أوامر السندان (Anvil) — تغييرات ضخمة في ملفات المنطقة مباشرة: إزالة جميع الصناديق، قص الخريطة، استبدال الكتل في منطقة محددة.
أوامر الإضاءة —
/fixlighting،/setlight،/removelightلإعادة الحساب اليدوي دون إعادة تحميل القطع (chunks).الفحص والاسترجاع — يوضح
//inspectمن وضع الكتلة ومتى، يعيد//history rollbackالعالم إلى حالته قبل تاريخ محدد.

نافذة الدردشة مع مخرجات الأمر /we help — قائمة بفئات FAWE مع أوصاف موجزة.
التحديدات والأوامر الأساسية
يتم إنشاء التحديد بفأس خشبي. يحدد النقر بزر الماوس الأيسر النقطة الأولى، ويحدد النقر الأيمن النقطة الثانية. بدلاً من ذلك: يحدد //pos1 و //pos2 النقاط عند إحداثيات اللاعب الحالية، يحدد //hpos1 و //hpos2 عند الكتلة التي تنظر إليها.
بعد إجراء التحديد، تصبح عمليات الكتلة الأساسية متاحة:
الأمر | ماذا يفعل |
| يملأ التحديد بالكتلة المحددة |
| يستبدل نوع كتلة بآخر |
| يبني جدراناً حول المحيط |
| يبني الجدران والأرضية والسقف |
| يفرغ الحجم المحدد |
| ينسخ التحديد إلى الحافظة |
| ينسخ ويحذف الأصل |
| يلصق محتوى الحافظة في موقع اللاعب |
| يدور الحافظة بمقدار 90/180/270 درجة |
| يعكس الحافظة كمرآة |
| يتراجع أو يعيد الإجراء الأخير |
مفيد أيضاً: //copy -b ينسخ مع المناطق الأحيائية (biomes)، //copy -e يتخطى الكيانات، //paste -a يتجاهل كتل الهواء من المخطط (يحتفظ بما هو موجود بالفعل في المنطقة المستهدفة).
لا يمكن التراجع عن اللصق مع الكيانات (الوحوش، اللوحات) باستخدام //undo. تحقق من الموضع قبل لصق مخطط.
الفرش والأدوات
الفرش هي أوامر مرتبطة بالعنصر الموجود في يدك. بعد الأمر /br <type>، يؤدي النقر بزر الماوس الأيمن إلى تنشيط الإجراء حيث تنظر. الأكثر استخداماً:
/br sphere <block> <radius>— كرة نصف قطرها المعطى عند النقطة المنقورة./br cyl <block> <radius> <height>— أسطوانة./br smooth <radius>— تسوية التضاريس./br stencil <pattern> <radius> <file>— يرسم باستخدام خريطة ارتفاع أو صورة./br spline <pattern>— ينشئ منحنى من خلال نقاط متعددة (الطرق، الأنفاق، الجسور)./br sweep— يمسح محتوى الحافظة على طول منحنى./br scatter <pattern> <density>— ينثر الكتل أو المخططات بشكل عشوائي بكثافة محددة./br copy— النقر بزر الماوس الأيسر لنسخ كائن، والنقر الأيمن للصق. تضيف العلامة-rدوراناً عشوائياً عند اللصق.

فرشاة /br smooth 10 أثناء العمل
يتم تعيين الأقنعة (/mask) والأنماط (/mat) للفرش. يحدد القناع الكتل التي يمكن استبدالها: /mask >stone — فقط الكتل فوق الحجر، /mask <air — فقط الكتل أسفل الهواء. يحدد النمط ما سيتم الاستبدال به: /mat 50%stone,50%cobblestone يعطي مزيجاً عشوائياً من الحجر والحجر المرصوف بنسبة 50/50، /mat #surfacespread[3][stone] — نمط انتشار داخل نصف قطر 3.
المخططات — هياكل في ملفات
تدعم FAWE التنسيقات .schem و .schematic. الأوامر:
//schem save <name>— يحفظ التحديد الحالي فيplugins/FastAsyncWorldEdit/schematics/.//schem load <name>— يحمّل ملفاً في الحافظة.//schem list— قائمة بالمخططات المتاحة.//schem delete <name>— يحذف مخططاً.
بالإضافة إلى ذلك، ينشئ /download رابطاً مجهولاً للحافظة عبر خدمة schem.intellectualsites.com. الرابط مؤقت؛ يمكنك إرسال الملف إلى لاعب آخر أو خادم دون تصديره يدوياً عبر FTP. يتم تكوين هذا في قسم الويب في الإعدادات.
حماية المناطق والحدود لكل لاعب
تتكامل FAWE مع WorldGuard و PlotSquared. يحد الخيار region-restrictions: true في config.yml من التعديل في المناطق التي تمت إضافة اللاعب إليها.
افتراضياً، تعمل في وضع MEMBER — لا يمكن للاعبين التعديل إلا حيثما يكونون أعضاء في المنطقة. بدلاً من ذلك OWNER. يتجاوز المسؤولون القيود بإذن fawe.bypass. بالنسبة للخوادم التي تحتوي على بعض المناطق المحمية والبناء الحر في بقية العالم، فإن وضع القائمة السوداء أكثر عملية: يسمح allow-blacklists: true مع worldguard-region-blacklist: true بالتعديل في كل مكان ما عدا في المناطق المحمية.
يمكن تكوين حدود مختلفة لمجموعات اللاعبين المختلفة. يتم نسخ الكتلة الافتراضية default تحت اسم جديد، ويتم ضبط قيم max-changes و max-brush-radius و max-iterations، ويتم منح الإذن للاعب. وهكذا، يمكن أن تتعايش حدود صارمة للمبتدئين وحدود موسعة للاعبين الموثوقين على نفس الخادم.
الإعدادات (Config)
الملفات الرئيسية موجودة هنا: plugins/FastAsyncWorldEdit. معظم القيم الافتراضية مناسبة لخادم نموذجي — من المنطقي فقط تعديل بضع كتل رئيسية.
الذاكرة والقيود
المعلمة (Parameter) | ماذا تفعل |
| إذا تجاوز استخدام ذاكرة الوصول العشوائي (RAM) هذه النسبة المئوية، يتم إلغاء تعديلات غير المسؤولين. يمكن تجاوزها عبر إذن |
| عند الوصول إلى هذا الحد، تتباطأ بعض العمليات — على سبيل المثال، التحميل غير المتزامن للقطع (chunks). |
| الحد الأقصى لعدد الكتل التي يمكن للاعب تغييرها لكل أمر. |
| أقصى نصف قطر للفرشاة. |
| التعديلات الكبيرة (أكثر من 16384 قطعة) تتطلب تأكيداً إضافياً عبر |
قائمة الانتظار والخيوط (Queue and threads)
المعلمة (Parameter) | ماذا تفعل |
| عدد الخيوط للمعالجة المتوازية. يوصى بضبط هذا على عدد النوى المادية للمعالج الخاص بك. |
| الحد الأدنى لعدد القطع الذي يبدأ عنده الوضع الموازي قبل انتهاء الحسابات. لا تقبل الإضافة القيماً أقل من |
| عدد القطع التي يتم تحميلها مسبقاً. الصيغة من التوثيق: 128 × جيجابايت RAM / عدد مستخدمي WE المتزامنين. |
السجل والحافظة
المعلمة (Parameter) | ماذا تفعل |
| يحفظ سجل التعديل على القرص. يوفر |
| مستوى ضغط السجل من 0 (بدون ضغط، الأسرع) إلى 9 (أقصى ضغط، حمل ثقيل على المعالج). المستويات أعلى من 6 تتطلب ZSTD 1.4.8+. |
| عدد الأيام قبل حذف السجل الموجود على القرص. |
| يحفظ الحافظة بشكل مشابه على القرص — يوفر ذاكرة الوصول العشوائي (RAM). |
| عدد الأيام قبل حذف الحافظة المحفوظة. |
الخاتمة
تزيل إضافة FastAsyncWorldEdit القيد الأساسي لـ WorldEdit العادية، والذي بسببه كان من الممكن أن تؤدي التعديلات واسعة النطاق إلى إيقاف الخادم. على خوادم حزم التعديلات (modpacks) وشبكات البناء، حيث يعمل اللاعبون في وقت واحد مع مئات الآلاف من الكتل، تقضي FAWE على انقطاعات الاتصال والتجميد. على خوادم النجاة (survival) الصغيرة ذات التعديلات النادرة، لا تكون الفائدة ملحوظة بنفس القدر، ولكن الإضافة لا تضر — فهي متوافقة مع الإصدارات السابقة من خلال واجهة برمجة التطبيقات الخاصة بها.
بالنسبة للخوادم التي تحتوي على بناء واسع النطاق، تعد FastAsyncWorldEdit خياراً عملياً أكثر بكثير؛ أما للتعديل العرضي للعالم العادي (vanilla)، فإن البدائل القياسية ستفي بالغرض.
التثبيت
التثبيت النموذجي يستغرق حوالي 5 دقائق. الخطوات نفسها؛ يختلف فقط المُحمّل والبناء المطابق.
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.











