# As a condition of accessing this website, you agree to abide by the following # content signals: # (a) If a Content-Signal = yes, you may collect content for the corresponding # use. # (b) If a Content-Signal = no, you may not collect content for the # corresponding use. # (c) If the website operator does not include a Content-Signal for a # corresponding use, the website operator neither grants nor restricts # permission via Content-Signal with respect to the corresponding use. # The content signals and their meanings are: # search: building a search index and providing search results (e.g., returning # hyperlinks and short excerpts from your website's contents). Search does not # include providing AI-generated search summaries. # ai-input: inputting content into one or more AI models (e.g., retrieval # augmented generation, grounding, or other real-time taking of content for # generative AI search answers). # ai-train: training or fine-tuning AI models. # ANY RESTRICTIONS EXPRESSED VIA CONTENT SIGNALS ARE EXPRESS RESERVATIONS OF # RIGHTS UNDER ARTICLE 4 OF THE EUROPEAN UNION DIRECTIVE 2019/790 ON COPYRIGHT # AND RELATED RIGHTS IN THE DIGITAL SINGLE MARKET. # BEGIN Cloudflare Managed content User-agent: * Content-Signal: search=yes,ai-train=no Allow: / User-agent: Amazonbot Disallow: / User-agent: Applebot-Extended Disallow: / User-agent: Bytespider Disallow: / User-agent: CCBot Disallow: / User-agent: ClaudeBot Disallow: / User-agent: CloudflareBrowserRenderingCrawler Disallow: / User-agent: Google-Extended Disallow: / User-agent: GPTBot Disallow: / User-agent: meta-externalagent Disallow: / # END Cloudflare Managed Content PlayDoom

PlayDoom

Play Doom with friends in your browser.

PlayDoom is a self-hosted browser deathmatch setup based on a Doom-compatible engine and FreeDM/Freedoom assets. You deploy your own copy, get your own Worker URL, then share room links with friends.

This website does not host the games. It only explains the setup and points you to the deployable template repository.

PlayDoom browser gameplay preview
Browser gameplay using FreeDM assets.
Players
Up to 4 playable slots.
Hosting
The host needs a Cloudflare account to deploy.
Assets
Uses FreeDM/Freedoom game data.

Setup

How to deploy

One-minute setup walkthrough.
  1. Create an empty GitHub repository

    Use your own GitHub account. Do not add a README, license, or gitignore.

  2. Click Deploy to Cloudflare

    Cloudflare opens the setup flow for the public playdoom-template source repo.

  3. Connect GitHub

    When GitHub asks what Cloudflare can access, choose only the empty repo you created.

  4. Review the application setup

    Use the empty repo as the destination. Review the generated resources and DOOM_KEY, then keep the defaults unless you want to rename the Worker.

  5. Open your Worker URL

    Cloudflare deploys your copy and shows a workers.dev URL. Open it and start a room.

Players should join before the host starts the match. Scores are shown in-game, but there is no persistent scoreboard yet.