المود لا ينتهي عند نجاحه في بيئة التطوير. النشر هو اللحظة التي يتعامل فيها شخص آخر مع مشروعك من دون أن يعرف ما تعرفه أنت. إذا لم يجد الإصدار الصحيح أو المتطلبات أو طريقة التثبيت، سيعتقد أن المود مكسور. هذا الدليل يحوّل النشر إلى عملية واضحة.
1. صفحة المشروع عقد مع اللاعب
اكتب README يبدأ بجملة تقول ماذا يضيف المود ولأي إصدار. بعدها ضع جدول المتطلبات، طريقة التثبيت، طريقة الإزالة، المشاكل المعروفة، والترخيص. لا تضع عشرين فقرة تسويقية قبل المعلومة الأساسية؛ اللاعب يريد أن يعرف هل الملف مناسب له.
| القسم | ما يجب أن يحتويه |
|---|---|
| Overview | الفكرة والميزة الرئيسية |
| Requirements | إصدار اللعبة وLoader وdependencies |
| Install | خطوات قصيرة قابلة للتنفيذ |
| Compatibility | ما اختُبر وما لم يُختبر |
| License | حقوق الاستخدام والتوزيع |
| Changelog | ما تغير في كل إصدار |
2. اكتب version مفهومًا
لا تستخدم اسم ملف مثل final-final-new.jar. استخدم رقم إصدار أو صيغة يفهمها الفريق، واجعل رقم الإصدار داخل metadata واسم release متوافقين. عند إصلاح Crash اذكره، وعند تغيير recipe اذكر احتمال تغير توازن العالم.
3. اختبر ملف النشر خارج IDE
نفّذ build، خذ ملف JAR، ثم افتح profile نظيفًا لا يحتوي source project أو ملفات generated غير موجودة في الحزمة. شغّل اللعبة، أنشئ عالمًا، جرّب الميزة، وأغلقها. هذه الخطوة تكشف أن مواردك لم تُدرج أو أن dependency موجودة محليًا فقط.
4. الترخيص ليس سطرًا تجميليًا
إذا استخدمت texture أو code أو نموذجًا من مشروع آخر، اقرأ ترخيص المصدر واحفظ attribution المطلوب. لا تنسب عملًا للـVanilla أو لمطور آخر. في Bedrock، يوضح manifest أن metadata يمكن أن تحتوي المؤلفين والترخيص ورابط الموقع [1]. في Java، ضع LICENSE واذكر مصادر الأصول داخل README.
5. احترم حدود Mojang وMicrosoft والمنصات
Fabric يوضح في توثيقه أنه مشروع مجتمعي وليس موقع Minecraft الرسمي أو جهة معتمدة من Mojang أو Microsoft [2]. استخدم صياغة دقيقة: “مود مجتمعي لماينكرافت Java” بدل الإيحاء بأنه منتج رسمي. هذا يحمي وضوح الصفحة ويقلل سوء الفهم.
6. اكتب changelog للاعب لا للمبرمج فقط
بدل “refactor registry”، اكتب “إصلاح عدم ظهور Ignis Brick في Creative”. اذكر التغييرات التي تؤثر في العالم القديم، وما إذا كان يلزم backup. changelog الجيد يساعد اللاعب على اتخاذ قرار التحديث.
7. صفحة التحميل الآمنة
اعرض اسم الملف، الإصدار، اللعبة، المنصة، الحجم إن كان مهمًا، وتاريخ التحديث. لا تضع أزرارًا متعددة بلا شرح. إذا كان الرابط خارجيًا، وضّح ذلك. لا تطلب من اللاعب كلمة مرور حساب اللعبة أو تعطيل antivirus. المود لا يحتاج بيانات دخول المستخدم حتى يعمل في الحالات المعتادة.
8. صور ولقطات الشاشة
الصورة الجيدة تثبت الميزة، لا تملأ المساحة فقط. استخدم لقطة قبل/بعد أو مشهد يوضح العنصر. اكتب alt يصف الصورة، واضغط الملفات، ولا ترفع صورًا لا تملك حق استخدامها. في المقالات الطويلة، ضع caption يشرح لماذا الصورة مهمة.
9. أسئلة الدعم المتوقعة
| السؤال | الإجابة التي يجب أن توفرها |
|---|---|
| أي إصدار؟ | نسخة Minecraft وLoader بوضوح |
| هل يعمل مع Bedrock؟ | اذكر Java أو Bedrock، لا تتركها ضمنية |
| هل أحتاج dependency؟ | قائمة وروابط وإصدارات |
| هل يمكن إزالة المود؟ | تعليمات ونسخة احتياطية |
| لماذا حدث crash؟ | طريقة إرسال log منقح |
10. checklist أخير
- الإصدار مكتوب في الصفحة والملف.
- تم اختبار JAR أو pack من تثبيت نظيف.
- كل dependency موثقة.
- الترخيص والأصول محفوظة.
- README لا يحتوي أسرارًا أو مسارات خاصة.
- روابط التحميل تعمل.
- هناك changelog ونسخة احتياطية موصى بها.
المطور المحترف لا يقاس بعدد المودات التي يعلن عنها، بل بمدى سهولة استخدام أول مود لشخص لا يعرفه. اجعل النشر امتدادًا لجودة الكود: واضحًا، قابلًا للاختبار، وصادقًا في حدود التوافق.
9. سياسة تحديث واضحة
اكتب ماذا يحدث للعالم عند التحديث أو الرجوع. إذا أضفت block أو غيّرت id، قد يحتاج اللاعب إلى backup. لا تشجع على حذف ملفات عشوائية من save. وجّه المستخدم إلى نسخة احتياطية وطريقة رسمية للإزالة، واذكر إن كان الرجوع إلى إصدار قديم غير مدعوم.
10. راقب جودة الرابط بعد النشر
افتح رابط التحميل من جهاز أو نافذة خاصة، وتأكد أن الصفحة لا تعتمد على login أو cookie من حسابك. راجع canonical وdescription وصورة الغلاف، ثم افحص أن الرابط لا يعيد ملفًا باسم مختلف. SEO لا يصلح رابطًا مكسورًا؛ التقنية الأساسية تأتي أولًا.
اجعل صفحة الإصدار قابلة للقراءة على الهاتف. زر واحد واضح مع متطلبات مختصرة أفضل من عدة أزرار لا يعرف اللاعب الفرق بينها.
مراجع موثوقة
راجِع هذه الصفحات الرسمية عند اختلاف الإصدار أو تغيّر أسماء الملفات؛ توثيق اللعبة والمنصة يتغير مع الزمن.