1

Hopefully I'm asking this at the right place. League of legends recently added the option to join a club. Clubs still use the XMPP protocol just like before for their public chat rooms: XMPP for public rooms.

For public chat rooms, you connect through the "lvl.pvp.net" server.

For the private clubs' chat rooms, the server is now "pgc.pvp.net".

My problem is that I can't figure out how to find the room address to connect to a club. The clubs are private rooms. Only someone that is part of the club can view and chat in the club. Unlike for a public chat room, where the address is simply: pu~"Channel name hashed and no capital letters", a club address is a UUID and therefore, unlike public rooms, it's impossible to figure out the room address from the club name.

Riot is fine with people connecting to the XMPP server from outside apps, but they haven't provided an easy way to find the UUID for a club room.

How do I find what it is for my club?

3
  • Is there any official documentation that leads to the pgc.pvp.net server? Your link doesn't mention it. If the official documentation doesn't have any hints, and if the official client uses xmpp as well, use mitmproxy to sniff on its connection to the server. Commented Apr 20, 2016 at 6:11
  • I contacted an employee from Riot and he told me the server.
    – Apos
    Commented Apr 20, 2016 at 9:10
  • I'm currently working on a way to detect premades in a game, and my first check is to see if two players have the same club name. If you found a way to identify them in XMPP, I'd be glad to hear it!
    – Azami
    Commented Jun 15, 2016 at 8:09

4 Answers 4

1

There are two possibilities:

  1. The League of Legends client uses an embedded algorithm to injectively map a club name to a club UUID.
  2. The League of Legends client sends the club name to the server and receives the club UUID in response.

Either way, you'd be able to see what UUID-channel is eventually joined by the League of Legends client by sniffing the XMPP traffic, as @guntram-blohm suggested.

4
  • Does Fiddler4 allow me to do that? I've also tried to search the right info with Wireshark, but no luck so far with those two. mitmproxy doesn't seem to work well with Windows?
    – Apos
    Commented Apr 20, 2016 at 22:17
  • I'd try Echo Mirage. Commented Apr 21, 2016 at 1:48
  • I used Echo Mirage, but it looks like the XMPP traffic is behind SSL.
    – Apos
    Commented Apr 21, 2016 at 18:55
  • Echo Mirage works pretty well at decrypting OpenSSL-based SSL traffic and Winsock-based SSL traffic, but if League of Legends is using neither, you'll likely have to apply your own hooks manually to see the traffic in plaintext. Commented Apr 21, 2016 at 19:06
0

From what I found out when I searched a bit for a chat bot, you will have a hard time finding out the UUID. With the old private chat rooms you were able to get the id by sending an invite to the room. But now even the invites to the clubs are handled by the rtmp server of Riot (afaik but def. not from xmpp) and most clients/libs/apis to connect to this server were discontinued from development in 2014 when Riot introduced their API and planned to ban the accounts used for this.

One option you could try is to search in the logs of the client. At least the public chatrooms are saved in a file if you tick them as open on startup. I miss the really extensive logs of everything they produced in 2011. It included everything from chatroom names to names of pre/postmatch chat room names etc.

If you find a solution I would be interested in it.

0
0

If you connect to LoL chat with XMPP and get info of someone from your club you will see:

<clubsData>hYmfLrVHS1lU6FAz2BLS4UrbAmcJpH2+HEIYl0rwSQT8m9e3VBMRYLDDNY8Zp4E/LlU8h+27BaWenG7FyL/5I/7yvhy/9CfHoo0rpDuPHs1LwPgHjlwAUUxtvdbGI84h8EU+F+JfYkX8ykl+PyDe89xRBRy7EkDofuDBvzbRVdk=</clubsData>

The clubsData above is from someone that is only in my club. The snippet below is of someone in that same club along with 2 other clubs:

<clubsData>hfjHs7InQ85+N0x4O66jpcJ+815YE3z9HUuBiaCEwbe9HLN3LYvkZzxEEOFwMJs72UgOiFKh+fjhpyhQCkXd2OP7OKu5GahsHfHCrSfdJB5yut46Je8ech+o4meWHbJsLpbz0G/RCm6XKrcHpWc5n38LlxzqHIBiPd9cGKJxj18=</clubsData>

I'm not actually sure what to do with that information, but thought it might help someone here.

0

I also noticed what IyoIyo mentioned about the clubsData (I'm using the Pidgin XMPP client to connect to Riot's chat servers), and have been trying to determine what to do with that data. I've been trying to join my own club in which I know the actual name, but I'm stuck at the UUID step too.

As a result, I haven't made much progress but I was wondering if any of you has figured this issue out in the meantime - finding the room name of a club in order to join, assuming its server is "pgc.pvp.net" as Amos mentioned.

-

Pardon my "answer" post as I also stumbled upon this issue recently and literally just made a SE account to reply to this thread lol.

2
  • I haven't made more progress. My plan was originally to make a bot to kick offline people out and invite them again when they'd be back online. My club has so many members that the 50 players limit wasn't high enough (There are never 50 people online at the same time usually). Instead I just made more than 1 club. It sucks that not everyone is together, but oh well... The extra work around was to create a Discord room.
    – Apos
    Commented Aug 13, 2016 at 3:14
  • Since they added clubs to their android "LoL Friends" app, it's probably easier to reverse engineer that.
    – Apos
    Commented Aug 20, 2016 at 18:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.