Rules: one to four players per team push and kick the ball into the opposing goal. Player 1: WASD to move, Space to kick. Player 2: arrow keys to move, Enter or Slash to kick. Hold two movement keys for diagonal movement. Press P to pause or resume. The joystick and Kick button on touch devices control Player 1, or Player 2 when only Player 2 is seated. Hold kick to kick again after the cooldown; movement is slower while kicking. The conceding team takes the next kickoff, after a short goal celebration. Bots decide 20 times a second with 50 ms each, in separate workers. Late or invalid decisions keep the previous action; an unresponsive worker is stopped. Human matches always run in real time. Series play the selected number of matches and swap sides each match. Live contact counters are provisional; final counters come from the engine. Meet the players.
Write your own bot: read the Bot API. Upload a .js file up to 256 KB; it stays in memory only. Load only code you trust. Top-level bot code must not depend on Math.random; seeded randomness is available inside decide(state).