Skip to content
Strategy, host workflowBaca 14 mnt
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

  • Name, Yang player lihat di hub dan halaman detail. 3–80 karakter, bebas apa aja.
  • URL slug, Bagian path setelah /tournaments/, huruf kecil, angka, hyphen. Auto-suggest dari name tapi bisa diedit. Harus unik.
  • Format, Gen 9 OU, VGC 2026 Reg H, Gen 8 Ubers… Fixed saat pembuatan; gak bisa diubah kemudian.
  • Visibility, Public (terdaftar di hub, siapa aja bisa join) atau Private (invite-only lewat kode yang di-generate).
  • Bracket type, Single-elim, double-elim, round-robin atau Swiss. Lihat section berikutnya untuk tradeoff-nya.
  • Max players (optional), Soft cap pada registrasi. Kosongkan untuk tanpa cap. Double-elim butuh minimal 4 player.
  • Match timer (optional), Menit yang dialokasikan per match begitu kedua player diketahui. Kalau deadline lewat, match auto-dispute dan host yang turun tangan.
  • Description (optional), Teks bebas untuk aturan, jadwal, klausa team, prize pool. Ditampilkan menonjol di halaman turnamen.

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.

Seed di-assign otomatis sesuai urutan registrasi (FIFO) pas waktu /start.

Sebelum launch, lo bisa reorder manual via "Reseed" di halaman turnamen. Berguna buat naro top seed di sisi bracket yang berlawanan (pola klasik: 1 vs 8 di perempat final, 2 vs 7, dst).

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 adalah lock opsional yang memaksa player konfirmasi kehadiran sebelum launch. Berguna untuk event terjadwal di mana kamu mau hindari no-show di round 1.

Check-in workflow

  1. Host klik Open check-in di halaman turnamen (hanya saat draft/registration).
  2. Player yang terdaftar lihat tombol Check me in; klik flip status mereka dari registered ke checked_in.
  3. Saat host klik Start, player yang masih registered (belum check in) auto-drop dari bracket.
  4. Host juga bisa Close check-in kapan aja untuk mematikannya lagi tanpa start.

In practice

Check-in off by default. Kalau gak kamu buka, semua registrant otomatis ikut saat start.

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.

Siap launch? Klik "Start tournament" (tombol ijo, host doang). Terus engine-nya:

What happens at start

  • Lock registrasi, nggak ada yang bisa join lagi.
  • Assign seed final (ngehormatin reorder manual yang udah lo lakuin).
  • Generate bracket round 1 sesuai format yang lo pilih.
  • Auto-advance bye apa pun (misalnya buat jumlah peserta non-power-of-2).

Turnamen pindah ke status "ongoing", nggak ada sign-up lagi. Player dapet lawan pertama mereka di feed notifikasi.

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.

Setiap match ngikutin lifecycle yang jelas. Berikut status-status yang bakal lo lihat di bracket:

The 6 match states

StateMeaning
pendingDibuat, nunggu kedua player diketahui.
ongoingKedua player udah konfirmasi, match jalan di Showdown.
finishedPemenang tercatat, bracket lanjut.
disputedPlayer nge-flag match (atau deadline expired). Host harus resolve.
forfeitedPlayer nyerah (self-forfeit) atau di-DQ host. Pemenang tercatat + lanjut.
byeNggak ada lawan, player otomatis lanjut. Sering kejadian di bracket non-power-of-2.

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.

Ini killer feature di sisi Pokémon, kamu nggak pilih winner manual. Begitu kedua player diketahui:

Auto-report flow

  1. Main match di Pokémon Showdown seperti biasa.
  2. Di akhir, klik Save replay di Showdown, kamu dapat URL replay.
  3. Buka match room di Pokékipe (klik match di bracket) dan paste URL-nya di box Report result.
  4. Kami fetch replay-nya, verifikasi kedua player cocok dengan pseudo yang diharapkan dan format-nya cocok, ekstrak winner dari log Showdown, dan close match-nya. Bracket maju otomatis.

Kalau kedua player bukan yang kami harapkan (salah replay, pseudo ketuker) atau format-nya nggak cocok, report ditolak dengan pesan error yang jelas. Dalam kasus itu, ulang match-nya atau fallback ke "Host resolve" kalau insidennya nggak bisa di-fix.

In practice

Salah satu player, atau organizer, bisa submit report. Yang valid pertama menang, double submission bersifat idempotent.

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

Kalau match diblok (lawan no-show, dugaan cheating, masalah server, gak sepakat soal hasil), player atau organizer bisa dispute. Match pindah ke status `disputed` dengan reason teks bebas. Kemudian di-freeze sampai organizer arbitrase via "Host resolve".

Forfeits

Pakai ini kalau ada yang harus drop out atau gak muncul. Dua varian:

  • Player forfeit: cuma bisa nyatakan lawannya sebagai winner. Cocok untuk self-withdrawal.
  • Host forfeit: pilih salah satu player sebagai winner. Cocok untuk DQ (pelanggaran aturan, harassment, dll.).

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.

Setelah dispute, atau cukup saat auto-report gak tersedia, cuma organizer yang bisa close match. Klik "Host resolve" di match room, pilih winner dari dua player, selesai.

Resolusi di-log di audit dengan user_id, timestamp, dan winner yang dipilih. Final: gak ada undo (by design, arbitrase host bersifat sovereign).

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

Kalau turnamen punya timer yang dikonfigurasi, setiap match yang jadi playable dapat deadline = now + timer. Badge countdown muncul di match di bracket dan di match room.

Saat deadline lewat, match auto-flag jadi disputed dengan reason `deadline_exceeded`. Organizer kemudian harus turun tangan, perpanjang via resolusi baru, pilih winner, atau cancel.

Tournament chat

Setiap match punya chat room sendiri, visible hanya untuk dua player dan organizer. Pakai untuk koordinasi waktu, share URL room Showdown, report masalah teknis.

Pesan muncul real time via server-sent event, gak perlu refresh. Riwayat disimpan setelah match berakhir sampai 30 hari, untuk referensi dispute.

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).

Buat bracket round-robin dan swiss, panel "Standings" nunjukin posisi tiap player secara real-time. Kolom-kolomnya:

Standings columns

  • Wins, match yang dimenangin (termasuk bye dan forfeit yang diterima).
  • Losses, match yang kalah (termasuk self-forfeit dan DQ).
  • Played, total match yang udah closed (nggak termasuk bye).
  • Pending, match yang masih nunggu di round ini.

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.

Bracket double-elim berakhir dengan grand final antara juara upper bracket (UB) dan juara lower bracket (LB). UB datang dengan 0 loss, LB dengan 1. Itu kenapa sistem punya mekanik reset.

Kalau juara UB menang grand final → turnamen selesai (tetap 0 loss). Kalau juara LB menang → match bracket reset otomatis dibuat. Kedua player sekarang sama-sama 1 loss. Winner sejati round kedua ini ambil turnamen.

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

Selama turnamen masih draft atau registration, organizer bisa klik "Edit" di halaman detail untuk adjust name, slug, description, visibility, bracket, cap, tanggal, dan timer. Format Pokémon sengaja gak bisa diedit setelah pembuatan, mengubahnya akan invalidate cek auto-report.

Format rule

Cancel tersedia kapan aja kecuali setelah turnamen selesai. Flip status ke `cancelled` secara irreversible. Match yang sedang berjalan diinterupsi, riwayat dipertahankan untuk referensi, dan peserta dinotifikasi.

Audit trail

Setiap aksi organizer yang sensitif (start, resolve, forfeit, cancel, edit) di-log di tab "Audit". Visible hanya untuk organizer. Berisi tipe aksi, author, timestamp, dan detail, berguna saat player ajukan claim atau untuk post-mortem insiden.

Where to go from here

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