LOLI - League of Legends profile Information

[Update: this ext is now obsolete; ignore it. See OID instead.]

Hi,

Here is the description of an extension called LOLI, the purpose of which is to allow users to exchange their League of Legends profile information.

League of Legends is a game on which players have profiles identified by their “summoner name” and the server it is registered on (there are separate servers for different regions).

Clients that support the LOLI feature must announce it in the SU field of their INF.

They have a new command at their disposal: the LOL command.
The LOL command must be sent from one client to another (D type message). When it is sent with no parameter, the receiving client MUST answer with at least one LOL command that MUST contain the SE and SU parameters. If the receiving client doesn’t want to answer or if it doesn’t know what to answer, it MUST still answer with empty SE and SU parameters.
Parameters accepted by the LOL command:

  • SE: Server identifier; must be one of “br”, “eune”, “euw”, “kr”, “na”, “tr”, “ru” that stand for, respectively, “Brazil”, “EU Nordic & East”, “EU West”, “Korea”, “North America”, “Turkey”, “Russia”. This list of servers may change in the future to reflect those available in the game.
  • SU: Summoner name.

More parameters may be added in the future without requiring a new version of this extension.

Rationale:

  • A separate message is preferrable over new INF fields because users may not want to divulgate their LoL profile information to everyone on the hub.
  • The feature is announced in SU and there are restrictions on those that support it to be forced to send back a message in order to allow responsive feedback. Without these restrictions, a client would wait endlessly for an answer that would never come.
  • I have chosen a LOL with empty SE and SU parameters instead of an STA when a client doesn’t have a meaningful answer to give: 1) to simplify parsing; 2) to avoid having to add a new STA code.

A DC++ plugin that implements this is available on https://code.launchpad.net/~dcplusplus-team/dcpp-plugin-sdk-cpp/LoLPlugin. It hasn’t been published yet, so I am open to suggestions regarding its use of the protocol.

How deep can you go with looking up this information:

  • Status (in a game, in a queue, online)
  • Character, map, time played.
  • Level
  • Display information in main chat/PM to relevant users

Riot has promised an API but it hasn’t been completed yet; see:

So for the moment, all the plugin does is open http://quickfind.kassad.in/ with pre-filled parameters.
An alternative would have been the more popular http://www.lolking.net/; but it has a searching system that is impractical for simple lookups.

When that API comes out, I’ll see how this can be improved (hence the “More parameters may be added in the future without requiring a new version of this extension.” mention).

I don’t think this is up to this extension per se; implementations should be able to do that if they wish. If I ever improve the DC++ LoL plugin, that seems like the way to go indeed.

I just can’t see how do you control access to the information if a reply is expected always when the extension is announced.

Also I’d go for something more generic, it’s not just lolers out there (although they are a big amount of the users in Spanish lan parties and you can count on me defending the plugin in front of the other clients guys if this sees the light) but also PS3 network and Xbox stuff users, amongst others.

the forced reply requirement is unreasonable; in fact, my plugin doesn’t even care. if an implementation cared, it would in any case need some failsafe with a timeout.
so the req can go away; and the feature announcement as well.

i am thinking of a new command that would be more respectuous of ADC (wouldn’t clog INF with new fields or add new commands for each type of account).

This extension is obsolete - disregard it.