{
  "_about": "Fan-made browser ports hosted by other people. We embed or link them; we never copy their files. Sections follow the source post: open-world (Open world / other), zombies, shooters. Live third-party ports open in their own window by default (mode 'popout': mouse capture, keys, fullscreen and audio work there); 'frame_ok' ports also offer 'Play here (in frame)'. Self-hosted engines (mode 'engine') run in the frame, same origin.",
  "categories": [
    {
      "id": "open-world",
      "name": "Open world"
    },
    {
      "id": "zombies",
      "name": "Zombies"
    },
    {
      "id": "shooters",
      "name": "Shooters"
    }
  ],
  "games": [
    {
      "id": "gta5",
      "name": "GTA 5",
      "category": "open-world",
      "url": "https://gta.deloskiyt.pl/",
      "mode": "popout",
      "host": "gta.deloskiyt.pl",
      "tile": "assets/tiles/gta5.webp",
      "mobile": false,
      "mirror": "https://web.archive.org/web/20261006055917/https://playgta5.com/",
      "embed": "blocked",
      "notes": "Loads in a frame but stops at 'not cross-origin isolated': the port needs its own window.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "hidden": true
    },
    {
      "id": "gta-vc",
      "name": "GTA Vice City",
      "category": "open-world",
      "url": "https://joncodeofficial.github.io/gta-vice-city-wasm",
      "mode": "embed",
      "host": "joncodeofficial.github.io",
      "tile": "assets/tiles/gta-vc.webp",
      "mobile": false,
      "embed": "needs-files",
      "notes": "First screen asks you to import your own game.tar.gz (kept in your browser).",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "hidden": true
    },
    {
      "id": "simpsons-hr",
      "name": "The Simpsons: Hit & Run",
      "category": "open-world",
      "url": "https://shar-wasm.cjoseph.workers.dev/?skipmovie",
      "mode": "embed",
      "host": "shar-wasm.cjoseph.workers.dev",
      "tile": "assets/tiles/simpsons-hr.webp",
      "mobile": false,
      "embed": "blocked",
      "notes": "Not reachable from the test PC (its DNS answers 127.0.0.1 for this host). Untested; Pop out is offered.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "hidden": true
    },
    {
      "id": "skate3",
      "name": "Skate 3",
      "category": "open-world",
      "url": "https://skate.aaddpp.lol",
      "mode": "embed",
      "host": "skate.aaddpp.lol",
      "tile": "assets/tiles/skate3.webp",
      "mobile": false,
      "embed": "needs-files",
      "notes": "Fan engine: you bring your own legally owned copy of Skate 3.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "hidden": true
    },
    {
      "id": "skate-rust",
      "name": "Skate Rust",
      "category": "open-world",
      "url": "https://global-terror.net",
      "mode": "popout",
      "host": "global-terror.net",
      "tile": "assets/tiles/skate-rust.webp",
      "mobile": false,
      "embed": "blocked",
      "notes": "Host refuses frames (X-Frame-Options DENY). First screen is an ACCEPT / DENY splash.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "hidden": true
    },
    {
      "id": "pes6",
      "name": "PES 6",
      "category": "open-world",
      "url": "https://pes6.optijuegos.net",
      "mode": "popout",
      "host": "pes6.optijuegos.net",
      "tile": "assets/tiles/pes6.webp",
      "mobile": false,
      "embed": "ok",
      "notes": "Played through 2026-10-13: downloads, then the in-game language menu (22 fps on software GL).",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "start": "Wait for the download (about 300 MB the first time), then press the play arrow. Menus: arrows move, Enter = Cross (accept), Esc = Circle (back). In-game keys: open 'Controles' on the host page to see or change them.",
      "played": "2026-10-13",
      "frame_ok": true
    },
    {
      "id": "hedgewars",
      "name": "Hedgewars",
      "category": "open-world",
      "url": "https://webwars.link",
      "mode": "popout",
      "host": "webwars.link",
      "tile": "assets/tiles/hedgewars.webp",
      "mobile": false,
      "embed": "blocked",
      "notes": "Host's HTTPS certificate is invalid and it answers 400. Opens in a new window so your browser can show its warning.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "hidden": true
    },
    {
      "id": "wasmarcade",
      "name": "More GTA / Minecraft",
      "category": "open-world",
      "url": "https://wasmarcade.com",
      "mode": "popout",
      "host": "wasmarcade.com",
      "tile": "assets/tiles/wasmarcade.webp",
      "mobile": false,
      "embed": "blocked",
      "notes": "Host refuses frames (X-Frame-Options SAMEORIGIN). A catalog site; pick GTA or Minecraft there.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "hidden": true
    },
    {
      "id": "bo1-zombies",
      "name": "BO1 Zombies",
      "category": "zombies",
      "url": "https://vel.gg/bo1z",
      "mode": "embed",
      "host": "vel.gg",
      "tile": "assets/tiles/bo1-zombies.webp",
      "mobile": false,
      "embed": "blocked",
      "notes": "Runs its menu in a frame but refuses to load a map: \"Shared memory is unavailable, the host must enable cross-origin isolation\". The host sends CORP same-origin, so our page cannot isolate it. Needs its own window.",
      "probed": "2026-10-13",
      "tile_source": "screenshot of the host's first screen",
      "hidden": true
    },
    {
      "id": "moon",
      "name": "Moon",
      "category": "zombies",
      "url": "https://moon-zombies.pages.dev",
      "mode": "popout",
      "host": "moon-zombies.pages.dev",
      "tile": "assets/tiles/moon.webp",
      "mobile": false,
      "embed": "blocked",
      "notes": "Host shows a Cloudflare check that will not load inside a frame.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "hidden": true
    },
    {
      "id": "kino",
      "name": "Kino der Toten",
      "category": "zombies",
      "url": "https://kino-der-toten.pages.dev",
      "mode": "popout",
      "host": "kino-der-toten.pages.dev",
      "tile": "assets/tiles/kino.webp",
      "mobile": false,
      "embed": "blocked",
      "notes": "Host shows a Cloudflare check that will not load inside a frame.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "hidden": true
    },
    {
      "id": "cheese-cube",
      "name": "BO3 Cheese Cube",
      "category": "zombies",
      "url": "https://cheese-cube.pages.dev",
      "mode": "popout",
      "host": "cheese-cube.pages.dev",
      "tile": "assets/tiles/cheese-cube.webp",
      "mobile": false,
      "embed": "blocked",
      "notes": "Host shows a Cloudflare check that will not load inside a frame.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "hidden": true
    },
    {
      "id": "bo2",
      "name": "Black Ops 2",
      "category": "shooters",
      "url": "https://vibeslops.luckeysystems.com",
      "mode": "embed",
      "host": "vibeslops.luckeysystems.com",
      "tile": "assets/tiles/bo2.webp",
      "mobile": false,
      "embed": "blank",
      "notes": "Host now shows the author's DMCA takedown post instead of the game.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "hidden": true
    },
    {
      "id": "mw2",
      "name": "Modern Warfare 2",
      "category": "shooters",
      "url": "https://ovz-game-production.up.railway.app",
      "mode": "popout",
      "host": "ovz-game-production.up.railway.app",
      "tile": "assets/tiles/mw2.webp",
      "mobile": false,
      "embed": "blocked",
      "notes": "Host refuses frames (X-Frame-Options DENY) and needs a WebGPU browser.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "hidden": true
    },
    {
      "id": "halo-ce",
      "name": "Halo CE",
      "category": "shooters",
      "url": "https://mitchellhynes.com/halo",
      "mode": "popout",
      "host": "mitchellhynes.com",
      "tile": "assets/tiles/halo-ce.webp",
      "mobile": false,
      "embed": "needs-files",
      "notes": "Asks for your own Halo XISO and needs COOP/COEP, which only its own window gets.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "hidden": true
    },
    {
      "id": "halo-ce-mobile",
      "name": "Halo CE mobile",
      "category": "shooters",
      "url": "https://hcemobile.com",
      "mode": "embed",
      "host": "hcemobile.com",
      "tile": "assets/tiles/halo-ce-mobile.webp",
      "mobile": true,
      "embed": "needs-files",
      "notes": "Asks for your own Xbox disc image of Halo CE and needs shared memory (threads unavailable in a frame).",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "hidden": true
    },
    {
      "id": "quake1",
      "name": "Quake 1",
      "category": "shooters",
      "mode": "engine",
      "engine": "webquake",
      "url": "engines/quake1/index.html",
      "play_url": "engines/quake1/index.html",
      "host": "self-hosted",
      "tile": "assets/tiles/quake1.webp",
      "mobile": false,
      "embed": "ok",
      "score": {
        "label": "Kills",
        "events": [
          "kill"
        ]
      },
      "notes": "Shareware episode 1 (8 levels) on WebQuake (GPL-2.0), served from this site with id's unmodified quake106.zip. Reports kills, secrets, deaths and level times.",
      "start": "Pick a skill: you start at E1M1. Click the game to capture the mouse; Esc releases it.",
      "download_mb": 9.6,
      "played": "2026-10-13",
      "tile_source": "cropped from the source post's grid"
    },
    {
      "id": "quake1-embed",
      "name": "Quake 1",
      "category": "shooters",
      "url": "https://q1.pieter.com",
      "mode": "embed",
      "host": "q1.pieter.com",
      "tile": "assets/tiles/quake1.webp",
      "mobile": false,
      "embed": "ok",
      "notes": "Replaced by the self-hosted engine (id quake1). Lobby + Play work in the frame; the download could not be verified headless (the host blocks automated browsers), Quake 3 on the same host runs fully.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "start": "Loads straight into the game (the first time downloads it). Click the game to capture the mouse; Esc releases it.",
      "played": "2026-10-13",
      "play_url": "https://q1.pieter.com/play?name={nick}",
      "hidden": true,
      "replaced_by": "quake1"
    },
    {
      "id": "quake2",
      "name": "Quake 2",
      "category": "shooters",
      "url": "https://q2.pieter.com",
      "mode": "popout",
      "host": "q2.pieter.com",
      "tile": "assets/tiles/quake2.webp",
      "mobile": false,
      "embed": "ok",
      "notes": "Lobby + Play work in the frame; the 77 MB download could not be verified headless (host blocks automated browsers).",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "start": "Loads straight into the game (the first time downloads it). Click the game to capture the mouse; Esc releases it.",
      "played": "2026-10-13",
      "play_url": "https://q2.pieter.com/play?name={nick}",
      "frame_ok": true
    },
    {
      "id": "quake3",
      "name": "Quake 3",
      "category": "shooters",
      "url": "https://q3.pieter.com",
      "mode": "popout",
      "host": "q3.pieter.com",
      "tile": "assets/tiles/quake3.webp",
      "mobile": false,
      "embed": "ok",
      "notes": "Played through 2026-10-13: in a live multiplayer match inside the frame.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "start": "Loads straight into the game (the first time downloads it). Click the game to capture the mouse; Esc releases it.",
      "played": "2026-10-13",
      "play_url": "https://q3.pieter.com/game2/game?host=q3.pieter.com&proxyPort=443&fs_game=baseq3&name={nick}",
      "frame_ok": true
    },
    {
      "id": "openarena",
      "name": "OpenArena",
      "category": "shooters",
      "mode": "engine",
      "engine": "ioquake3",
      "url": "engines/openarena/index.html",
      "play_url": "engines/openarena/index.html",
      "host": "self-hosted",
      "tile": "assets/tiles/openarena.webp",
      "mobile": false,
      "embed": "ok",
      "score": {
        "label": "Frags",
        "events": [
          "frag"
        ]
      },
      "notes": "Removed by the owner on 2026-10-14 (\"remove quake 3\"): the 280 MB first-play download split the hosting. Engine files stay in engines/openarena/; set hidden to false to bring it back. OpenArena 0.8.8 (GPL-2.0) skirmish vs 3 bots on OA_DM1, on the ioquake3 web client (GPL-2.0) built single-threaded and served from this site. Reports frags, deaths, the match end and the final score from the game's own match log.",
      "start": "Pick the bots' skill: the match starts on OA_DM1 against 3 bots. Click the game to capture the mouse; Esc releases it. The first play downloads about 280 MB.",
      "download_mb": 280.0,
      "played": "2026-10-13",
      "tile_source": "headless screenshot of the engine's own first frame (Source B)",
      "hidden": true
    },
    {
      "id": "rtcw",
      "name": "Return to Castle Wolfenstein",
      "category": "shooters",
      "url": "https://rtcw.pieter.com",
      "mode": "popout",
      "host": "rtcw.pieter.com",
      "tile": "assets/tiles/rtcw.webp",
      "mobile": false,
      "embed": "ok",
      "notes": "Lobby + Play work in the frame; the download could not be verified headless (host blocks automated browsers).",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "start": "Loads straight into the game (the first time downloads it). Click the game to capture the mouse; Esc releases it.",
      "played": "2026-10-13",
      "play_url": "https://rtcw.pieter.com/play?name={nick}",
      "frame_ok": true
    },
    {
      "id": "ut",
      "name": "Urban Terror",
      "category": "shooters",
      "url": "https://ut.pieter.com",
      "mode": "popout",
      "host": "ut.pieter.com",
      "tile": "assets/tiles/ut.webp",
      "mobile": false,
      "embed": "ok",
      "notes": "Lobby + Play work in the frame; the host refuses automated browsers so the download was not verified.",
      "probed": "2026-10-13",
      "listed_as": "Unreal Tournament",
      "tile_source": "screenshot of the host's first screen",
      "start": "Loads straight into the game (the first time downloads it). Click the game to capture the mouse; Esc releases it.",
      "played": "2026-10-13",
      "play_url": "https://ut.pieter.com/play?name={nick}",
      "frame_ok": true
    },
    {
      "id": "half-life",
      "name": "Half-Life",
      "category": "shooters",
      "url": "https://pixelsuft.github.io/hl/",
      "mode": "popout",
      "host": "pixelsuft.github.io",
      "tile": "assets/tiles/half-life.webp",
      "mobile": false,
      "embed": "ok",
      "notes": "Played through 2026-10-13: Start, then \"Launch Xash3D!\" (214 MB), then the Half-Life main menu inside the frame.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "start": "Press Start, then \"Launch Xash3D!\" (214 MB the first time).",
      "played": "2026-10-13",
      "frame_ok": true
    },
    {
      "id": "cs16",
      "name": "Half-Life / CS 1.6",
      "category": "shooters",
      "url": "https://x8bitrain.github.io/webXash/",
      "mode": "popout",
      "host": "x8bitrain.github.io",
      "tile": "assets/tiles/cs16.webp",
      "mobile": false,
      "embed": "ok",
      "notes": "Played through 2026-10-13: Half-Life main menu inside the frame.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "start": "Click Half-Life or Counter-Strike, pick a demo (HLDM, Uplink or Day One), then Start Demo.",
      "played": "2026-10-13",
      "frame_ok": true
    },
    {
      "id": "cs-surf",
      "name": "CS Surf",
      "category": "shooters",
      "url": "https://surfd.net",
      "mode": "popout",
      "host": "surfd.net",
      "tile": "assets/tiles/cs-surf.webp",
      "mobile": false,
      "embed": "ok",
      "notes": "Played through 2026-10-13: map loaded inside the frame (Solo tab, Windowed, Join map).",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "start": "Choose the Solo tab, pick Windowed, press \"Join map\", then leave the start zone.",
      "played": "2026-10-13",
      "frame_ok": true
    },
    {
      "id": "diablo",
      "name": "Diablo",
      "category": "shooters",
      "url": "https://johnimril.github.io/diablo_web/",
      "mode": "popout",
      "host": "johnimril.github.io",
      "tile": "assets/tiles/diablo.webp",
      "mobile": false,
      "embed": "ok",
      "notes": "Played through 2026-10-13: shareware main menu inside the frame.",
      "probed": "2026-10-13",
      "tile_source": "cropped from the source post's grid",
      "start": "Press \"Play Free Demo\" (25 to 50 MB the first time).",
      "played": "2026-10-13",
      "frame_ok": true
    }
  ]
}
