Format bundle
Bundle adalah arsip ZIP berisi game web yang mandiri. Runtime menyajikannya di dalam frame tersandbox, jadi semua yang dibutuhkan game harus ada di dalam arsip itu.
Susunan yang wajib
index.html titik masuk, di akar arsip
game.json manifes, di akar arsip
assets/… sisanya, bebas strukturnya
game.json
{
"id": "rosok-garage",
"sdk_version": 1,
"orientation": "portrait",
"settings": {}
}
| Kolom | Arti |
|---|---|
id |
Slug game. Sekadar informasi; server menyapa game lewat slug yang sudah dia tahu. |
sdk_version |
Bilangan bulat, minimal 1. Bundle menolak terbit kalau lebih baru dari SDK yang dibawa aplikasi. |
orientation |
portrait atau landscape. |
settings |
Objek bebas yang diserahkan balik ke game saat runtime. |
Ekspor Astrocade
Ekspor yang terdiri dari game_code.html, <slug>.html, dan game_config.json dikemas ulang saat diunggah: berkas
entry-nya jadi index.html dan game.json dibuat dari config. Push folder ekspornya apa adanya, tidak perlu dikemas
ulang manual.
Validasi
Setiap unggahan diperiksa sebelum disimpan. Satu pemeriksaan gagal berarti seluruh push ditolak, dan pesannya menyebut pemeriksaan mana yang gagal.
| Pemeriksaan | Aturan |
|---|---|
| Struktur | index.html dan game.json ada di akar arsip |
| Jembatan SDK | sdk_version bilangan bulat ≥ 1 dan tidak lebih baru dari SDK aplikasi saat ini |
| Keamanan arsip | Tidak ada path yang keluar dari akar arsip, tidak ada pemekaran berlebihan |
| Ukuran | Masih di dalam batas unggah dan ekstraksi di bawah |
Batas
| Batas | Nilai |
|---|---|
| Ukuran unggahan | 50 MB per bundle |
| Berkas per bundle | 5 000 |
| Ukuran setelah diekstrak | 200 MB |
| Versi yang disimpan | Beberapa versi terbaru per game; yang lama dipangkas bersama berkasnya |
Versi dan rollout
Setiap push yang diterima jadi satu versi bernomor. Versi yang dirilis punya persentase rollout: porsi pemain yang
disajikan versi itu. Sisanya tetap di versi rilis sebelumnya, dan itulah yang bikin rilis bertahap mungkin: push di
rollout: 10, pantau, lalu naikkan. Menyetel rollout sebuah versi ke nol menariknya kembali.
Operator juga bisa menarik game sepenuhnya, yang menyembunyikannya dari katalog dan menolak sesi baru.