Git Product home page Git Product logo

autoleague2's Introduction

AutoLeague2

AutoLeague2 is a tool for running competitive leagues with custom Rocket League bots using the RLBot framework. Microsoft's TrueSkill ranking system is used to rate the bots. AutoLeague automates the process of selecting fair teams, starting matches, and rating the bots. It also ensures, that every bot gets to play regularly.

AutoLeague2 is a continuation of RLBot's AutoLeaguePlay and is used for East's League Play.

How to use

  • Install RLBotGUI.

  • Run gui-venv.bat. This opens a RLBotGUI's python as a virtual environment and installs packages used by AutoLeague2.

  • Run autoleague.py setup league <path/to/my/league/> to create a league in the given directory.

  • Add some bots to path/to/my/league/bots/.

  • Check if autoleague2 can find the bots with autoleague.py bot list.

  • Test if a bot works with autoleague.py bot test <bot_id>.

  • Run autoleague.py match run to run a match.

  • Any unfinished match (test or not) can be terminated without risk using ctrl+C.

  • The folder autoleague/resources/overlay/ contains various overlays showing the state of the league and current match. Most notably:

    • summary.html shows the leaderboard and the latest matches. Update the latter using autoleague.py summary [n].
    • ingame_leaderboard.html shows only the leaderboard.
    • overlay.html shows the currently playing bots in two banners near the top.
    • tmcp-overlay/overlay/overlay.html shows TMCP messages sent between bots.
    • versus_logos.html shows the play bots and their logos on a big versus screen.

    You can show these overlays on stream using a browser source in OBS.

The entire state of the league is stored in the folder path/to/my/league/, which allows it to be sent and shared with others.

East's League play

I use AutoLeague2 for East's League Play. The league play is split in weeks, and each week I do the following steps:

  • Before stream:

    • Make sure path/to/my/league is up-to-date
    • Delete the old submission folder path/to/my/league/bots/ and unzip the new one
    • Unzip all bots using the command autoleague.py bot unzip
    • Check if autoleague.py bot list shows all the bots I expect
    • Test all updated/new bots using autoleague.py bot test <bot_id>. If a is bot misbehaving, I send a message to the creator explaining the issue and delete the bot's config in the path/to/my/league/bots/. This will prevent it from playing.
    • Run autoleague.py summary to reset the summary shown by the overlay
  • During stream:

    • Run autoleague.py match run to run a single match. Overlays, tickets, mmr, summary, and more updates automatically.
    • Run autoleague.py match prepare to show off the playing bots before the match starts.
    • If needed, a match can be undone using autoleague.py match undo.

All commands

setup league <league_dir>           Setup a league in <league_dir>
setup platform <steam|epic>         Set platform preference
bot list [showRetired]              Print list of all known bots
bot test <bot_id>                   Run test match using a specific bot
bot details <bot_id>                Print details about the given bot
bot unzip                           Unzip all bots in the bot directory
bot summary                         Create json file with bot descriptions
ticket get <bot_id>                 Get the number of tickets owned by <bot_id>
ticket set <bot_id> <tickets>       Set the number of tickets owned by <bot_id>
ticket list [showRetired]           Print list of number of tickets for all bots
ticket newBotTickets <tickets>      Set the number of tickets given to new bots
ticket ticketIncreaseRate <rate>    Set the rate at which tickets increase
ticket gameCatchupBoost <boost>     Set the extra ticket increase factor when a bot has played fewer games
rank list [showRetired]             Print list of the current leaderboard
match run                           Run a standard 3v3 soccer match
match prepare                       Run a standard 3v3 soccer match, but confirm match before starting
match undo                          Undo the last match
match list [n]                      Show the latest matches
summary [n]                         Create a summary of the last [n] matches
retirement list                     Print all bots in retirement
retirement retire <bot>             Retire a bot, removing it from play and the leaderboard
retirement unretire <bot>           Unretire a bot
retirement retireall                Retire all bots
help                                Print this message

autoleague2's People

Contributors

niceastvillage avatar domnomnom avatar martmists-gh avatar tarehart avatar viliamvadocz avatar lucas-emery avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.