PDA

View Full Version : Miscellaneous: Members of another guild are included with /who guild all


kus
03-08-2015, 04:54 PM
When members of our guild <Terminus> issue the command "/who all guild" we get members of another guild, <Terminus Est>, included in the listing. This continues to be a point of confusion for our members.

maximum
03-08-2015, 10:34 PM
Isn't classic "/who all GUILD" (all caps)?

RIP The Jacka
03-09-2015, 10:00 AM
if /who all guild is returning /who all terminus (including terminus and terminus est) theres obv an issue

regardless of whether its supposed to be all caps

maximum
03-09-2015, 10:44 AM
Found this patch note. Note sure what to infer from this.


------------------------------
May 30, 2001
------------------------------

- /who GUILD (and the GUILD must be in caps) will now show you the
members of your guild in your zone. You can also specify a guild name,
such as /who "Irontoe Brigade".

http://everquest.allakhazam.com/history/patches-2001-1.html

mgellan
03-09-2015, 10:54 AM
We noticed that as well, / all GUILD returns anyone that has the string "OMNI" in their name eg Omnius

Regards,
Mg

Nirgon
03-10-2015, 02:43 PM
I try to /who all the <Friends> guild on red but nothing comes up

8-)

Ragnaros
03-10-2015, 03:37 PM
/who all frien works

kus
04-23-2016, 10:59 PM
The problem is back, this time with <Terminus Rising>: "/who all GUILD" (any version of the command, caps or no caps) produces a listing of that other guild, with our guild members (<Terminus>) lost in the middle somewhere. This is making it really difficult to find out who of us is online.

EatitNerd
04-24-2016, 06:59 AM
Plz make /who all GUILD a thing again. Lower case is just weird and not classic

Malrubius
04-27-2016, 09:26 PM
The problem is back, this time with <Terminus Rising>: "/who all GUILD" (any version of the command, caps or no caps) produces a listing of that other guild, with our guild members (<Terminus>) lost in the middle somewhere. This is making it really difficult to find out who of us is online.

Bump - this is definitely a heinous bug if your guild is unfortunate enough to be affected by it. If it isn't a bug, then hijacking another guild's name probably wasn't allowed/shouldn't be allowed. :)

kus
05-03-2016, 07:29 PM
Now we have two unrelated guilds getting mixed into our /who all GUILD listing for <Terminus>! This is getting ridiculous. :(

Is anything being done about this, or is our guild SoL?!

Raev
05-03-2016, 08:51 PM
I demand 1 fungi tunic or I will found the guild Terminus Minimus

Thulack
05-04-2016, 08:34 AM
If you type the guilds name in "" it should only show your own guild such as /who all "terminus" should only show people in terminus and not terminus rising

Cecily
05-04-2016, 09:40 AM
1 person petition. Find out your guild number.

For example: "/who all guild183", before Rogean wished us a Merry Christmas, would return members of The Mystical Order, which was a pain to search for. Otherwise pick a more unique name for your guild.

kus
05-04-2016, 12:25 PM
I demand 1 fungi tunic or I will found the guild Terminus Minimus

Haha, nice. If I had that kind of thing lying around, I'd donate it to get the bug fixed! :)

kus
05-04-2016, 12:26 PM
If you type the guilds name in "" it should only show your own guild such as /who all "terminus" should only show people in terminus and not terminus rising

I've already tried that, doesn't work. :(

kus
05-04-2016, 12:37 PM
1 person petition. Find out your guild number.

For example: "/who all guild183", before Rogean wished us a Merry Christmas, would return members of The Mystical Order, which was a pain to search for. Otherwise pick a more unique name for your guild.

Well, <Terminus> was there first, in fact it was our guild on live from about 2001 or so. I really don't want to give up that guild name just because someone else based their guild name on ours. It's part of the nostalgia for us.

But hey, the /who all guild## thing seems to work (I've tried a dozen or so numbers starting from 1 but have yet to run across our guild's ID. I'll try a petition) It would definitely function as a workround. Thank you for that suggestion, Cecily!!

Cecily
05-04-2016, 02:05 PM
I'm sure it's in the or close to the thousands by now. Hopefully a guide can give you that information, or you may have to have your guildies brute force the number as an event lol. Good luck :)

EatitNerd
05-04-2016, 02:51 PM
Can't wait to make a guild named Guild1893

Zaela
05-04-2016, 05:43 PM
When you do "/who all guild", the client effectively inserts your guild name in place of "guild", so what the server sees is equivalent to if you did "/who all Terminus".

However...

In the EQEmu code, there is a field in the who all packet (Who_All_Struct) for Titanium that is listed as "unknown". The who all packet for Secrets of Faydwer is identical to Titanium's except for having one extra field at the end, but it has the field that is "unknown" for Titanium listed as "guildid".

Some quick tests suggest that this field does get filled in with your actual guild id when you do "/who all guild" from the Titanium client. When you do a different who all, it gets filled with 0xffffffff, like other fields in that packet when they aren't being used (like level range restrictions on the search).

So... it should be possible to check against the actual guild id rather than the guild name, when that field is not 0xffffffff. That would fix this issue. The function that handles all of this in EQEmu's code is a bit of a clusterfuck, but it shouldn't be too hard for someone to fit in the extra logic (and p99's code might be cleaned up, since the /who all guild### sounds custom). It's ClientList::SendWhoAll() in world/clientlist.cpp.

kus
05-04-2016, 11:03 PM
When you do "/who all guild", the client effectively inserts your guild name in place of "guild", so what the server sees is equivalent to if you did "/who all Terminus".

However...

In the EQEmu code, there is a field in the who all packet (Who_All_Struct) for Titanium that is listed as "unknown". The who all packet for Secrets of Faydwer is identical to Titanium's except for having one extra field at the end, but it has the field that is "unknown" for Titanium listed as "guildid".

Some quick tests suggest that this field does get filled in with your actual guild id when you do "/who all guild" from the Titanium client. When you do a different who all, it gets filled with 0xffffffff, like other fields in that packet when they aren't being used (like level range restrictions on the search).

So... it should be possible to check against the actual guild id rather than the guild name, when that field is not 0xffffffff. That would fix this issue. The function that handles all of this in EQEmu's code is a bit of a clusterfuck, but it shouldn't be too hard for someone to fit in the extra logic (and p99's code might be cleaned up, since the /who all guild### sounds custom). It's ClientList::SendWhoAll() in world/clientlist.cpp.

Thank you, Zaela, that makes perfect sense. So, I brute-forced from 1 upward and found that our guild ID is 315, but now it gets interesting!

Nobody from <Terminus Est> is on right now, but both <Terminus> and <Terminus Rising> are showing up under ID 315 which looks to me as if "guild315" is simply translated by the server into a guild name ("Terminus"), and then the server executes a substring search, just as if I had entered "/who all Terminus" from the start.

The corroborating fact for the above is the fact that guild ID 612 seems to translate server-side to "Rip" as three different people (none in a guild named <Rip>) show up in the listing ("Riptite" in <Fires of Heaven>, "Riptorage" (no guild), and "Ripecloaca" in <Azure Guard>). Perhaps members of <Rip> have long ago gotten fed up with the problem and given up their guild?

Anyway, no joy, except now I have a really sore wrist from hitting shift-up and backspace over 600 times. Somewhere beyond that, a number will translate to "Terminus Est" and "Terminus Rising", but <Terminus> is struck holding the brown & sticky end of that stick. :(

In any case, I'll have a look at clientlist.cpp, and see if I can make enough sense of it to devise some solution. I agree that the guild# trick seems to be custom, so it ought to be possible to improve it to where it works as I should hope it was intended.

Zaela
05-05-2016, 12:19 AM
Took another look, the "/who all guild#" thing looks to be clientside. It just pastes the name of the guild with that id in, rather than your guild's name. (And it puts that id in the unknown/guildid field of the packet.)

Makes sense that the client can do this, since it receives a complete list of guild names and id numbers when you're logging in to char select.

EatitNerd
05-05-2016, 03:16 AM
Thank you, Zaela, that makes perfect sense. So, I brute-forced from 1 upward and found that our guild ID is 315, but now it gets interesting!

Nobody from <Terminus Est> is on right now, but both <Terminus> and <Terminus Rising> are showing up under ID 315 which looks to me as if "guild315" is simply translated by the server into a guild name ("Terminus"), and then the server executes a substring search, just as if I had entered "/who all Terminus" from the start.

The corroborating fact for the above is the fact that guild ID 612 seems to translate server-side to "Rip" as three different people (none in a guild named <Rip>) show up in the listing ("Riptite" in <Fires of Heaven>, "Riptorage" (no guild), and "Ripecloaca" in <Azure Guard>). Perhaps members of <Rip> have long ago gotten fed up with the problem and given up their guild?

Anyway, no joy, except now I have a really sore wrist from hitting shift-up and backspace over 600 times. Somewhere beyond that, a number will translate to "Terminus Est" and "Terminus Rising", but <Terminus> is struck holding the brown & sticky end of that stick. :(

In any case, I'll have a look at clientlist.cpp, and see if I can make enough sense of it to devise some solution. I agree that the guild# trick seems to be custom, so it ought to be possible to improve it to where it works as I should hope it was intended.

P99 just trolling you hard

Malrubius
05-05-2016, 07:56 AM
Was going to post this in the Petition forum, but it doesn't seem to fit based on the options there.

Great investigative work Zela and kus, thank you. Hopefully that information leads to a real fix (guessing we'd need the devs to special-case these strings and sub-strings for us). The most hopeful part is that this did get fixed in the past with "Terminus" vs. "Terminus Est".

This is such a pita, maybe we should rename ourselves "Terminus Rising Dough". ;)

Zaela
05-05-2016, 10:16 AM
(guessing we'd need the devs to special-case these strings and sub-strings for us).

They'd just need ignore the strings entirely and use the guildid field of the packet when it is set. It will tell them exactly which guild to look for.

kus
05-06-2016, 03:30 PM
Was going to post this in the Petition forum, but it doesn't seem to fit based on the options there.

Great investigative work Zela and kus, thank you. Hopefully that information leads to a real fix (guessing we'd need the devs to special-case these strings and sub-strings for us). The most hopeful part is that this did get fixed in the past with "Terminus" vs. "Terminus Est".

This is such a pita, maybe we should rename ourselves "Terminus Rising Dough". ;)

I'll register that guild right away!! ;-)
Who wants to join?

(Just kidding, I wouldn't wish this mess on anyone else)

kus
05-06-2016, 03:33 PM
They'd just need ignore the strings entirely and use the guildid field of the packet when it is set. It will tell them exactly which guild to look for.

Thank you for all the investigative work, Zaela. Yes, using the guildid field does seem to be the most effective solution whenever the keyword "GUILD" is in the /who listing. Frankly, I'm surprised that it's not that way already.

Malrubius
05-09-2016, 03:49 PM
bumpers

Malrubius
05-16-2016, 04:54 PM
bumpity bump bump

Malrubius
05-27-2016, 11:06 AM
bump

Malrubius
06-14-2016, 08:04 AM
aaaaagggghhhh, this suuuuuuuucks, buuuummmmppppp