The WoW Launcher’s ‘setRealmlist’

The other day, I had someone who was working on their own launcher ask me about the algorithm I use in order to change the realmlist in the launcher.

First, you need to keep in mind that blizzard has moved it around a bit.

  • 1.x – 2.x, it was located in the same folder as Wow.exe
  • 3.x – 5.0.4, it was moved into your locales Data folder
  • 5.0.4 made the realmlist file obsolete, and the values are now stored in Config.wtf

With that in mind, the very first thing I do is get the version info for Wow.exe

Once we have the version, we do a simple check to see if the major version is above 3.

If it isn’t, we can just read the realmlist.wtf from the same directory that Wow.exe is in. If it is however, then we’re going to be reading the realmlist.wtf file from /Data/RegionCode/realmlist.wtf.

To do so, we need to figure out the users RegionCode. The simplest way to do this is to read their Config.wtf and read their “Set locale” line if it exists. As a fallback, we loop through all folders inside of Data.

You may notice MoP isn’t here at all, since 5.0.4 the realmlist has been housed in Config.wtf – so that’ll be handled elsewhere.

With that, we now know where the realmlist is, and it’s open for writing. The writing part is simple enough:

With that, it should have written the realmlist. Here’s the final function:

 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.