[{"data":1,"prerenderedAt":555},["ShallowReactive",2],{"site-settings":3,"article:\u002Fresources\u002Fguides\u002Fwowee-native-open-source-client-guide":16},{"id":4,"description":5,"email":6,"extension":7,"footerNote":8,"legalNotice":9,"locale":10,"meta":11,"name":12,"stem":13,"url":14,"__hash__":15},"settings\u002Fsettings.yml","Compare World of Warcraft realms by expansion, region, population and play style.","listings@realmlist.org","yml","An independent realm directory.","Not affiliated with Blizzard Entertainment.","en",{},"RealmList","settings","https:\u002F\u002Frealmlist.org","QXaYspLUSxnrVumL6oFir6PInhNsRw-yJchxEYSe1AU",{"id":17,"title":18,"author":19,"body":20,"category":525,"description":526,"draft":527,"extension":528,"featured":527,"meta":529,"navigation":530,"path":531,"publishedAt":532,"seo":533,"sitemap":534,"sources":537,"stem":547,"tags":548,"updatedAt":553,"__hash__":554},"articles\u002Fresources\u002Fguides\u002Fwowee-native-open-source-client-guide.md","WoWee: A Native Open-Source WoW Client for macOS, Linux, Windows and Android","RealmList Editorial",{"type":21,"value":22,"toc":516},"minimark",[23,27,30,35,100,108,111,119,123,130,145,172,175,200,226,229,233,272,279,283,333,340,347,351,354,423,449,453,494,498,506,512],[24,25,26],"p",{},"WoWee takes the opposite approach from every Wine-based launcher: instead of translating a Windows client, it is a from-scratch C++ client with its own Vulkan 1.3 renderer that reads your game data and speaks the expansion's network protocol directly. It runs on Linux, macOS, Windows and — unusually — Android.",[24,28,29],{},"It is an educational and research project, ships no Blizzard assets, and is explicitly not a drop-in replacement for the official client. But it is far enough along to log in, build a character and play.",[31,32,34],"h2",{"id":33},"what-it-supports","What it supports",[36,37,38,54],"table",{},[39,40,41],"thead",{},[42,43,44,48,51],"tr",{},[45,46,47],"th",{},"Expansion",[45,49,50],{},"Client",[45,52,53],{},"Status",[55,56,57,69,79,89],"tbody",{},[42,58,59,63,66],{},[60,61,62],"td",{},"Vanilla",[60,64,65],{},"1.12",[60,67,68],{},"Supported",[42,70,71,74,77],{},[60,72,73],{},"The Burning Crusade",[60,75,76],{},"2.4.3",[60,78,68],{},[42,80,81,84,87],{},[60,82,83],{},"Wrath of the Lich King",[60,85,86],{},"3.3.5a",[60,88,68],{},[42,90,91,94,97],{},[60,92,93],{},"Turtle WoW",[60,95,96],{},"1.18",[60,98,99],{},"Tested",[24,101,102,103,107],{},"Server cores it has been tested against include AzerothCore\u002FChromieCraft, TrinityCore, MaNGOS and Turtle WoW. The current release is ",[104,105,106],"strong",{},"v3.1.39"," (September 2026), and macOS DMGs are Developer ID signed, notarized and stapled — so no Gatekeeper workaround is needed, unlike most community launchers.",[24,109,110],{},"What works today covers the parts that decide whether a client is usable: terrain, WMO and M2 rendering, water, particles, lighting, shadows, weather and asynchronous world streaming; SRP6 authentication with RC4 header encryption; character creation and selection, movement, transports, combat, spells, talents, inventory, vendors, trainers, quests, loot, mail, the auction house, chat, parties, pets and taxi travel.",[24,112,113,114,118],{},"Notably, Blizzard's own FrameXML interface is loaded from your game data and drawn by the client, and addons in ",[115,116,117],"code",{},"Interface\\AddOns"," load too. If you care about your UI surviving the move to a new client, that matters more than any single rendering feature.",[31,120,122],{"id":121},"the-one-thing-you-must-do-first-extract-your-game-data","The one thing you must do first: extract your game data",[24,124,125,126,129],{},"WoWee does not read MPQ archives at runtime. It needs a loose-file tree plus a generated ",[115,127,128],{},"manifest.json",", extracted from a client you already own legally.",[24,131,132,133,136,137,140,141,144],{},"The asset builder does this. Start the client with nothing extracted and it opens the builder instead of the login screen. Later you reach it from ",[104,134,135],{},"more options"," → ",[104,138,139],{},"add or rebuild assets...",", or by running the standalone ",[115,142,143],{},"wowee_assets"," window. Point it at your World of Warcraft folder and it extracts into the per-user data directory:",[146,147,148,155,161],"ul",{},[149,150,151,152],"li",{},"macOS: ",[115,153,154],{},"~\u002FLibrary\u002FApplication Support\u002FWowee\u002FData",[149,156,157,158],{},"Windows: ",[115,159,160],{},"%LOCALAPPDATA%\\Wowee\\Data",[149,162,163,164,167,168,171],{},"Linux: ",[115,165,166],{},"$XDG_DATA_HOME\u002Fwowee\u002FData"," (default ",[115,169,170],{},"~\u002F.local\u002Fshare\u002Fwowee\u002FData",")",[24,173,174],{},"From a terminal, the equivalent is:",[176,177,182],"pre",{"className":178,"code":179,"language":180,"meta":181,"style":181},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight",".\u002Fextract_assets.sh \u002Fpath\u002Fto\u002FWoW\u002FData wotlk\n","bash","",[115,183,184],{"__ignoreMap":181},[185,186,189,193,197],"span",{"class":187,"line":188},"line",1,[185,190,192],{"class":191},"sBMFI",".\u002Fextract_assets.sh",[185,194,196],{"class":195},"sfazB"," \u002Fpath\u002Fto\u002FWoW\u002FData",[185,198,199],{"class":195}," wotlk\n",[24,201,202,203,206,207,206,210,213,214,217,218,221,222,225],{},"Valid targets are ",[115,204,205],{},"classic",", ",[115,208,209],{},"turtle",[115,211,212],{},"tbc"," and ",[115,215,216],{},"wotlk",", and each is stored separately, so several expansions can coexist under ",[115,219,220],{},"Data\u002Fexpansions\u002F",". Once more than one set is installed, an ",[104,223,224],{},"Assets"," selector appears on the login screen.",[24,227,228],{},"There is a real cost here: a full extraction is around 18 GB. That is the tradeoff for a native renderer — disk instead of a translation layer.",[31,230,232],{"id":231},"getting-started","Getting started",[234,235,236,247,250,264],"ol",{},[149,237,238,239,246],{},"Download the release for your platform from ",[240,241,245],"a",{"href":242,"rel":243},"https:\u002F\u002Fgithub.com\u002FKelsidavis\u002FWoWee\u002Freleases\u002Flatest",[244],"nofollow","the releases page",".",[149,248,249],{},"Launch the client and let the asset builder extract from your own game installation.",[149,251,252,253,256,257,260,261,263],{},"Pick a server on the login screen. The ",[104,254,255],{},"Server"," list carries ChromieCraft plus every server you have logged into; ",[104,258,259],{},"Somewhere else..."," under ",[104,262,135],{}," opens address, port and expansion fields.",[149,265,266,267,271],{},"Log in. Accounts are created on the realm's website, exactly as with any other client — see our ",[240,268,270],{"href":269},"\u002Fresources\u002Fguides\u002Fchange-realmlist-wtf","realmlist.wtf guide"," if you are used to that workflow, though WoWee handles the address through its own server list.",[24,273,274,275,278],{},"If a MaNGOS realm advertises a world address unreachable from your LAN, override just the host with ",[115,276,277],{},"WOWEE_REALM_HOST_OVERRIDE",", keeping the advertised port.",[31,280,282],{"id":281},"controls-and-settings","Controls and settings",[24,284,285,286,289,290,293,294,297,298,301,302,305,306,293,309,293,312,315,316,293,319,293,322,293,325,328,329,332],{},"Keyboard and mouse work as you would expect — ",[115,287,288],{},"WASD"," movement, ",[115,291,292],{},"Q","\u002F",[115,295,296],{},"E"," strafe, ",[115,299,300],{},"Tab"," target cycling, ",[115,303,304],{},"1","–",[115,307,308],{},"0",[115,310,311],{},"-",[115,313,314],{},"="," for action bars, ",[115,317,318],{},"B",[115,320,321],{},"C",[115,323,324],{},"P",[115,326,327],{},"N"," for bags, character, spellbook and talents. ",[115,330,331],{},"\u002Funstuck"," recovers you when terrain collision traps your character, which is worth memorising given the known issues below.",[24,334,335,336,339],{},"Controllers work everywhere, with Xbox, PlayStation, Nintendo and Steam Deck button names, and ",[104,337,338],{},"Back"," switches the right stick to a pointer for looting and vendors.",[24,341,342,343,346],{},"WoWee's own settings sit under a ",[104,344,345],{},"WoWee"," heading in the game's Video, Sound and Interface panels. View distance, shadow distance and MSAA carry the largest performance cost; FSR 1 or FSR 3 upscaling can buy frames on weaker hardware.",[31,348,350],{"id":349},"android","Android",[24,352,353],{},"The same tree builds for arm64 Android, needs Android 13 or newer, and reaches the login screen, character selection and the world. You extract on a desktop and push the result to the device — a full set is too big for a phone, so trim it first:",[176,355,357],{"className":178,"code":356,"language":180,"meta":181,"style":181},"tools\u002Fandroid\u002Fmake_minimal_data.py --source ~\u002FData --out ~\u002FData-phone --profile world --maps all\nadb push ~\u002FData-phone\u002F. \u002Fsdcard\u002FAndroid\u002Fdata\u002Fcom.wowee.client\u002Ffiles\u002FData\u002F\nadb shell chmod -R a+rwX \u002Fsdcard\u002FAndroid\u002Fdata\u002Fcom.wowee.client\u002Ffiles\u002FData\n",[115,358,359,388,403],{"__ignoreMap":181},[185,360,361,364,367,370,373,376,379,382,385],{"class":187,"line":188},[185,362,363],{"class":191},"tools\u002Fandroid\u002Fmake_minimal_data.py",[185,365,366],{"class":195}," --source",[185,368,369],{"class":195}," ~\u002FData",[185,371,372],{"class":195}," --out",[185,374,375],{"class":195}," ~\u002FData-phone",[185,377,378],{"class":195}," --profile",[185,380,381],{"class":195}," world",[185,383,384],{"class":195}," --maps",[185,386,387],{"class":195}," all\n",[185,389,391,394,397,400],{"class":187,"line":390},2,[185,392,393],{"class":191},"adb",[185,395,396],{"class":195}," push",[185,398,399],{"class":195}," ~\u002FData-phone\u002F.",[185,401,402],{"class":195}," \u002Fsdcard\u002FAndroid\u002Fdata\u002Fcom.wowee.client\u002Ffiles\u002FData\u002F\n",[185,404,406,408,411,414,417,420],{"class":187,"line":405},3,[185,407,393],{"class":191},[185,409,410],{"class":195}," shell",[185,412,413],{"class":195}," chmod",[185,415,416],{"class":195}," -R",[185,418,419],{"class":195}," a+rwX",[185,421,422],{"class":195}," \u002Fsdcard\u002FAndroid\u002Fdata\u002Fcom.wowee.client\u002Ffiles\u002FData\n",[24,424,425,426,429,430,433,434,437,438,440,441,444,445,448],{},"The trailing ",[115,427,428],{},"\u002F."," and the ",[115,431,432],{},"chmod"," are both load-bearing: push the contents rather than the directory, and fix ownership afterwards or the client stops with ",[115,435,436],{},"Permission denied"," on ",[115,439,128],{},". Profiles run from ",[115,442,443],{},"login"," at 787 MB to ",[115,446,447],{},"full"," at 18 GB.",[31,450,452],{"id":451},"known-limitations-before-you-file-a-bug","Known limitations before you file a bug",[146,454,455,461,474,477,487],{},[149,456,457,460],{},[104,458,459],{},"Shadows cannot be turned off"," — switching them off loses the GPU device, so the control is removed until fixed.",[149,462,463,466,467,469,470,473],{},[104,464,465],{},"Terrain and WMO transitions"," are a longstanding regression area; floor selection can pick the wrong surface. Use ",[115,468,331],{},", then ",[115,471,472],{},"F8"," to write floor data to the log for a report.",[149,475,476],{},"Long Northrend transport paths occasionally show spline glitches; world-map zone hover has edge cases near continent boundaries.",[149,478,479,480,483,484,246],{},"Warden modules are checked against Blizzard's signing key — a realm signing its own module needs its ",[115,481,482],{},"wardenRsaModulus"," in the expansion's ",[115,485,486],{},"expansion.json",[149,488,489,490,493],{},"On Android, backgrounding the app drops the session after a few seconds, and the FrameXML interface draws at native size and reads small (",[104,491,492],{},"Window scale"," goes to 3x).",[31,495,497],{"id":496},"who-this-is-for","Who this is for",[24,499,500,501,505],{},"Choose WoWee if you want a native renderer and are comfortable with an 18 GB extraction and a project that is visibly a work in progress. Choose a Wine-based launcher such as ",[240,502,504],{"href":503},"\u002Fresources\u002Fguides\u002Fwowsilicon-apple-silicon-launcher-guide","WoWSilicon"," if you want the original client, original behaviour and the least friction on macOS. Both need the same thing from you: a legally obtained client and a realm account you created yourself.",[507,508,509],"note",{},[24,510,511],{},"WoWee source is MIT-licensed with an added restriction: it may not be used as the basis of a commercial game product without written permission. Original music and audio are reserved and not covered by the MIT terms.",[513,514,515],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":181,"searchDepth":390,"depth":390,"links":517},[518,519,520,521,522,523,524],{"id":33,"depth":390,"text":34},{"id":121,"depth":390,"text":122},{"id":231,"depth":390,"text":232},{"id":281,"depth":390,"text":282},{"id":349,"depth":390,"text":350},{"id":451,"depth":390,"text":452},{"id":496,"depth":390,"text":497},"guides","How the WoWee client works, what it needs from your own game installation, and how to go from a fresh download to standing in Orgrimmar on a Vanilla, TBC or WotLK realm.",false,"md",{},true,"\u002Fresources\u002Fguides\u002Fwowee-native-open-source-client-guide","2026-09-25",{"title":18,"description":526},{"loc":531,"changefreq":535,"priority":536},"monthly",0.7,[538,541,544],{"label":539,"url":540},"WoWee repository","https:\u002F\u002Fgithub.com\u002FKelsidavis\u002FWoWee",{"label":542,"url":543},"WoWee project status","https:\u002F\u002Fgithub.com\u002FKelsidavis\u002FWoWee\u002Fblob\u002Fmain\u002Fdocs\u002Fstatus.md",{"label":545,"url":546},"WoWee asset manager documentation","https:\u002F\u002Fgithub.com\u002FKelsidavis\u002FWoWee\u002Fblob\u002Fmain\u002Fdocs\u002Fasset-manager.md","resources\u002Fguides\u002Fwowee-native-open-source-client-guide",[549,550,62,551,552],"Client Setup","Private Servers","macOS","Linux",null,"wxBePjFwJ98j8rHEYhU42urMwvJ1qvK7Tnugql6BHRs",1790306335435]