challonge 토너먼트를보다 쉽게 실행하는 데 사용하는 다양한 유틸리티 스크립트가 포함되어 있습니다 (특히 Super Smash Bros. Melee의 경우).
모든 예제는이 저장소의 다운로드 버전에서 실행되는 것으로 가정합니다.
# After creating a local tourney at https://challonge.com/mtvmelee77,
# I want to seed participants based on their Google MTV gaR PR rankings, and shuffle
# the bracket a bit while preserving each participant's projected placement.
python3 garpr_seeds_challonge.py mtvmelee77 --shuffle --region=googlemtv
# Then later on in the local, after loser's round 2 has finished, I want
# to create an amateur bracket automatically, so I don't have to spend time
# manually entering in each participant.
python3 create_amateur_bracket.py mtvmelee77
# Once that amateur bracket is created, it's available at
# https://challonge.com/mtvmelee77_amateur. The amateur bracket will use the
# same seedings as the original bracket by default, but I want to vary up the
# matches, so I run shuffled gaR PR seeds on the bracket again.
python3 garpr_seeds_challonge.py mtvmelee77_amateur --shuffle --region=googlemtv이 스크립트는 Python 3을 사용하며 Python 2와 호환되지 않습니다.이 문제를 해결하는 문제가 발생하면 여기에서 새로운 문제를 자유롭게 열어주십시오.
git clone https://github.com/akbiggs/challonge-tools
cd challonge-tools
python3 -m venv challonge_tools_env
source challonge_tools_env/bin/activate
pip install -r requirements.txt
Challonge 사용자 이름 및 API 키로 challonge.ini의 로컬 사본을 편집하십시오.
시도하고 싶은 스크립트를 실행하십시오!
python3 <script_to_run>.py
garpr_seeds_challonge.py : GAR PR 순위를 기반으로 한 토너먼트를 씨앗합니다.
인식되지 않은 이름은 마지막 장소에서 시드됩니다 (파종 목록에 원래 모습을 보형). 사례는 이름으로 무시됩니다.
$ python3 garpr_seeds_challonge.py 32w50dxc
Tournament updated; see seeds at http://challonge.com/32w50dxc/participants.
--region 플래그를 사용하여 지역을 변경할 수 있습니다.
$ python3 garpr_seeds_challonge.py 32w50dxc --region=googlemtv
Tournament updated; see seeds at http://challonge.com/32w50dxc/participants.
깃발 :
--region=norcal : 지역은 GAR PR 순위를 얻는 데 사용됩니다. 기본값 : norcal--print_only=False : 토너먼트에 커밋하지 않고 새 씨앗을 인쇄하려면 True 로 설정하십시오. 토너먼트를 다시 조정하기 전에 테스트에 유용합니다. 기본값 : False--shuffle=False : 각 참가자의 예상 배치를 보존하면서 나중에 씨앗을 셔플하려면 이것을 True 로 설정하십시오. 이것은 브래킷에 약간의 분산을 도입하는 데 도움이됩니다. 기본값 : False--config_file=challonge.ini : challonge 자격 증명을 읽는 구성 파일에서. 이는 실수로 자격 증명을 소스 제어에 커밋 할 위험을 줄이는 데 유용합니다. 기본값 : challonge.ini garpr_seeds.py : Challonge API를 사용하지 않고 씨앗을 얻습니다.
실제 토너먼트없이 순위를 테스트하는 데 유용합니다.
$ python3 garpr_seeds.py "Eden, Bryan, Non-gaR PR Person, Admiral"
[3, 2, 4, 1]
shuffle_seeds_challonge.py : Challonge 토너먼트에서 씨앗을 뒤섞습니다.
이 기능은 토너먼트가 끝날 때 각 참가자의 예상 배치를 유지하면서 브래킷을 셔플하는 데 도움이됩니다. 이것은 Challonge의 "Shuffle Seeds"와 비교할 때 토너먼트를 무작위로 유지하는 데 도움이됩니다.
$ python3 shuffle_seeds_challonge.py zcmvlkxm
Seeds shuffled: http://challonge.com/zcmvlkxm/participants
생성 된 셔플 순서에 따라 모든 참가자의 파종을 자동으로 업데이트합니다.
깃발 :
--config_file=challonge.ini : challonge 자격 증명을 읽는 구성 파일에서. 이는 실수로 자격 증명을 소스 제어에 커밋 할 위험을 줄이는 데 유용합니다. 기본값 : challonge.ini shuffle_seeds.py : Challonge API를 사용하지 않고 씨앗을 뒤섞습니다.
인터넷 연결에 액세스 할 수 없거나 무작위 화를 테스트하려는 경우 유용합니다.
$ python3 shuffle_seeds.py 9
[1, 2, 3, 4, 6, 5, 8, 7, 9]
주어진 수의 참가자와 함께 토너먼트를 위해 새로 섞인 파종 명령을 반환합니다. 각 숫자는 해당 종자가 나열되어야하는 위치를 나타냅니다.
$ python3 shuffle_seeds.py "Neal, Bryan, Paragon, gaR, Admiral Lightning Bolt, Eden"
['Neal', 'Bryan', 'Paragon', 'gaR', 'Eden', 'Admiral Lightning Bolt']
참가자 이름 목록에서 새로 섞인 참가자의 순서를 반환합니다. 참가자는 첫 번째 씨앗에서 마지막 씨앗으로 주문해야합니다. 참가자 이름의 선행 및 후행 공간이 제거됩니다.
create_amateur_bracket.py : 기존 Challonge 토너먼트에서 자동으로 아마추어 토너먼트를 만듭니다.
아마추어 토너먼트는 특정 임계 값 이하의 사람들을 데려 가서 메인 토너먼트 후에 그들과 별도의 토너먼트를 주최합니다. 이것은 사람들이 더 많은 연습을하고 더 재미있게 보내는 데 도움이됩니다. 특히 Melee와 같은 영혼의 크러싱 학습 곡선을 가진 게임에서.
$ python3 create_amateur_bracket.py mtvmelee72
http://challonge.com/mtvmelee72를 검사하고 패자 1과 2에서 제거 된 사람들을 사용하여 아마추어 브래킷을 만들도록 제안합니다.
이 도구는 무엇이든 생성하기 전에 승인을 받고 아마추어 브래킷이 이미 존재하면 아무것도하지 않을 것입니다. 기존 토너먼트 데이터를 수정하지 않습니다.
이 도구의 예제 세션 :
깃발 :
--use_double_elimination=True : 아마추어 브래킷이 이중 유사 또는 단일 제거를 사용해야하는지 여부. 기본값 : True--randomize_seeds=False : 아마추어 브래킷이 씨앗을 완전히 무작위로 무작위화하거나 주 브래킷에서 파종을 사용하여 파악 해야하는지 여부. 기본값 : False--losers_round_cutoff=2 : 잃어버린 라운드 후에는 제거 된 사람들이 더 이상 아마추어 브래킷을받을 자격이 없습니다. 2의 값은 패자의 라운드 1과 2가 포함되어 있지만 패자의 라운드 3은 포함되지 않음을 의미합니다. 기본값 : 2--associate_challonge_accounts=False : 사용자의 challonge 계정이 아마추어 브래킷의 항목과 연관되어야하는지 여부. 이것은 그들이 입력 한 모든 토너먼트를 추적하는 데 도움이되지만 아마추어 브래킷은 또한 그들에게 이메일을 보내므로 아마추어 브래킷을 생성 할 때 책임감있게 사용하십시오. 이 도구는 계정이 이메일로 보내질 지 알려줍니다. 기본값 : False--config_file="challonge.ini" : challonge api 키를 읽고 사용자 이름을 읽는 구성 파일. 기본값 : "challonge.ini"예를 들어
$ python3 create_amateur_bracket.py mtvmelee72
--config_file=akbiggs_challonge.ini
--use_double_elimination=False
parse_challonge_config.py : 구성 파일에서 Challonge 자격 증명을 얻기위한 개발자 도구.
Challonge API 키는 비밀을 유지하고 싶은 것입니다. 이 도구를 설정하여 코드로 하드 코딩하는 대신 GIT Repo에서 무시할 수있는 구성 파일에서 challonge 정보를 쉽게 구문 분석 할 수 있습니다.
지침이 포함 된 예제 구성 파일은 challonge.ini를 참조하십시오.
$ python3 parse_challonge_config.py my_challonge.ini
{ user: 'blah', api_key: 'not telling' }
테스트를 실행하기 전에 박쥐를 초기화해야합니다.
git submodule update --init --recursive
그 후, 모든 단위 테스트를 실행하려면 test.sh 실행합니다.
./test.sh