Quantcast
Detect Current Region - Page 4 - WoWInterface
Thread Tools Display Modes
10-16-14, 08:05 PM   #61
Bringer
A Fallenroot Satyr
 
Bringer's Avatar
Join Date: Jul 2012
Posts: 26
I and my folks are working the ground truth.
Hitting every realm we can get to and running UnitGUID("Player")

cobbled togther something quick and dirty...

and here is a sample of what I have found so far.
When we are done I'll attach data here in thread.
We should have US and EU well covered... but we are looking for help for the other 3 regions.

I hope and expect the concatenated key will be unique... since ServerID was not.

RoboGUIDsave = {
["116-Antonidas"] = "Antonidas,Player-116-06DE3C28",
["99-Arygos"] = "Arygos,Player-99-07959C68",
["106-Aggramar"] = "Aggramar,Player-106-0795A26B",
["105-Blade's Edge"] = "Blade's Edge,Player-105-0795AD8D",
["160-Azuremyst"] = "Azuremyst,Player-160-080EC1E9",
["64-Bloodhoof"] = "Bloodhoof,Player-64-096DD251",
["1136-Bonechewer"] = "Bonechewer,Player-1136-071E6B62",
["119-Bloodscalp"] = "Bloodscalp,Player-119-06DE5ACE",
["156-Andorhal"] = "Andorhal,Player-156-080EBB94",
["121-Azjol-Nerub"] = "Azjol-Nerub,Player-121-06DE4177",
["84-Akama"] = "Akama,Player-84-06FF6EEE",
["1147-Bladefist"] = "Bladefist,Player-1147-071E6AD8",
["1174-Anvilmar"] = "Anvilmar,Player-1174-096DB9DA",
["117-Bronzebeard"] = "Bronzebeard,Player-117-06DE5BB8",
["85-Borean Tundra"] = "Borean Tundra,Player-85-06FF7622",
["77-Azgalor"] = "Azgalor,Player-77-096DBEBD",
["69-Arthas"] = "Arthas,Player-69-096DBC70",
["78-Altar of Storms"] = "Altar of Storms,Player-78-096DB78A",
["70-Blood Furnace"] = "Blood Furnace,Player-70-096DD215",
["1129-Agamaggan"] = "Agamaggan,Player-1129-080EC4E5",
["101-Auchindoun"] = "Auchindoun,Player-101-07959CAC",
["71-Alterac Mountains"] = "Alterac Mountains,Player-71-096DB822",
["1129-Burning Legion"] = "Burning Legion,Player-1129-080ED090",
["1165-Arathor"] = "Arathor,Player-1165-06FF688A",
["1426-Aerie Peak"] = "Aerie Peak,Player-1426-0795A214",
["1190-Baelgun"] = "Baelgun,Player-1190-080ECCE9",
["125-Blackwater Raiders"] = "Blackwater Raiders,Player-125-06FF7468",
["75-Argent Dawn"] = "Argent Dawn,Player-75-096DBBE5",
["52-Alleria"] = "Alleria,Player-52-07F29C02",
["1129-Archimonde"] = "Archimonde,Player-1129-080EBD2E",
["78-Anetheron"] = "Anetheron,Player-78-096DB936",
["74-Black Dragonflight"] = "Black Dragonflight,Player-74-096DD02F",
["1136-Aegwynn"] = "Aegwynn,Player-1136-071E6633",
["1138-Anub'arak"] = "Anub'arak,Player-1138-071E6320",
["73-Bleeding Hollow"] = "Bleeding Hollow,Player-73-096DD1C5",
["10-Blackrock"] = "Blackrock,Player-10-09A4F8D3",
["154-Blackwing Lair"] = "Blackwing Lair,Player-154-080ECE08",
["77-Azshara"] = "Azshara,Player-77-096DBF73",
["1070-Alexstrasza"] = "Alexstrasza,Player-1070-07F29B51",
["71-Balnazzar"] = "Balnazzar,Player-71-096DCFF4",
["54-Blackhand"] = "Blackhand,Player-54-07F2B35B",
["3676-Area 52"] = "Area 52,Player-3676-07959940",
["119-Boulderfist"] = "Boulderfist,Player-119-06DE5B6D",
["91-Burning Blade"] = "Burning Blade,Player-91-0795B046",
}
Attached Files
File Type: zip RoboGUID2.zip (2.1 KB, 180 views)
  Reply With Quote
10-17-14, 01:44 PM   #62
Bringer
A Fallenroot Satyr
 
Bringer's Avatar
Join Date: Jul 2012
Posts: 26
US Data Centers ServerID's and Realmnames Ground truth.

csv files.. merging data from LibRealm v7
format
ServerID, Realmnames and data, ServerID-Realmname, UnitGuid response.

data shows that connected realms were really server merges ... as we always knew

EU Centers next.. once we figure out how to get the RU realms..
despite the EU forum announcement of full EU-RU cross play it, non-RU players don't seem to be able to connect to RU realms.
Attached Files
File Type: txt realmlist_US - alpha sort.csv.txt (23.8 KB, 203 views)
File Type: txt realmlist_US - collation sort on unique key.csv.txt (23.8 KB, 200 views)
  Reply With Quote
10-17-14, 02:52 PM   #63
Bringer
A Fallenroot Satyr
 
Bringer's Avatar
Join Date: Jul 2012
Posts: 26
EU Data Centers ServerID's and Realmnames Ground truth.
Excluding Russian realms which I haven't found out how to access.

csv files.. merging data from LibRealm v7
format
ServerID, Realmnames and data, ServerID-Realmname, UnitGuid response.
  Reply With Quote
10-17-14, 03:30 PM   #64
Bringer
A Fallenroot Satyr
 
Bringer's Avatar
Join Date: Jul 2012
Posts: 26
n = tonumber(UnitGUID("Player","%d+")) -- yields ServerID.. spot checks indicated that Connected realms have same ServerID
a = n.."-"..GetRealmName() -- yields Unique RealmID key.. verified on 511 US+EU realms

add this to LibRealmInfo and you should have Region ID from RealmID.
  Reply With Quote
10-18-14, 01:10 PM   #65
Bringer
A Fallenroot Satyr
 
Bringer's Avatar
Join Date: Jul 2012
Posts: 26
EU Data Centers ServerID's and Realmnames Ground truth.
Includes Russian realms
csv files.. merging data from LibRealm v7
format
ServerID, Realmnames and data, ServerID-Realmname, UnitGuid response.
Attached Files
File Type: txt Realmlist_EU+RU - alpha sort.csv.txt (29.4 KB, 236 views)
File Type: txt Realmlist_EU+RU - collation sort on unique key.csv.txt (29.4 KB, 182 views)
  Reply With Quote
10-20-14, 12:51 AM   #66
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
Awesome, thanks!

If realm IDs aren't unique that kind of defeats the point of even using them... might as well just have the whole thing work on names at that point, since you can get a realm name from a GUID using GetPlayerInfoByGUID. Can you think of any scenarios where a realm ID would be available without a name?
__________________
Author/maintainer of Grid, PhanxChat, oUF_Phanx, and many more.
Troubleshoot an addonTurn any code into an addonMore addon resources
Need help with your code? Post all of your actual code! Attach or paste your files.
Please don’t PM me about addon bugs or code questions. Post a comment or forum thread instead!
  Reply With Quote
10-20-14, 02:48 AM   #67
TOM_RUS
A Warpwood Thunder Caller
AddOn Author - Click to view addons
Join Date: Sep 2008
Posts: 95
Pretty sure realmid's are unique, and cases where they are not are connected realms where guid has id of host realm in guid. Battle.net api should still return real unique id of realm.
Code:
78-Altar of Storms, 78-Anetheron - US connected
1136-Bonechewer, 1136-Aegwynn - US connected
1129-Burning Legion, 1129-Archimonde - US connected (but not listed in official blog)
and so on.

Also UnitGUID is completely unreliable for NPC's:
I'm getting 1129 (Agamaggan-US, host for connection?) for "player" (self) on Archimonde-US, but NPC's have realmid 74, I also saw a player with realmid 74 (and he was from Black Dragonflight) that doesn't seems to connected to Archimonde. Also saw another player from Gul'Dan with realmid 74 in guid. May be human starter zone for Archimonde-US is hosted by Skullcrusher-US (74)? Because otherwise all of this doesn't make any sense.

Can't test what realmid battle.net API returns on that realm, because i'm on starter account where realid is disabled.

Last edited by TOM_RUS : 10-20-14 at 09:47 AM.
  Reply With Quote
10-20-14, 09:42 AM   #68
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
Originally Posted by TOM_RUS View Post
Pretty sure realmid's are unique, and cases where they are not are connected realms where guid has id of host realm in guid. Battle.net api should still return real unique id is realm.
Hmm. That does appear to be the case, but it still seems like an argument in favor of handling everything by realm name, since in order to get the real realm ID for players on connected realms you have to first get the realm name from some other method and map that back to the ID; might as well just cut out the middleman. Even the Battle.net API will give you a realm name.
__________________
Author/maintainer of Grid, PhanxChat, oUF_Phanx, and many more.
Troubleshoot an addonTurn any code into an addonMore addon resources
Need help with your code? Post all of your actual code! Attach or paste your files.
Please don’t PM me about addon bugs or code questions. Post a comment or forum thread instead!
  Reply With Quote
10-23-14, 11:44 AM   #69
Bringer
A Fallenroot Satyr
 
Bringer's Avatar
Join Date: Jul 2012
Posts: 26
ServerIDs do seem to be Unique.
The servers may or may not have multiple Realms attached.
I have noted in some cases where realms were merged (oops..Connected) the ServerID changed from lower numbers to significantly higher number.. indicating to me that the realms where moved to a new server instead of being moved to an existing server of one of the Connected Realms.

RealmNames are not unique.. Blizzard likes to reuse names in each of the regions.

I am not sure that RealmID (as a unique) identifier exists.
As an identifier it only seems to show up as a result to the api call BNGetToonInfo().
I don't use RealID so I haven't tested, but I wouldn't be surprised to find that what was labeled RealmID was in reality ServerID.. and then Connected Realms came along.

Using the info my group has collected, I have forked LIbRealmInfo and made it useful for CensusPlus.
But it isn't complete (all regions) nor finished (unused and/or unneeded functions left in place.)
When it is complete I want to send the info to Phanx so he can do with it as he wishes.
  Reply With Quote
10-23-14, 12:05 PM   #70
Bringer
A Fallenroot Satyr
 
Bringer's Avatar
Join Date: Jul 2012
Posts: 26
Originally Posted by TOM_RUS View Post
Also UnitGUID is completely unreliable for NPC's:
I'm getting 1129 (Agamaggan-US, host for connection?) for "player" (self) on Archimonde-US, but NPC's have realmid 74, I also saw a player with realmid 74 (and he was from Black Dragonflight) that doesn't seems to connected to Archimonde. Also saw another player from Gul'Dan with realmid 74 in guid. May be human starter zone for Archimonde-US is hosted by Skullcrusher-US (74)? Because otherwise all of this doesn't make any sense.
Using UnitGUID for server tracking only makes sense for player tracking.
UnitGUID of game assets I expect will always be associated with the server on startup.

We don't know the algorithm that Blizzard uses to decide which Server is the active server when a cross-realm zone is encountered.
While we might think that a single realm would always move to a connected realm that doesn't need to be true.
In the example given above possibly server 74 was the busier one and 1129 processing moved to that one. Tomorrow it might be the other way around.
  Reply With Quote
10-23-14, 12:16 PM   #71
Bringer
A Fallenroot Satyr
 
Bringer's Avatar
Join Date: Jul 2012
Posts: 26
Taiwan Data Center serverIDs as found from UnitGUID.

just the raw .lua data since there are few realms... and it was loads of fun pattern matching to the same tokens in LibRealmInfo. My head still hurts.
Attached Files
File Type: lua RoboGUID-Taiwan.lua (1.5 KB, 174 views)
  Reply With Quote
10-23-14, 08:01 PM   #72
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
Names not being unique between regions is irrelevant, since it's trivial to accuately identify your current region now. Based on the discovery that GUIDs don't provide accurate IDs for connected realm players, I think I'll make the following changes in LibRealmInfo:

1. The primary lookup for realms will switch to a name. It's always possible to get the correct realm name for any given player through the game API, but only possible to get the correct realm ID for players who are your Battle.net friends or who are not on connected realms.

2. The library API will always give you the ID of the realm you queried, so if you want to store data internally based on realm IDs, you'll still be able to do that.

3. You'll still be able to query realms by ID if you want. If you got the ID from a player's GUID you should double-check that the returned name matches what you expect, in case the player is on a connected realm.

4. You'll still be able to query realms in other regions if you want.

Edit: Bringer, based on that data for Tawian, it looks like they do have some connected realms... I'll go ahead and add that data to the lib, but can you log onto "日落沼澤" (picked because the first character is easy to identify) and verify that "/dump GetAutoCompleteRealms()" only lists "屠魔山谷" and itself?

Another one that should be easy to pick out of the list -- 尖石 (only two characters, both simple) should be connected with 冰風崗哨 and 寒冰皇冠.

Thanks!

Edit #2: In your Taiwan data, a realm "雲蛟衛" is listed, but no realm by this name exists in the current lib data. Do you have an active TW account? If so, can you log into the character transfer page, select a character, and then grab the realm list from the following page?
__________________
Author/maintainer of Grid, PhanxChat, oUF_Phanx, and many more.
Troubleshoot an addonTurn any code into an addonMore addon resources
Need help with your code? Post all of your actual code! Attach or paste your files.
Please don’t PM me about addon bugs or code questions. Post a comment or forum thread instead!

Last edited by Phanx : 10-23-14 at 08:59 PM.
  Reply With Quote
10-24-14, 07:20 AM   #73
Darth Predator
A Murloc Raider
 
Darth Predator's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2012
Posts: 5
Originally Posted by Phanx View Post
Names not being unique between regions is irrelevant, since it's trivial to accuately identify your current region now.
Logged in on US realm with EU client (Russian one to be precise). The result is in attachments...

So nope, that function doesn't do what it's supposed to.
Attached Thumbnails
Click image for larger version

Name:	GetCurrentRegion.png
Views:	376
Size:	144.1 KB
ID:	8271  
  Reply With Quote
10-24-14, 07:30 AM   #74
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
Fan-f*cking-tastic. Blizzard, how are you SO BAD at this?
__________________
Author/maintainer of Grid, PhanxChat, oUF_Phanx, and many more.
Troubleshoot an addonTurn any code into an addonMore addon resources
Need help with your code? Post all of your actual code! Attach or paste your files.
Please don’t PM me about addon bugs or code questions. Post a comment or forum thread instead!
  Reply With Quote
10-24-14, 09:12 AM   #75
Fizzlemizz
I did that?
 
Fizzlemizz's Avatar
Premium Member
AddOn Author - Click to view addons
Join Date: Dec 2011
Posts: 1,265
Originally Posted by Phanx View Post
Fan-f*cking-tastic. Blizzard, how are you SO BAD at this?
10+ years of dedicated practice.
__________________
Fizzlemizz
Maintainer of Discord Unit Frames and Discord Art.
Author of FauxMazzle, FauxMazzleHUD and Move Pad Plus.
  Reply With Quote
10-24-14, 10:00 AM   #76
TOM_RUS
A Warpwood Thunder Caller
AddOn Author - Click to view addons
Join Date: Sep 2008
Posts: 95
Originally Posted by Phanx View Post
Fan-f*cking-tastic. Blizzard, how are you SO BAD at this?
Didn't I say on previous page that GetCurrentRegion API uses "portal" cvar for region detection? Pretty sure this is still a case. I've also discovered new piece of code that tries to set portal cvar value based on system locale in case portal cvar have no valid value.

Last edited by TOM_RUS : 10-24-14 at 10:43 AM.
  Reply With Quote
10-24-14, 12:56 PM   #77
Bringer
A Fallenroot Satyr
 
Bringer's Avatar
Join Date: Jul 2012
Posts: 26
Originally Posted by Phanx View Post
Edit: Bringer, based on that data for Tawian, it looks like they do have some connected realms... I'll go ahead and add that data to the lib, but can you log onto "日落沼澤" (picked because the first character is easy to identify) and verify that "/dump GetAutoCompleteRealms()" only lists "屠魔山谷" and itself?
Edit #2: In your Taiwan data, a realm "雲蛟衛" is listed, but no realm by this name exists in the current lib data. Do you have an active TW account? If so, can you log into the character transfer page, select a character, and then grab the realm list from the following page?
Yes they have Connected Realms.
And I think 雲蛟衛 (3 tokens google translate as Yun Jiao Wei or cloud Jiao Wei) is I think a newish 25th realm.
Going to the TW realm status page and alpha sort (downarrow) the realm is the 2nd one on the list.
I don't have disk space for added clients, I had to dump my EU client for the PTR & Beta, but one of my testers had run and got the data.
I expect that he created a starter account. I will ask.
He thought he was getting a Korean account but ended up with Taiwan client.
Unfortunately you can't get mainland China account unless you can show you are there.
  Reply With Quote
10-24-14, 08:31 PM   #78
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
Originally Posted by TOM_RUS View Post
Didn't I say on previous page that GetCurrentRegion API uses "portal" cvar for region detection?
I must have missed that.

I guess I'll just switch region detection to look at the realm ID in the player's GUID. Even if it's not the correct ID for the player's actual realm, it will at least be able to correctly identify which region the player is in...
__________________
Author/maintainer of Grid, PhanxChat, oUF_Phanx, and many more.
Troubleshoot an addonTurn any code into an addonMore addon resources
Need help with your code? Post all of your actual code! Attach or paste your files.
Please don’t PM me about addon bugs or code questions. Post a comment or forum thread instead!
  Reply With Quote
10-24-14, 08:33 PM   #79
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
Originally Posted by Bringer View Post
Unfortunately you can't get mainland China account unless you can show you are there.
I managed to set up a starter account once with a Chinese ID number I found on some forum. >_>
__________________
Author/maintainer of Grid, PhanxChat, oUF_Phanx, and many more.
Troubleshoot an addonTurn any code into an addonMore addon resources
Need help with your code? Post all of your actual code! Attach or paste your files.
Please don’t PM me about addon bugs or code questions. Post a comment or forum thread instead!
  Reply With Quote
11-01-14, 12:02 PM   #80
Bringer
A Fallenroot Satyr
 
Bringer's Avatar
Join Date: Jul 2012
Posts: 26
Oceanic new replacement servers

["3722-Aman'Thul"]="Aman'Thul,PVE,enUS,Bloodlust,US,AEST",
["3723-Barthilas"]="Barthilas,PVP,enUS,Bloodlust,US,AEST",
["3721-Caelestrasz"]="Caelestrasz,PVE,enUS,Bloodlust,US,AEST",
["3726-Dath'Remar"]="Dath'Remar,PVE,enUS,Bloodlust,US,AEST",
["3724-Dreadmaul"]="Dreadmaul,PVP,enUS,Bloodlust,US,AEST",
["3725-Frostmourne"]="Frostmourne,PVP,enUS,Bloodlust,US,AEST",
["3728-Gundrak"]="Gundrak,PVP,enUS,Vengeance,US,AEST",
["3728-Jubei'Thos"]="Jubei'Thos,PVP,enUS,Vengeance,US,AEST",
["3726-Khaz'goroth"]="Khaz'goroth,PVE,enUS,Bloodlust,US,AEST",
["3721-Nagrand"]="Nagrand,PVE,enUS,Bloodlust,US,AEST",
["3729-Saurfang"]="Saurfang,PVE,enUS,Vengeance,US,AEST",
["3724-Thaurissan"]="Thaurissan,PVP,enUS,Bloodlust,US,AEST",
  Reply With Quote

WoWInterface » Developer Discussions » Lua/XML Help » Detect Current Region

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off