DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
FREEDOM251

Freedom251 › Blog › .NET

How to Play DOOM Through a DNS Server

By Freedom251 Team · · 10 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Yes—you can play the shareware version of DOOM by downloading its engine and game data from DNS TXT records. Adam Rice’s Doom Over DNS project stores compressed, Base64-encoded chunks in DNS, then a PowerShell client resolves those records, rebuilds the files in memory and launches a managed .NET engine locally. The game is not running on a DNS server, and DNS never becomes a conventional multiplayer or streaming game server.

The result is a striking proof of concept rather than a practical installation method: startup takes roughly 10–20 seconds, the payload occupies about 1,964–1,966 TXT records, audio has been removed, and publishing normally requires a paid DNS zone. Windows 10 or 11, OpenGL and PowerShell 7 are required; the repository instructions list macOS as unsupported.

As an Amazon Associate I earn from qualifying purchases.

What “playing DOOM through DNS” actually means

DNS normally answers questions such as which IP address belongs to a hostname. TXT records, however, can carry arbitrary text. Doom Over DNS uses that text capacity as a distributed cache-like store. The publisher compresses the managed-doom engine and a shareware DOOM WAD, encodes the binary data as text, splits it into chunks and writes those chunks to DNS TXT records.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When you start the client, it asks DNS for each chunk, verifies and reassembles the data in memory, loads the .NET assemblies and starts the game. The WAD is not written to your disk during this process. The game still executes on your Windows computer, using your local graphics stack and input devices. DNS supplies the bytes; it does not render frames or simulate the game.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

This distinction matters when assessing the project. It demonstrates that an old, widely deployed protocol can transport a surprisingly large payload, but it does not turn DNS into a high-performance file system. DNS caching, record-size limits, propagation delays and provider quotas all become part of the launch experience.

What you need before starting

Requirement What the project specifies Why it matters
Operating system Windows 10 or Windows 11 The supplied scripts are PowerShell-oriented and the repository lists macOS as unsupported.
PowerShell PowerShell 7 The publisher and launcher are PowerShell scripts; use the current cross-platform PowerShell release on Windows rather than relying on an older Windows PowerShell installation.
Graphics OpenGL The managed engine needs an OpenGL-capable graphics environment to create its window and draw the game.
.NET .NET 8 SDK/runtime for the managed-doom build The engine must be published before its output can be placed in DNS.
DNS account A DNS provider with an API; the documented path uses a Cloudflare DNS zone The publishing script creates a large number of TXT records automatically.
API permission Cloudflare API token with Edit zone DNS permission The script needs permission to create and update records without giving it unrelated account access.
Game data A legally obtained shareware DOOM WAD The WAD is the game’s maps, graphics, sounds and other assets. Doom Over DNS deliberately removes audio from the delivered build, so the resulting game is silent.

Have the engine’s publish directory and the WAD path ready before running the uploader. Keep the API token out of command history, screenshots and source-control files. A narrowly scoped token is safer than a general account key.

How the DNS payload is organized

Compression and text encoding

Binary DLLs and WAD data cannot be placed directly in a TXT record as arbitrary bytes. The project compresses the payload and represents the result with Base64 text. Base64 increases the textual size, so the uploader divides the encoded stream into many records rather than trying to fit everything into one answer.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Record counts and provider tiers

Adam Rice reports about 1,964–1,966 TXT records for a complete 2026 deployment. The compressed WAD is approximately 1.7 MB and the DLL bundle approximately 1.2 MB. The repository documentation gives a useful capacity warning: a free zone holds 185 data chunks, while Pro, Business and Enterprise zones hold 3,400. The WAD alone needs about 1,199 chunks, so a free-tier user must distribute the data across multiple domains. The exact total depends on the generated files and chunking performed by the version you publish.

Why records can be resolved

DNS resolvers already know how to retrieve TXT answers, cache them and follow authoritative nameservers. Doom Over DNS uses that existing behavior as transport. The client requests the project’s records, obtains the text chunks and reconstructs the original compressed streams. Caches can make later requests faster, while a resolver that has not yet seen the records may need to contact the authoritative server and wait for propagation.

Build the managed engine

  1. Install the .NET 8 SDK on Windows and confirm that the command is available with dotnet --info. The output should identify an installed .NET 8 SDK.

  2. Obtain the Doom Over DNS source and its managed-doom engine source as described by the project. Keep the source in a working directory that you can back up or remove later.

    Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  3. From the managed-doom project directory, run dotnet publish. The project’s configuration determines the target framework and output location; the documented build path is .NET 8.

  4. Locate the resulting publish directory. It should contain the managed engine’s assemblies and supporting files. Do not point the uploader at an intermediate build directory if the project creates a separate publish output.

  5. Obtain the shareware WAD from a legitimate source and note its full Windows path. The publisher needs both this WAD path and the engine publish directory.

    Rank #2
    Sale
    Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
    • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
    • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
    • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
    • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
    • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

Building locally makes the process reproducible: you can see exactly which output is being packaged and rebuild it after changing the engine. It also avoids treating a DNS record set as a substitute for source code or a normal installation archive.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Publish the engine and WAD to DNS

Create a suitable zone and token

  1. Create or select a DNS zone that you control. A single Pro, Business or Enterprise zone has the documented capacity for the full record set; a free zone does not, because its 185-chunk allowance is smaller than the WAD’s approximately 1,199 chunks.

  2. In your DNS provider’s account, create an API token limited to DNS editing for the zone. For the documented Cloudflare workflow, the token must have Edit zone DNS permission.

  3. Make sure the zone is delegated and answering authoritatively before uploading. If the nameservers are not active, records created through the API cannot be resolved by the launcher.

  4. Load the token into the environment or secure credential mechanism expected by the project. Avoid pasting a secret into a public issue, shell transcript or script committed to a repository.

    Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Run the publisher

  1. Open PowerShell 7 in the Doom Over DNS project directory.

  2. Read the script’s current parameter names before invocation with Get-Help .Publish-DoomOverDNS.ps1 -Full. The required values are the managed engine’s publish directory, the WAD path and one or more DNS zones.

  3. Run .Publish-DoomOverDNS.ps1 using the parameter names shown by that help output, supplying a real publish directory, a real WAD path and the zone or zones you control. Do not guess parameter names from an older copy of the project.

  4. Wait for the script to compress, encode and upload the chunks. With nearly two thousand records, this is an API operation rather than a single DNS change.

    Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  5. Record the primary zone name and any secondary zones exactly as the script reports them. The launcher needs the primary zone to discover the published data.

    Rank #3
    New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord | 6.35mm Jack, Durable Design, Stage and Home Studio Use, Low Noise Shielded Electric Cord for Bass, Keyboard, Amp, Mixer
    • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
    • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
    • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
    • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
    • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by

Because the project’s scripts can evolve, using Get-Help for the local version is safer than copying an invocation from an unrelated tutorial. The important inputs remain the same even if a release changes their switch names.

Start DOOM from DNS

  1. Allow the DNS changes to propagate. A resolver close to the authoritative nameserver may see the records quickly; another resolver can continue returning an older or empty answer until its cache expires.

  2. From PowerShell 7, run .Start-DoomOverDNS.ps1 -PrimaryZone 'example.com', replacing example.com with the zone reported by your upload.

    Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  3. If your normal resolver has not received the records, select a resolver explicitly: .Start-DoomOverDNS.ps1 -PrimaryZone 'example.com' -DnsServer '1.1.1.1'. The script uses Resolve-DNSName for its lookups.

  4. Wait while the launcher resolves the TXT records, rebuilds the compressed streams in memory and loads the managed assemblies. Adam Rice reports roughly 10–20 seconds for resolution and reconstruction under the project’s 2026 conditions.

  5. When the engine window opens, use it like a local DOOM port. Expect no sound: the distributed project removes audio deliberately.

The first launch is the most revealing test of the setup. It exercises authoritative DNS, recursive resolution, record caching, the PowerShell runtime, .NET assembly loading and OpenGL initialization in one sequence.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What performance and capacity to expect

Characteristic Doom Over DNS Ordinary local installation
Startup transport Resolves and reconstructs about 1,964–1,966 TXT records; Adam Rice reports about 10–20 seconds. Reads a local executable and WAD, normally avoiding DNS transfer at launch.
Disk handling The launcher keeps the reconstructed WAD in memory rather than writing it to disk. Game files are normally stored on disk.
Platform support Windows 10/11 with PowerShell 7 and OpenGL; macOS is listed as unsupported. Depends on the chosen port and its supported operating systems.
Audio Removed, so the game runs silently. Usually available when the selected port and assets support it.
DNS capacity Free zones hold 185 data chunks; Pro/Business/Enterprise zones hold 3,400 according to the repository. No DNS record quota is involved in normal local play.
Provider expense Adam Rice estimates about $20 per month for a Cloudflare Pro domain in 2026. No recurring DNS hosting charge is needed solely to launch the game.
Network dependence Every fresh reconstruction depends on DNS reachability and usable records. After installation, play can generally continue without retrieving game files from DNS.

These differences explain why the project is interesting but inefficient. DNS is carrying megabytes through a protocol optimized for short, cacheable answers. The value is the demonstration of protocol flexibility, not faster startup, lower cost or richer game features.

Troubleshoot common failures

No records are returned

  • Check that the domain’s authoritative nameservers are active and that the uploader targeted the same zone you passed to -PrimaryZone.

  • Query the zone with the same resolver the script uses. If a public resolver returns no TXT data immediately after publishing, wait for propagation and cache expiry.

    Rank #4
    BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
    • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
    • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
    • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
    • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
    • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
  • Use the -DnsServer option to test a known resolver rather than assuming the local network’s resolver has current data.

    Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The upload stops or produces permission errors

  • Confirm that the API token is valid, has Edit zone DNS permission and is restricted to the correct zone.

  • Check provider limits and the zone tier. A free zone’s 185 data chunks cannot hold the approximately 1,199 chunks required by the WAD alone.

  • Verify that the token has not expired or been copied with an extra character. Recreate a narrowly scoped token if necessary instead of granting broad account permissions.

The launcher reconstructs data but the game window fails

  • Confirm that PowerShell 7, the .NET 8 runtime and the published managed assemblies are compatible with the project version.

    Free tools Windows power users keep installed

    One-click scans. No signup required.

    Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Check OpenGL support and graphics-driver installation. DNS retrieval can succeed even when the local graphics environment cannot create the engine window.

  • Rebuild with dotnet publish and republish the complete output if an assembly is missing or was taken from an intermediate directory.

The game starts but has no sound

This is expected behavior, not a failed audio device. The project removes audio from its distributed build, so changing Windows volume settings or reinstalling a sound driver will not add music or effects.

Startup is slower than 20 seconds

The reported 10–20-second figure is an approximate 2026 observation, not a guaranteed limit. A cold resolver cache, long-distance authoritative lookups, throttling, packet loss or repeated retries can extend the reconstruction time. Test with a resolver that can reach the zone and avoid launching multiple simultaneous clients while diagnosing a slow upload.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Security and defensive significance

Putting executable components and a WAD in TXT records is unusual, but the underlying mechanism is ordinary DNS behavior. The same ability to hide Base64 payloads in many TXT answers can be misused to stage software or move data through networks that permit DNS. That is why the project is relevant to defenders as well as retro-gaming enthusiasts.

Defensive teams can treat a sudden burst of TXT queries, unusually long Base64-looking answers, high-entropy labels or repeated lookups across many subdomains as investigation signals. Those indicators are not proof of malware: legitimate email, verification and service-discovery systems also use TXT records. Context, volume, destination reputation and the requesting process matter.

Do not deploy the project on networks where policy forbids unusual DNS traffic, and do not use the technique to bypass filtering or move someone else’s data. A controlled zone, a least-privilege token and a disposable test account keep the demonstration separate from production DNS.

Is it reproducible and worth doing?

It is reproducible when you control the same ingredients: the project revision, a .NET 8 build, a valid shareware WAD, a DNS zone with enough capacity, a correctly scoped API token and a Windows/OpenGL environment. Keep a record of the zone names and the exact published build so that you can distinguish a DNS problem from an engine-build problem.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For ordinary play, install a conventional DOOM port and keep the game files locally. Choose Doom Over DNS when the goal is to understand DNS transport, experiment with in-memory assembly loading or demonstrate how a nearly 45-year-old protocol can be stretched beyond its original purpose. Adam Rice summarizes the design tension directly: DNS was designed to map hostnames to IP addresses, not to act as a file-storage system. The project is compelling precisely because it works despite that mismatch.

Cleanup after a demonstration

  1. Delete the generated TXT records through the same DNS provider account or the project’s cleanup procedure, if supplied by your version.

  2. Revoke the API token once publishing is complete, especially if the test zone will not be used again.

  3. Remove local build output and temporary source directories according to your organization’s retention policy. The launcher’s in-memory behavior does not guarantee that your shell history, logs or antivirus quarantine contain no traces of the process.

    What’s actually slowing this PC down?

    Pick the symptom - the matching free tool is one click away.

    Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  4. Check the zone for leftover records and confirm that its normal DNS entries still resolve correctly.

The Bottom Line

Doom Over DNS proves that DNS TXT records can deliver a complete, silent DOOM build to a Windows client, but it remains a deliberately impractical experiment: expect thousands of records, a 10–20-second launch, provider-tier constraints, recurring DNS cost and no audio.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

.NETDNSDOOMOpenGLPowerShellretro gamingWindows

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.