encratite / LibOfLegends

This is a C# networking library that pretends to be the League of Legends Air client. It was developed for the purpose of stats tracking. It depends on a modified version of the FluorineFX library available in the FluorineFXMods repository. It also depends on NilSharp, a random general purpose library. Released under the terms of the GPLv3.
GNU General Public License v3.0
84 stars 22 forks source link

How much is required to just get a listing of a player's recent games? #26

Closed ryancole closed 9 years ago

ryancole commented 10 years ago

I've been looking over your library. I'm trying to get a sense of how much work is required to emulate the pvp.net client and get a listing of a player's recent games. I see the login portion looks like it's all HTTP-based requests. Is everything HTTP-based, or once you login do you have to start using additional libraries for other protocols?

Where did you learn how the login process and emulation of the pvp.net client works? Did you reverse engineer it yourself, or is there a forum somewhere with this laid out?

Can I get this listing of games just using LibOfLegends? I can see the Example project does it, but it appears to make use of some COM objects or something?

Thanks

encratite commented 10 years ago

HTTP is just a part of it. It's used during the login sequence. Most of the actual interaction with the server API to retrieve the recent games and such uses TLS/RTMP/AMF0/AMF3.

Other libraries are used, yes. Standard .NET framework ones and also FluorineFX for the TLS/RTMP/AMF stuff.

This particular project did an independent reverse engineering effort, yes. We started out as two people but the other guy left. I've quit this project, too. The lack of a login queue implementation and the whole FluorineFx bollocks just blow.

I only found out about Jabe's incomplete Java library (lacks static Riot classes etc) later: http://code.google.com/p/lolrtmpsclient/

There's also a C# port of his library by Raler at https://github.com/raler/PVPNetConnect - oh, I forgot, he took it down. There were many forks of it, though. I made one, too. My version doesn't work but you can reconstruct his original state from it:

https://github.com/epicvrvs/PVPNetCorrect

Right now there's no open source library that implements the protocol that does it "properly" by my standards. raler's library has polling hacks, leaks resources and uses an insane amount of threads.

encratite commented 10 years ago

Woops, didn't mean to close it