Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[XML] Instance key

Joined
Jul 17, 2007
Messages
665
Reaction score
104
for curiosity i checked the xml in 1.4.2 and there is a line about instancekey, idk what is it exactly but i figured out few thing, maybe useful for something


00000000 - ?
1a000000 - 26 stuff (26*(2+2+3) octet) on list but structure look like this:
[maybe id started from 105-136 {few missing}] [aef8c658 -this fixed] x26
[00000000] [00000000] - i guess maybe if you are inside of a instance x26
[69000000] [80040000] [adf8c658] - similiar like first octet pairs but in middle +1 fixed value x26
00000000 - i dont know this
1a000000 - 26 - next 26 value isnt 0 and same values at last 26 3 octet pair
69000000 aef8c658
6a000000 aef8c658
6b000000 aef8c658
6c000000 aef8c658
6d000000 aef8c658
6e000000 aef8c658
6f000000 aef8c658
72000000 aef8c658
73000000 aef8c658
74000000 aef8c658
75000000 aef8c658
7b000000 aef8c658
7c000000 aef8c658
7d000000 aef8c658
7e000000 aef8c658
7f000000 aef8c658
80000000 aef8c658
81000000 aef8c658
e6000000 aef8c658
e7000000 aef8c658
e8000000 aef8c658
e9000000 aef8c658
ea000000 aef8c658
eb000000 aef8c658
83000000 aef8c658
88000000 aef8c658

00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00000000

69000000 80040000 adf8c658
6a000000 80040000 adf8c658
6b000000 80040000 adf8c658
6c000000 80040000 adf8c658
6d000000 80040000 adf8c658
6e000000 80040000 adf8c658
6f000000 80040000 adf8c658
72000000 80040000 adf8c658
73000000 80040000 adf8c658
74000000 80040000 adf8c658
75000000 80040000 adf8c658
7b000000 80040000 adf8c658
7c000000 80040000 adf8c658
7d000000 80040000 adf8c658
7e000000 80040000 adf8c658
7f000000 80040000 adf8c658
80000000 80040000 adf8c658
81000000 80040000 adf8c658
83000000 80040000 adf8c658
88000000 80040000 adf8c658
e6000000 80040000 adf8c658
e7000000 80040000 adf8c658
e8000000 80040000 adf8c658
e9000000 80040000 adf8c658
ea000000 80040000 adf8c658
eb000000 80040000 adf8c658
 
Junior Spellweaver
Joined
Oct 16, 2012
Messages
136
Reaction score
46
close enough yes, here's the definition of the fields

first of all, the initial 00000000 is indeed meaningless (atleast, i havent found a use for it)
the second field, 1a000000 references to the size of the arrays (in your case, 26)

now, the instance keylist is basically 3 arrays, all 3 have 29 items.
(Since I can't be bothered writing it all as text, ill define em as structs)
Code:
[COLOR="#0000FF"]struct[/COLOR] Item1 {
    [COLOR="#0000FF"]int[/COLOR] TagID;
    [COLOR="#0000FF"]int[/COLOR] TimeStamp;
}

[COLOR="#0000FF"]struct[/COLOR] Item3 {
    [COLOR="#0000FF"]int[/COLOR] TimeStamp;
    [COLOR="#0000FF"]int[/COLOR] IsOpen;
}

[COLOR="#0000FF"]struct[/COLOR] Item3 {
    [COLOR="#0000FF"]int[/COLOR] TagID;
    [COLOR="#0000FF"]int[/COLOR] RoleID;
    [COLOR="#0000FF"]int[/COLOR] TimeStamp;
}

[COLOR="#0000FF"]struct[/COLOR] InstanceKeyList
{
   [COLOR="#0000FF"]int[/COLOR] Unknown;
   [COLOR="#0000FF"]int[/COLOR] KeyCount;
   [B]Item1[/B] List1[KeyCount];
   [B]Item2[/B] List2[KeyCount];
   [B]Item3[/B] List3[KeyCount];
}

so for example, your first record lists: [69000000 aef8c658 ]
the first value (69000000) is the worldtag ID, in this case 105 (which is is05, "Firecrag Grotto")
the second value (aef8c658) is the timestamp, (1489434798 or 'Mon, 13 Mar 2017 19:53:18 GMT')
That array seems to be generated when a character gets created and matches the field "instance_servers" in gs.conf.

The second item is a timestamp and wether the instance is still open.
Since your's are all 00000000 you haven't accessed any yet. so Ill give you an example.
(This is some data from my testing machine, 4 instances from the keylist)
Code:
69000000 BB96DF58
6A000000 BB96DF58
6B000000 BB96DF58
6C000000 BB96DF58

00000000 00000000
00000000 00000000
E860E358 00000000
F4CAE458 01000000

69000000 91040000 BA96DF58
6A000000 91040000 BA96DF58
6B000000 91040000 BA96DF58
6C000000 91040000 BA96DF58
now, the first 2 items are just 0000000's, this means I have yet to access the instances with TagID 69000000 and 6A000000 (Which are is05 and is06)

the 3rd item in the 2nd array says E860E358 00000000, which means i accessed it on 1491296488, thats Tue, 04 Apr 2017 09:01:28 GMT. The instance is also closed. (because the 2nd octet says 00000000)
So I have accessed is07, but its closed now.

The 4th item in 2nd array says F4CAE458 01000000, So I accessed is08 on Wed, 05 Apr 2017 10:46:12 GMT and its still open (because of 01000000, which is 1).

Note: The index of the item in the second array corresponds with the item in the first array.

Now, the 3rd array I find a little confusing aswell. Now lets take the 1st item of that array.
69000000 91040000 BA96DF58
So, TagID 105, owned by roleID 1169 was made on Sat, 01 Apr 2017 12:02:02 GMT


there are 2 key differences between the first and third array though.
First of all notice that your character ID is in the list as 2nd item.
The second key difference is that array 3 is actually sorted by TagID in a Ascending order.

The entire meaning of the third array is kinda lost to me though, as it almost serves the same purpose as the first array. It just also has your character id in it.

Note: Speculation below
Perhaps the embedded roleid is for the server so it knowns who owns the instance?
For when people are in a squad so it knows to reset the instance when the entire party leaves and the party leader changes?
 
Joined
Jul 17, 2007
Messages
665
Reaction score
104
nice, from where do you got the struct for this?
interesting nethesbeast city instance not there what is 101

i planeing to make a full character xml php website like octet editor, thats why i want get all info for it :)
 
Junior Spellweaver
Joined
Oct 16, 2012
Messages
136
Reaction score
46
nice, from where do you got the struct for this?
interesting nethesbeast city instance not there what is 101

i planeing to make a full character xml php website like octet editor, thats why i want get all info for it :)

City of Abominations, or Netherbeast City, whatever you preffer. thats a worldmap, not a instance map.
(Maps like Nightscream, Snake Island, City of Abominations, Forest Ruins, Old Heavens Tears, etc are all considdered worldmaps. )

As for where you get the structs, you don't.
You figure them out through trial and error.
 
Joined
Jul 17, 2007
Messages
665
Reaction score
104
City of Abominations, or Netherbeast City, whatever you preffer. thats a worldmap, not a instance map.
(Maps like Nightscream, Snake Island, City of Abominations, Forest Ruins, Old Heavens Tears, etc are all considdered worldmaps. )

As for where you get the structs, you don't.
You figure them out through trial and error.

ah you have right, since they dont have timer or limit, everybody see everybody on those maps :) i fourgot that
 
Back
Top