---
type: how-to
title: أصلِح إخفاق نشر في المتجر
summary: "دليل إصلاح لأكثر إخفاقات النشر في المتجر شيوعًا: كل رمز خطأ مدرَج مع ما يطلقه والخطوات الدقيقة من نوع تحرير-واحد-وأعد-المحاولة لإزالته، دون حاجة إلى أن تطلب منّا إعادة فحص أي شيء."
---

حين تعيد نافذة "انشر أو حدّث" خطأً، أو يصلك بريد منّا عن إخفاق نشر، جِد رمز خطئك أدناه واتبع الإصلاح. بمجرّد أن تدفع الإصلاح إلى مستودعك، انقر "انشر أو حدّث" مجدّدًا لإعادة الفحص فورًا، أو انتظر تشغيل المفهرِس اليوميّ التالي.

كل إخفاق مدرَج هنا شيء تستطيع إصلاحه في مستودعك. إن لم ترَ خطأك هنا، فافحص [مرجع أخطاء النشر الكامل](/docs/marketplace-game-development/publish-failed-reference) للرموز الأقلّ شيوعًا.

## terms_accepted غير مضبوط [#manifest-error-terms-accepted]

ترى هذا حين لا يحمل `caputchin.json` خاصتك `"terms_accepted": true` على المستوى الأعلى.

1. افتح `caputchin.json` في مستودعك.
2. اقرأ [شروط تقديم المتجر](/legal/submission-terms).
3. أضف `"terms_accepted": true` على المستوى الأعلى للبيان.
4. التزِم وادفع.
5. انقر "انشر أو حدّث" مجدّدًا، أو انتظر تشغيل الفهرسة اليوميّ التالي.

يجب أن تكون القيمة البوليان `true` الحرفي بـ JSON. السلاسل (`"true"`)، أو الأعداد (`1`)، أو حذف الحقل كلها تُحسَب غير مقبولة.

## الرخصة ليست على القائمة الموافَق عليها [#manifest-error-license]

ترى هذا حين يكون `license` مفقودًا، أو مشوّهًا، أو يسمّي معرّفًا خارج [قائمتنا الموافَق عليها](/docs/marketplace-game-development/publish-failed-reference#approved-licenses).

1. اختر معرّف SPDX من القائمة الموافَق عليها يغطّي كودك وأصولك المضمَّنة فعلًا.
2. افتح `caputchin.json` واضبط حقل `license` على المستوى الأعلى، مثلًا `"license": "MIT"`.
3. إن كان كودك مزدوج الترخيص، استخدم تعبير `OR` بـ SPDX (مثلًا `"MIT OR Apache-2.0"`). يجب أن يكون فرع واحد على الأقل على القائمة الموافَق عليها.
4. إن كان كودك MIT لكنه يضمّن أصول Creative Commons، استخدم `AND` (مثلًا `"MIT AND CC-BY-4.0"`). يجب أن يكون كل فرع على القائمة الموافَق عليها.
5. التزِم، وادفع، وأعد المحاولة.

إن اعتمد مشروعك على رخصة ليست على قائمتنا الموافَق عليها (الأشيع عائلة GPL، أو AGPL، أو LGPL)، فالإصلاح الوحيد إعادة الترخيص أو إزالة المكوّنات المتأثّرة. لا نستطيع منح استثناءات لكل مؤلّف.

## تعذّر علينا إيجاد مستودعك [#repo-not-found]

ترى هذا حين يعيد جلب بياننا 404.

أسباب وإصلاحات شائعة:

- مستودعك خاصّ. اجعله عامًّا، أو أزِل موضوع `caputchin-game` لتتوقّف عن الظهور في الفهرس.
- مستودعك ينقصه موضوع GitHub‏ `caputchin-game`. أضفه عبر قسم About في صفحة المستودع.
- مستودعك لا `caputchin.json` له في الجذر (أو، للألعاب الأبناء في مجموعة، لا `caputchin.json` في مجلّد الورقة).
- رابط المستودع الذي أدخلته خطأ. استخدم `owner/name` أو الرابط الكامل `https://github.com/owner/name`.

ادفع `caputchin.json` إلى مستودعك، ثم أعد المحاولة.

## بنية البيان مشوّهة [#manifest-error-structure]

ترى `manifest-error` يبدأ تفصيله باسم حقل مثل `entry`، أو `npm`، أو `games`، أو `marketplace.support`، أو `run.modules[0].name`.

يخبرك التفصيل بالضبط أيّ حقل خطأ:

- `entry: entry must be a clean relative path`: قيمة `entry` خاصتك تحوي اجتيازًا (`../`)، أو شُرَطًا مطلقة، أو سلاسل استعلام، أو فراغًا. استخدم مسارًا نسبيًّا نظيفًا للمستودع مثل `dist/game.js`.
- `npm: npm package name is malformed`: حقل `npm` خاصتك ليس إحداثي npm صالحًا. استخدم `name` أو `@scope/name`، أحرف وأرقام + شُرَط + نقاط + شُرَط سفلية فقط.
- `games[i] must be a relative path inside the repo`: مسار ابن في مصفوفة `games` لمجموعتك يهرب من المستودع. استخدم مسارات مثل `packages/leaf-memory`، لا `../external` أو `/abs/path`.
- `run.entry must be a clean relative path`: قاعدة النظافة نفسها كـ `entry`، مطبَّقة على مدخل run المقسّم الاختياري.
- `run.modules[i].name`: يجب أن يطابق اسم الوحدة `[a-zA-Z0-9_-]+\.(wasm|js)$` ولا يمكن أن يكون `entry.js` أو `artifact.js`.

حرّر الحقل المسمّى حسب القاعدة، والتزِم، وادفع، وأعد المحاولة.

## marketplace.author بريد غير صالح [#manifest-error-author-email]

ترى هذا حين يوجد `marketplace.author.email` لكنه لا يطابق شكل بريد عاديّ (`@` واحد، ونطاق منقّط، ولا فراغ).

1. افتح `caputchin.json`.
2. جِد `marketplace.author.email`.
3. إمّا أصلِح القيمة إلى عنوان بريد حقيقي (نستخدمه فقط لإشعارات إخفاق النشر) أو أزِل الحقل كليًّا.
4. التزِم، وادفع، وأعد المحاولة.

تستطيع أيضًا إزالة كتلة `marketplace.author` كلها إن لم ترِد استقبال إشعارات إخفاق نشر.

## أداة run خاصتك غير حتمية [#run-not-conforming]

ترى هذا حين يشغّل اختبار المطابقة السريع دالة `run(seed, trace)` للعبتك ولا تنتج حُكمًا مطابقًا.

مهمّ: هذا ليس إخفاق نشر قاتلًا. لعبتك ما زالت مدرَجة في تصفّح المتجر وقابلة للتضمين. تُظهر فقط **غير قابلة للإعادة** ولا تستطيع حراسة مفتاح موقع حتى تُصلَح مشكلة الحتمية.

أسباب شائعة:

- محاكاتك تقرأ `Date.now()`، أو `performance.now()`، أو `Math.random()`، أو متغيّرات عامة أخرى غير حتمية.
- محاكاتك تقرأ حالة خارجية (DOM، شبكة، تخزين) لا نقدّمها وقت إعادة التشغيل.
- محاكاتك تعتمد على حساب فاصلة عائمة يختلف بين زمني التشغيل.

أصلِح المحاكاة لتكون دالة نقية للبذرة والأثر، وادفع، وأعد المحاولة. انظر [عقد إعادة التشغيل](/docs/marketplace-game-development/replay-contract#determinism-is-the-whole-requirement) لقاعدة الحتمية، وفكّر في [عدّة المحرّك](/docs/marketplace-game-development/engine-kit) الاختيارية، التي تقدّم PRNG قابلًا للبذر حتميًّا وساعةً.

## فشل جلب الحزمة [#bundle-fetch-failed]

ترى هذا حين لا يمكن جلب رابط الحزمة المثبَّت بـ `entry` و/أو `npm`، أو يعيد غير 2xx، أو يتجاوز 12MB.

- إن دفعت نسخة جديدة للتوّ: قد لا يكون الـ CDN قد انتشر بعد. انتظر دقيقة وأعد المحاولة.
- إن كانت حزمتك فوق 12MB: قلّم الأصول، أو قسّم إلى وحدات عبر إعلان `run`، أو انقل الأصول الكبيرة إلى مسار تسليم مختلف.
- إن لم تُنشَر حزمة `npm` خاصتك بعد: انشرها أولًا؛ لا نستطيع جلب نسخ غير منشورة.

## طلبات نشر كثيرة جدًّا [#rate-limited]

ترى هذا على نافذة النشر اليدوي حين تكون قد قدّمت أكثر من عشرة طلبات في الـ 60 ثانية الأخيرة.

انتظر 60 ثانية وأعد المحاولة. لا طريق لرفع الحدّ؛ يحمي نقطة الوصول من الإساءة.

## إيقاف رسائل الإشعار

إن أردت إيقاف استقبال بريد إخفاق النشر، انظر [شروط التقديم القسم 10](/legal/submission-terms). عنوان المستلِم هو `marketplace.author.email` خاصتك في البيان؛ إزالته أو تغييره يوقف الرسائل.

## انظر أيضًا

- [مرجع أخطاء النشر الكامل](/docs/marketplace-game-development/publish-failed-reference)
- [انشر إلى المتجر](/docs/marketplace-game-development/publish-to-the-marketplace)
- [شروط تقديم المتجر](/legal/submission-terms)
