Files
MineGeo/docs/map-sharing.md

27 lines
1.5 KiB
Markdown

# Share a map with friends
The original owner can choose **Export ZIP** in their map editor or on the public
map page. The ZIP includes the saved map, selected panoramas, coordinates, and
signed original-owner attribution. Save edits before exporting. Raw world files,
server addresses, account IDs, tokens, and storage links are excluded.
On **Servers**, choose **Import** beside search, then select the exported ZIP.
Sign in first to keep the imported map in your dashboard. The ZIP limit is 256 MB.
Files upload directly to private Supabase Storage, then the deployed image
processor checks sizes, hashes, formats, and dimensions and creates the draft.
Neither Minecraft nor the terrain-rendering worker is required for these imports.
Imported maps are private and show **Owned by [original owner]**. The recipient
can play solo or host an invite-only multiplayer room after processing, with no
moderator approval. Submission, publication, and re-export of imported copies
are blocked. The original owner keeps the normal export and public review flow.
Private imported games do not contribute to the public leaderboard.
Apply `supabase/migrations/20261007145000_map_sharing.sql` before deploying.
Archive ownership signatures use a purpose-specific HMAC derived from the
server's Supabase secret key. Rotating that key invalidates ownership signatures
in older ZIPs; the original owner can export a new ZIP.
Verification: `npm test`, `npm run typecheck -- --incremental false`,
`node scripts/test-map-sharing-sql.mjs`, and `npm run build`.