2017 © Pedro Peláez
 

package good-bans

A statistical League of Legends ban ranker.

image

dgunay/good-bans

A statistical League of Legends ban ranker.

  • Sunday, June 10, 2018
  • by dgunay
  • Repository
  • 1 Watchers
  • 0 Stars
  • 1 Installations
  • HTML
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

GoodBans

Basically a reimplementation of http://bestbans.com. That site has been out of maintenance for a super long time and I loved using it, so I got fed up and remade it., (*1)

GoodBans (exactly like BestBans) decides what champions are most likely to pose a threat to you if not on your team by calculating which champions are the most commonly-picked and highest winrate. The reasoning is that even though some champions with dedicated mains can pull very high winrates, you are far more likely to meet a popular champion with a good winrate. Since you can't know who is on the enemy team, the most statistically beneficial strategy is to ban out the most common and effective solo queue threats., (*2)

This logic completely ignores team composition and purely favors a law of large numbers approach, so use it if you are simply not sure what to ban. Oh, and don't ban away champions your teammates want to pick. That's a dick move and you'll probably hurt your chances of winning., (*3)

Requirements

  • PHP 7.1+

Installation

  1. Create a database. Can be whatever vendor you want, but I used SQLite3., (*4)

  2. To refresh the database, use refresh_db.php as an example:, (*5)

require __DIR__ . '/vendor/autoload.php';
require __DIR__ . '/../config.php';

use GoodBans\OpGG;
use GoodBans\RiotChampions;
use GoodBans\ChampionsDatabase;

$db = new ChampionsDatabase(
    new \PDO('sqlite:/path/to/your_db.db'), // use whatever PDO you like
    new OpGG(),
    new RiotChampions()
);

$db->refresh(); // prepares the tables and fetches data from the interwebs!
  1. Put something like this in your HTML
    use GoodBans\ChampionsDatabase;
    use GoodBans\TopBans;
    use GoodBans\View;
    $bans = $db->topBans();
    $view = new View($bans);
    echo $view->render();

You can also just use the TopBans model to make your own view., (*6)

Development

Master branch is to remain deployable at all times. Development is merged into release candidate branches (example: rc-1.0). Patches continue from release candidate branches and are merged back into master with an appropriate tag., (*7)

Running Tests

The run_tests.php script should handle it, but otherwise you can just do php ./vendor/bin/phpunit ./test. Tests require PDO SQLite3., (*8)

Contributing

GoodBans is intended to provide the same ban efficacy analysis methodology with any set of data (though obviously the results depend on what the data looks like)., (*9)

If you know any good LoL stat aggregators with a friendly API or (ethically) scrapable interface, one of the most awesome things you can do is write a subclass of ChampionsDataSource for that site. Just make sure that the stats are separated by elo, and they at least have per-champion win/ban/pickrates., (*10)

The Versions

10/06 2018

dev-master

9999999-dev

A statistical League of Legends ban ranker.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Devin Gunay

20/05 2018

dev-rc-0.9

dev-rc-0.9

A statistical League of Legends ban ranker.

  Sources   Download

MIT

The Requires

  • php ^7.0

 

The Development Requires

by Devin Gunay

20/05 2018

v0.9.0

0.9.0.0

A statistical League of Legends ban ranker.

  Sources   Download

MIT

The Requires

  • php ^7.0

 

The Development Requires

by Devin Gunay