Skip to content
Strategy, host workflow14 мин чтения
Strategy, Host workflow

Run a Tournament on Pokékipe

Pokékipe's tournament engine runs the full host workflow, bracket creation, seeding, check-in, match management, dispute handling, standings, without you leaving the site. This page is the end-to-end host workflow, in 12 steps, with the engine UI as the active tool.

Bracket types

Single-elim, double-elim, Swiss, round-robin

Cost

Free, no player count cap

Match flow

Auto-report + dispute → host-resolve

Audit

Full trail of host actions, transparent

A clean tournament feels boring to host: matches resolve themselves, disputes are rare, standings publish on schedule. That "boring" outcome is the result of disciplined setup. Spend 20 min configuring; save 2 hours of mid-tournament chaos.
, The host's first principle

At a glance

Hosting a tournament is a 12-step workflow. The first 4 steps happen pre-tournament (configure, seed, check-in, start). The next 7 happen during play (match lifecycle, auto-report, disputes, host-resolve, deadlines, chat, standings). The last 3 close it out (grand final, edit/cancel, audit).

  • Pre-tournament (Steps 1-4)Configure → Seed → Check-in → Start
  • During play (Steps 5-10)Match lifecycle, auto-report, disputes, host-resolve, deadlines, standings
  • Close-out (Steps 11-12)Grand final (DE), edit/cancel, audit trail
  • Bracket typesSingle-elim, double-elim, Swiss (Pokémon Champions standard), round-robin
  • Match statespending → ongoing → finished | disputed | forfeited | bye
  • Dispute flowMismatched auto-reports → disputed → host-resolve final ruling

Step 1, Create the tournament

Open the tournament engine, click "Create." The form has 8 fields, name, slug, format, visibility, bracket, max players, timer, description. Each one matters; spending 5 min here saves issues later.

The 8 fields

  • Название, То, что игроки видят на хабе и на странице деталей. 3–80 символов, всё что угодно.
  • URL slug, Часть пути после /tournaments/, lowercase, цифры, дефисы. Авто-предлагается из названия, но редактируется. Должен быть уникальным.
  • Формат, Gen 9 OU, VGC 2026 Reg H, Gen 8 Ubers… Фиксируется при создании, поменять потом нельзя.
  • Видимость, Public (виден на хабе, может присоединиться любой) или Private (только по сгенерированному инвайт-коду).
  • Тип сетки, Single-elim, double-elim, round-robin или Swiss. Смотри следующую секцию про трейдоффы.
  • Макс. игроков (опционально), Мягкий кап на регистрации. Оставь пустым — кап не будет. Double-elim требует минимум 4 игроков.
  • Таймер матча (опционально), Минут на матч, когда оба игрока известны. Если дедлайн пройдёт, матч авто-флагается как спорный и подключается организатор.
  • Описание (опционально), Свободный текст для правил, расписания, тимклоузов, призового фонда. Показывается на видном месте на странице турнира.

Step 2, Seed the bracket

Seeding determines who faces whom in round 1. Higher seed = better matchup against lower-seeded players. Pokékipe auto-seeds by ELO if available; you can also manually arrange.

Сиды раздаются автоматически в порядке регистрации (FIFO) в момент /start.

До запуска можно вручную пересортировать через "Reseed" на странице турнира. Полезно, чтобы развести топ-сиды по разным частям сетки (классика: 1 vs 8 в четвертьфиналах, 2 vs 7 и т.д.).

In practice

For competitive Pokémon tournaments, seed by recent ELO ranking from the relevant ladder. For invitational events, use last tournament results. For casual events, random seeding is fine, keeps it fun.

Step 3, Run check-in

Check-in is the window between "tournament published" and "bracket starts." Players confirm presence; no-shows get auto-removed. Skipping check-in = bracket starts with absent players, who get assigned forfeits.

Check-in — опциональный замок, заставляющий игроков подтвердить участие перед стартом. Полезно для запланированных ивентов, где хочется избежать ноу-шоу в первом раунде.

Check-in workflow

  1. Организатор жмёт Open check-in на странице турнира (только во время draft/registration).
  2. Зарегистрированные игроки видят кнопку Check me in; клик переводит их статус из registered в checked_in.
  3. Когда организатор жмёт Start, любой игрок, оставшийся в registered (не зачекинившийся), автоматически выкидывается из сетки.
  4. Организатор может в любой момент Close check-in, чтобы выключить его обратно без старта.

In practice

Check-in выключен по дефолту. Если ты его не откроешь, все зарегистрированные автоматически попадают в сетку на старте.

Step 4, Start the bracket

Once check-in closes, click "Start." The engine generates round 1 matches based on seeds, notifies players, and starts the match timer. From here, the tournament is live.

Готов запускать? Жми "Start tournament" (зелёная кнопка, только хост). Дальше движок:

What happens at start

  • Закрывает регистрацию, новых участников больше не пустят.
  • Назначает финальные сиды (с учётом твоей ручной пересортировки, если была).
  • Генерирует сетку первого раунда по выбранному тобой формату.
  • Автопродвигает байи (например, если число участников не степень двойки).

Турнир переходит в статус "ongoing", регистрация больше невозможна. Игроки видят первого соперника в своей ленте уведомлений.

Step 5, Match lifecycle

Every match in the bracket goes through a defined sequence of states. Knowing the states means knowing what action is required at each point.

У каждого матча есть чёткий жизненный цикл. Вот статусы, которые ты можешь увидеть в сетке:

The 6 match states

StateMeaning
pendingСоздан, ждём, пока определятся оба игрока.
ongoingОба игрока подтвердились, матч идёт на Showdown.
finishedПобедитель зафиксирован, сетка продвинута.
disputedИгрок зарепортил матч (или дедлайн истёк). Хост обязан разрулить.
forfeitedИгрок сдался (selfforfeit) или был дисквалифицирован хостом. Победитель зафиксирован и проходит дальше.
byeНет соперника, игрок автоматически проходит дальше. Обычное дело в сетках, где число игроков не степень двойки.

Step 6, Auto-report results

Auto-report is the standard match-resolution flow: both players submit the result; if reports match, the match auto-finalizes. Disagreement flips the match into disputed state for host-resolve.

Это киллер-фича на покемоновской стороне — никакого ручного выбора победителя. Как только оба игрока известны:

Auto-report flow

  1. Играй матч в Pokémon Showdown как обычно.
  2. По окончании жми Save replay в Showdown — получаешь URL реплея.
  3. Открой комнату матча в Pokékipe (клик по матчу в сетке) и вставь URL в поле Report result.
  4. Мы тащим реплей, проверяем, что оба игрока совпадают с ожидаемыми никами и что формат сходится, вытаскиваем победителя из лога Showdown и закрываем матч. Сетка двигается автоматически.

Если два игрока не те, кого ждали (не тот реплей, путаница с никами) или формат не совпадает, репорт отклоняется с понятным сообщением об ошибке. В этом случае переиграйте матч или откатывайтесь на «Host resolve», если инцидент не исправить.

In practice

Репорт может отправить любой из игроков или организатор. Побеждает первый валидный — дубли идемпотентны.

Step 7, Disputes & forfeits

When auto-report fails (mismatched results), the match goes into disputed. Forfeit is when a player no-shows or concedes mid-match. Both end up at host-resolve.

Disputes

Если матч завис (ноу-шоу оппонента, подозрение на читы, проблема с сервером, разногласие по результату), игрок или организатор может его оспорить. Матч переходит в статус `disputed` со свободной причиной. Дальше он заморожен, пока организатор не арбитражит через «Host resolve».

Forfeits

Используй, когда кому-то надо снять себя с турнира или человек не пришёл. Два варианта:

  • Игрок форфейтит: может объявить победителем только своего оппонента. Подходит для самостоятельного снятия.
  • Организатор форфейтит: выбирает победителем любого из двух игроков. Подходит для DQ (нарушение правил, харассмент и т.д.).

Step 8, Host resolve

Host resolve is where the host (or co-host) makes the final call on a disputed match. Replay evidence, screenshots, witness reports, all considered, but the host decides. The decision is logged in the audit trail.

После спора или просто когда авторепорт недоступен, закрыть матч может только организатор. Жми «Host resolve» в комнате матча, выбирай победителя из двух игроков — готово.

Разрешение пишется в audit с твоим user_id, таймстампом и выбранным победителем. Это финал — отката нет (by design, арбитраж организатора суверенен).

Format rule

Host-resolve rule, host calls are final within a tournament. Players who disagree can complain in chat but cannot override. This authority structure is what keeps tournaments runnable; ambiguity kills bracket flow.

Step 9, Deadlines & chat

Match deadlines and tournament chat are the two communication tools that keep play moving. Use deadlines aggressively (slow players slow the whole bracket); use chat to broadcast announcements.

Match deadlines

Если в турнире настроен таймер, каждый матч, ставший играбельным, получает дедлайн = сейчас + таймер. На матче в сетке и в комнате матча показывается бейдж с обратным отсчётом.

Когда дедлайн истекает, матч автоматически флагается как disputed с причиной `deadline_exceeded`. Дальше подключается организатор — продлевает через свежий resolve, выбирает победителя или отменяет.

Tournament chat

У каждого матча есть своя чат-комната, видная только двум игрокам и организатору. Используй её, чтобы скоординировать тайминг, скинуть URL комнаты Showdown, отрепортить технический затык.

Сообщения приходят в реальном времени через server-sent events — обновлять страницу не надо. История хранится после конца матча до 30 дней, для справки при спорах.

Step 10, Standings & publication

Standings auto-update as matches finish. Once the final match resolves, standings are locked and the tournament is closed. Publication makes the bracket + standings publicly visible (or private depending on config).

Для round-robin и swiss-сеток есть панель "Standings", где видна позиция каждого игрока в реальном времени. Колонки:

Standings columns

  • Wins — выигранные матчи (включая байи и форфиты в твою пользу).
  • Losses — проигранные матчи (включая self-forfeit и дисквалификации).
  • Played — всего сыгранных матчей (без байев).
  • Pending — матчи, которые тебе ещё предстоят в этом раунде.

Step 11, Grand final (double-elim only)

In double-elim, the grand final is special: the upper-bracket finalist has bracket advantage. If the lower-bracket finalist wins game 1, the bracket resets, they must win twice. Pokékipe handles this automatically.

Double-elim сетки заканчиваются гранд-финалом между чемпионом верхней сетки (UB) и чемпионом нижней (LB). UB приходит с 0 поражений, LB — с 1. Именно поэтому в системе есть механика bracket reset.

Если чемпион UB выигрывает гранд-финал → турнир заканчивается (по-прежнему 0 поражений). Если выигрывает LB → автоматически создаётся матч bracket reset. Теперь у обоих игроков по 1 поражению. Настоящего победителя этого второго раунда забирает турнир.

Worth knowing

Single-elim, Swiss, and round-robin don't have a grand-final special case. Standard final match decides.

Step 12, Edit, cancel, audit trail

Tournaments aren't immutable post-creation, edits before start are free; mid-bracket edits are constrained. Cancellation is final. Every host action is logged in an audit trail for transparency.

Edit + cancel

Пока турнир в draft или registration, организатор может нажать «Edit» на странице деталей и подкрутить название, slug, описание, видимость, тип сетки, кап, даты и таймер. Покемоновский формат намеренно не редактируется после создания — поменять его значит сломать проверки авторепорта.

Format rule

Отмена доступна в любой момент, кроме как после завершения турнира. Необратимо переводит статус в `cancelled`. Идущие матчи прерываются, история сохраняется для справки, участники получают уведомление.

Audit trail

Каждое чувствительное действие организатора (старт, разрешение, форфейт, отмена, редактирование) пишется во вкладке «Audit». Видно только организатору. Содержит тип действия, автора, таймстамп и детали — пригодится, если игрок подал жалобу, или для пост-мортема инцидента.

Where to go from here

Hosting is one half of the tournament loop. The other half is competing, see the player-side guides below.