Crash Resolution Verified on v0.115.0 WASM & Canvas Diagnostics

Azeroth Survivors Black Screen Fix: Canvas Crash & WASM Boot

Resolve blank black canvas freezes, silent audio context locks, WebGPU adapter rejection panics, and Cloudflare asset cache mismatches in Azeroth Survivors.

Quick Answer: How to Fix the Black Screen Freeze

If Azeroth Survivors loads a blank black box without drawing character select or game graphics: 1) Click once directly inside the black canvas to awaken suspended Web Audio contexts and assign browser keyboard focus; 2) Press Ctrl+Shift+R (or Cmd+Shift+R on Mac) to flush mismatched cached JavaScript files (which cause WebAssembly import aborts); 3) If the black canvas persists, your GPU driver rejected the WebGPU device request—follow our WebGPU Setup Guide to assign your browser to a high-performance dedicated GPU.

Anatomy of the Client Boot Sequence

Understanding why a black screen occurs requires examining the client's internal startup sequence (as implemented in boot.js and rogue.js):

  1. WASM Download (~15 MB Brotli): The page fetches wenilla_bg.wasm. Because the decompressed WebAssembly binary expands to over 86 MB in memory, high-latency connections may take 10 to 30 seconds to stream the file. During this phase, an unstyled canvas remains black.
  2. WebGPU Adapter Request: The script executes navigator.gpu.requestAdapter(). If your graphics card or driver rejects this call (or if software rendering is forced), the client panics internally with "Unable to find a GPU!" and aborts before drawing a single polygon.
  3. Catalog Data Prefetch: The client initiates parallel fetch requests for core interface data files (stored under /data/, such as DBC class files and Lua glue scripts). If a network timeout occurs during this prefetch, the client stalls.
  4. Canvas Initialization & Focus: The engine binds to <canvas id="benilla"> and calls focus(). Once initialized, the first frame is submitted via WebGPU.

Cause 1: Cloudflare 4-Hour Stale Cache Mismatch

This is the most common reason a player who previously ran the game successfully suddenly encounters a black screen the following day.

The Upstream Cloudflare Caching Factor

As noted in the developer's source comments: "Cloudflare stretches the .js files' cache to four hours whatever nginx says, and a cached old wenilla.js under a new wasm fails to start ('Import requires a callable')."

When developer Aethus deploys a new patch, your browser might retain the old JavaScript glue file while downloading the new WebAssembly binary. To force your browser to synchronize all assets:

  1. Open the tab showing the black game canvas.
  2. Press F12 to open Developer Tools.
  3. Right-click the browser's Reload / Refresh button in the top toolbar.
  4. Select "Empty Cache and Hard Reload".
  5. Wait for the complete 15 MB stream to finalize.

Cause 2: AudioContext Suspension & Canvas Focus Lock

Chromium and WebKit browsers enforce strict anti-autoplay policies. If an application attempts to instantiate a Web Audio context before an explicit user interaction (click, tap, or keydown), the browser forcibly freezes the audio mixer in a suspended state.

Furthermore, the game's keyboard listener is anchored directly to the <canvas id="benilla"> element. If you launched the game and immediately clicked away to another tab or monitor, the canvas loses focus. You may think the game has frozen on the character select screen when in reality your keystrokes are simply not reaching the canvas.

The 1-Click Fix

Left-click anywhere directly inside the center of the game window. The client automatically registers the gesture, executes resume() across all audio contexts, and refocuses the input canvas.

Cause 3: WebGPU Adapter Rejection & Driver Panic

If your browser supports WebGPU in theory, but your graphics driver is outdated or has blacklisted your specific GPU vendor ID, the call to navigator.gpu.requestDevice() will reject with an uncaught promise error.

To diagnose whether this is causing your black screen:

  1. Press Ctrl+Shift+I (or Cmd+Option+I on Mac) to open Developer Tools.
  2. Switch to the Console tab and look for red error messages.
  3. If you see "The game failed to start in this browser (Unable to find a GPU!)", your GPU driver crashed during adapter acquisition.
  4. Update your graphics card drivers to the latest official release (NVIDIA Game Ready Driver, AMD Adrenalin, or Intel Arc/Graphics drivers).
  5. Check our WebGPU Setup Guide to verify graphics settings.

Frequently Asked Questions

Why does Azeroth Survivors show a black canvas after clicking Play?
A solid black screen typically occurs during the WebAssembly boot sequence. The client downloads a 15 MB (brotli-compressed) wasm binary (wenilla_bg.wasm), requests a WebGPU device adapter, and compiles shader pipelines. If the WebGPU device request is rejected, the download stalls, or the browser has mismatched cached JavaScript files, the canvas fails to draw the first frame.
Why do I hear no sound even when the game seems to be running?
Modern browsers (Chrome, Edge, Safari) automatically suspend any Web Audio AudioContext initialized before an explicit user interaction (click or keypress). Click once directly onto the game canvas to resume the audio mixer.
How does Cloudflare 4-hour caching cause black screen crashes?
The official web server uses Cloudflare CDN caching, which retains JavaScript files for four hours. When developer Aethus deploys a new WebAssembly binary, a browser holding a cached old version of wenilla.js will fail with 'Import requires a callable'. Performing a hard cache reload fixes this instantly.
What is the canvas focus issue?
The game canvas element (<canvas id='benilla'>) requires active browser focus to listen for keyboard events (WASD, 1-3, R, Enter). If you click outside the window, keyboard commands will not register, creating the illusion of a frozen screen.