Skip to content

Latest commit

 

History

History
135 lines (99 loc) · 3.22 KB

README.md

File metadata and controls

135 lines (99 loc) · 3.22 KB

kicker-cli

Preview

GitHub CI codecov

A Foosball data aggregator, analyzers, and manager based on Kickertool.

Kickertool is a powerful tournament software that enables everyone to run foosball event. kicker-cli allows you to maintain data from Kickertool with the support of organization and event management, by which organizers could manage, analyze and rank inside an organization across multiple events.

Features

Analyzers

  • Double Player Ranks
  • Double Team Ranks
  • Single Player Ranks
  • Double Team Rivals
  • Single Player Rivals

Supported Game Modes

Round Games

  • MonsterDYP
  • Rounds
  • Round Robin
  • Swiss System

Knockoff Games

  • Double Elimination
  • Elimination

Installation

go install github.com/crispgm/kicker-cli/cmd/kicker-cli@latest

Usage

Init a workspace:

# init with current folder
kicker-cli init --name "MyAwesomeFoos"

# init with existing folder
kicker-cli init --name "MyAwesomeFoos" --path /path/to/workspace

# show organization
kicker-cli org

Import .ktool files:

# download from Kickertool and then
kicker-cli import /path/to/ktool
#  => 1 event(s) imported

Event management:

# list events
kicker-cli event ls
kicker-cli event ls --before 2023-08-23
kicker-cli event ls --name-type dyp

# show info
kicker-cli event info 351e00bf-025c-4243-b381-2f5a135c3070

# get rank
kicker-cli event rank -m double_player_rank -t byp
kicker-cli event rank 351e00bf-025c-4243-b381-2f5a135c3070 -m double_player_rank

# open event
kicker-cli event open 351e00bf-025c-4243-b381-2f5a135c3070
#  => xdg-open event-url

# delete event
kicker-cli event delete 351e00bf-025c-4243-b381-2f5a135c3070

Event analysis:

# analyze with "double_player_rank" operator for "byp" event order by ELO
kicker-cli events analyze -m double_player_rank -t byp -o ELO

# analyze with "single_player_rank" operator for "single" event order by win rate
kicker-cli events analyze -m single_player_rank -t single --sort-by elo

Player management:

# list players
kicker-cli player ls

# create player
# You may present multiple names. The very first name will be set as primary, others will be aliases.
kicker-cli player create David
#  => 1 player created

# delete player
kicker-cli player delete 13d4ea60-f6ff-48da-be1e-413d38328cb0

Evaluation:

# elo scores
kicker-cli eval elo 1100 1200
kicker-cli eval elo 1103 1203 1289 1013
kicker-cli eval elo -k 20 1103 1203 1289 1013

# points gained
kicker-cli eval rank -s ATSA50 -s KLocal 1

Known Issues & Limitations

  • Game duration is inaccurate because we actually don't input the result as soon as the game is finished. So we abandoned all time factors.

License

MIT