Project 1999

Go Back   Project 1999 > Server Issues > Bugs

Reply
 
Thread Tools Display Modes
  #21  
Old 05-04-2016, 11:03 PM
kus kus is offline
Orc


Join Date: Sep 2014
Posts: 32
Default

Quote:
Originally Posted by Zaela [You must be logged in to view images. Log in or Register.]
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. [You must be logged in to view images. Log in or Register.]

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.
Reply With Quote
  #22  
Old 05-05-2016, 12:19 AM
Zaela Zaela is offline
Sarnak


Join Date: Jul 2014
Posts: 319
Default

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.
Reply With Quote
  #23  
Old 05-05-2016, 03:16 AM
EatitNerd EatitNerd is offline
Fire Giant

EatitNerd's Avatar

Join Date: Jul 2015
Posts: 516
Default

Quote:
Originally Posted by kus [You must be logged in to view images. Log in or Register.]
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. [You must be logged in to view images. Log in or Register.]

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
__________________
Quote:
Originally Posted by ElemtalRZ View Post
I use a compass to tell which direction I am going why else?
Reply With Quote
  #24  
Old 05-05-2016, 07:56 AM
Malrubius Malrubius is offline
Fire Giant

Malrubius's Avatar

Join Date: Nov 2009
Posts: 892
Default

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". [You must be logged in to view images. Log in or Register.]
__________________
Don't be a Kleat...
Reply With Quote
  #25  
Old 05-05-2016, 10:16 AM
Zaela Zaela is offline
Sarnak


Join Date: Jul 2014
Posts: 319
Default

Quote:
Originally Posted by Malrubius [You must be logged in to view images. Log in or Register.]
(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.
Reply With Quote
  #26  
Old 05-06-2016, 03:30 PM
kus kus is offline
Orc


Join Date: Sep 2014
Posts: 32
Default

Quote:
Originally Posted by Malrubius [You must be logged in to view images. Log in or Register.]
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". [You must be logged in to view images. Log in or Register.]
I'll register that guild right away!! ;-)
Who wants to join?

(Just kidding, I wouldn't wish this mess on anyone else)
Reply With Quote
  #27  
Old 05-06-2016, 03:33 PM
kus kus is offline
Orc


Join Date: Sep 2014
Posts: 32
Default

Quote:
Originally Posted by Zaela [You must be logged in to view images. Log in or Register.]
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.
Reply With Quote
  #28  
Old 05-09-2016, 03:49 PM
Malrubius Malrubius is offline
Fire Giant

Malrubius's Avatar

Join Date: Nov 2009
Posts: 892
Default

bumpers
__________________
Don't be a Kleat...
Reply With Quote
  #29  
Old 05-16-2016, 04:54 PM
Malrubius Malrubius is offline
Fire Giant

Malrubius's Avatar

Join Date: Nov 2009
Posts: 892
Default

bumpity bump bump
__________________
Don't be a Kleat...
Reply With Quote
  #30  
Old 05-27-2016, 11:06 AM
Malrubius Malrubius is offline
Fire Giant

Malrubius's Avatar

Join Date: Nov 2009
Posts: 892
Default

bump
__________________
Don't be a Kleat...
Reply With Quote
Reply


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

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

Forum Jump


All times are GMT -4. The time now is 06:33 PM.


Everquest is a registered trademark of Daybreak Game Company LLC.
Project 1999 is not associated or affiliated in any way with Daybreak Game Company LLC.
Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.