> ## Documentation Index
> Fetch the complete documentation index at: https://summer-18f03259-codex-native-multiplayer-entry.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Production Launch Runbook

> Single linear runbook for fresh AI/dev sessions: integrate the SDK contract, validate locally, export safely, and submit for review.

## Use This When You Need A Reliable End-To-End Path

This page is the shortest safe route from “new game” to “submitted for review.”

## Current Publishing Checklist (Most Important)

* Build your creator gameplay scripts in `GDScript` for the current Summercraft publishing flow.
* **Recommended release API:** submit a game-only `.pck` containing `manifest.json`; size
  must be 1 KiB–512 MiB.
* **Browser submission:** upload the `.pck` and a separate `manifest.json`; the browser path
  accepts up to 2 GB and runs the static scanner at upload time.
* Choose one path before exporting. A 2 GB browser limit does not raise the release API's
  512 MiB limit.

## Step 1: Validate Project Contract

* `main.gd` extends `SummerGame`.
* `manifest.json` includes required keys.
* `player_scene` points to a valid scene.
* gameplay scripts are authored in `GDScript`.
* choose player model:
  * `SummerCharacter3D` (3D template), or
  * custom script extending `SummerPlayer`.

## Step 2: Validate Authority Boundaries

* gameplay outcomes run under `if not Summer.is_server(): return`.
* clients render synced state (`get_synced`) only.
* no score/economy/data writes on client paths.

## Step 3: Validate Scanner Safety

* no blocked APIs in scripts/resources.
* no reserved infrastructure paths in export scope.
* no blocked binary/native resource extensions in pack.

Reference:

* [/api-reference/summer-sdk/banned-apis-reference](/api-reference/summer-sdk/banned-apis-reference)

## Step 4: Local Runtime Validation

Run the canonical Summer Engine smoke checks. If the starter project includes the optional
loopback runner, run that separately and confirm:

* local server starts + local client connects,
* player join/leave stable,
* gameplay loop runs for 10+ minutes,
* reconnect path works.

This is local loopback validation only. It does not prove production ticket redemption,
platform hosting, matchmaking, or the runtime sandbox.

Reference:

* [/api-reference/summer-sdk/testing-your-game-locally](/api-reference/summer-sdk/testing-your-game-locally)

## Step 5: Export Validation

* use game-only `.pck` preset.
* update include filter to game folder.
* confirm exported `.pck` includes only intended content.
* for the recommended release API, confirm package size is 1 KiB–512 MiB and that
  `manifest.json` is inside the pack;
* for browser submission, confirm the `.pck` is at most 2 GB and keep the matching
  `manifest.json` as the second upload;
* if neither path fits, contact [founders@summerengine.com](mailto:founders@summerengine.com)
  before spending a submission attempt.

Reference:

* [/api-reference/summer-sdk/exporting-and-uploading-your-game](/api-reference/summer-sdk/exporting-and-uploading-your-game)

## Step 6: Submission Validation

Choose one submission path:

* **Release API:** create game → mint upload URL → PUT `.pck` → finalize; expect
  `pending_review`.
* **Browser:** upload `.pck` + separate `manifest.json`; expect status `review`, a
  submission id, and no static-analysis violations.

Neither path makes the game playable. Follow the canonical
[platform capability status](/knowledge-base/source-status#platform-capability-status).

Reference:

* [/api-reference/summer-sdk/submission-guide](/api-reference/summer-sdk/submission-guide)

## Top 10 Failure Modes (And Fixes)

1. **`entry_scene` invalid**
   * Fix `manifest.json` path and re-export.
2. **`player_scene` invalid**
   * Fix scene path, confirm script setup, re-export.
3. **Client-authoritative logic**
   * Move outcome logic to server path.
4. **Missing synced fields**
   * Use `set_synced` for client-visible state.
5. **Scanner blocked pattern**
   * Remove blocked API usage.
6. **Reserved path in pack**
   * Correct include/exclude export filters.
7. **File too large**
   * Optimize assets and remove unused files.
8. **Manifest type mismatch**
   * Enforce required key types.
9. **Template mismatch**
   * 3D helper methods used without `SummerCharacter3D`.
10. **Reconnect instability**
    * Reinitialize player synced state on join.

## Launch Ready Criteria

* [ ] Contract checks pass
* [ ] Authority checks pass
* [ ] Scanner checks pass
* [ ] Local runtime checks pass
* [ ] Export checks pass
* [ ] Submission accepted into review

If all are true, the build is ready for production review launch.
