Zeno runs entirely in your browser, but it requires a real HTTP or HTTPS origin to register its Service Worker. This guide walks you through serving Zeno’s files, opening the dashboard, adding your first game, and playing it — no account, no backend, and no build step required.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/xXmizzeryXx/zenodeployment/llms.txt
Use this file to discover all available pages before exploring further.
Requirements
- A modern browser with Service Worker support: Chrome, Edge, Firefox, or Safari 16.4+
- Any HTTP or HTTPS server —
file://URLs are not supported
Serve Zeno's files over HTTP
Clone or download the Zeno repository, then start any static file server from the project root. Two zero-install options:Once the server is running, open
http://localhost:8080 (or the port your server reports) in your browser.Open the dashboard and enter your name
The dashboard (
index.html) loads automatically when you open the root URL. On first visit, Zeno prompts you for your name — this is stored in localStorage and used for the personalized greeting on the home screen. The cloak system, wallpaper preferences, and R2 base URL are also stored here.The app grid on the dashboard links to the Game Library, Browser, Terminal, GBA, and Settings.Add your first game
Navigate to Games from the app grid. Zeno supports three ways to add games:Upload from your computer — drag a game folder into one of the five slots, or click ADD GAMES to open the slot modal. Each slot checks that an All assets — JS, CSS, images, audio, fonts, and WASM — are served by the Service Worker with correct MIME types. Relative paths in
index.html exists at the top level before accepting the folder. You can drop up to five folders at once and the bulk drop zone fills the slots automatically.Your game folder must follow this structure:index.html work as normal.Git import — paste a repository URL from GitHub, GitLab, Forgejo, Gitea, or any compatible forge. You can also use owner/repo shorthand, which defaults to git.gay. Zeno scans the repo tree for top-level folders containing index.html, shows you a checklist of found games, and downloads only the ones you select.R2 import — paste a full Cloudflare R2 link (https://pub-xxx.r2.dev/game-name/index.html) or just a folder name if you have already saved a base URL. R2 games are iframed directly — no files are downloaded or registered with the Service Worker.Click a game card to play
Each loaded game appears as a card in the library. Click any card to launch the game in a fullscreen modal iframe. A fullscreen toggle is available in the modal header.Before the iframe opens, Zeno pings the Service Worker to confirm the game’s files are still registered. If the SW was restarted by the browser (a normal browser memory-saving measure), Zeno automatically re-registers the files from the stored copies in IndexedDB — so you never see a blank screen or a 404.Games saved via upload or Git import are persisted to IndexedDB and restored automatically the next time you open the page. R2 games persist as a URL reference only.