Skip to content
Strategy, host workflow14 dk okuma
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

  • Ad, Oyuncuların hub'da ve detay sayfasında gördüğü şey. 3–80 karakter, her şey gider.
  • URL slug, /tournaments/ sonrası gelen path kısmı; küçük harf, rakam, tire. Adından otomatik önerilir ama düzenlenebilir. Unique olmalı.
  • Format, Gen 9 OU, VGC 2026 Reg H, Gen 8 Ubers… Oluşturmada sabit; sonradan değiştirilemez.
  • Görünürlük, Public (hub'da listelenir, herkes katılabilir) veya Private (üretilen bir kod ile invite-only).
  • Bracket tipi, Single-elim, double-elim, round-robin veya Swiss. Tradeoff'lar için sonraki bölüme bak.
  • Maks oyuncu (opsiyonel), Kayıtlarda soft cap. Cap istemiyorsan boş bırak. Double-elim en az 4 oyuncu gerektirir.
  • Maç timer'ı (opsiyonel), İki oyuncu da belli olduktan sonra maç başına izin verilen dakika. Deadline geçerse maç auto-dispute olur ve host devreye girer.
  • Açıklama (opsiyonel), Kurallar, program, team clause'ları, ödül havuzu için serbest metin. Turnuva sayfasında belirgin şekilde gösterilir.

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'ler /start anında kayıt sırasına göre (FIFO) otomatik atanır.

Başlatmadan önce, turnuva sayfasındaki "Reseed" üzerinden manuel olarak yeniden sıralayabilirsin. Üst seed'leri braketin karşı taraflarına yerleştirmek için işe yarar (klasik desen: çeyrek finalde 1 vs 8, 2 vs 7, vs.).

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, oyuncuları launch öncesi katılımı onaylamaya zorlayan opsiyonel bir kilittir. Round 1'de no-show'ları önlemek istediğiniz programlı etkinlikler için faydalı.

Check-in workflow

  1. Host turnuva sayfasında Open check-in'e tıklar (sadece draft/registration sırasında).
  2. Kayıtlı oyuncular bir Check me in butonu görür; tıklamak status'larını registered'dan checked_in'e çevirir.
  3. Host Start'a tıkladığında, hâlâ registered olan (check-in yapmamış) her oyuncu bracket'tan otomatik düşer.
  4. Host ayrıca başlatmadan tekrar devre dışı bırakmak için istediği zaman Close check-in yapabilir.

In practice

Check-in varsayılan olarak kapalı. Açmazsanız tüm kayıtlılar start'ta otomatik olarak dahil edilir.

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.

Başlatmaya hazır mısın? "Start tournament"a tıkla (yeşil buton, sadece host). Motor şunu yapar:

What happens at start

  • Kayıtları kilitler, kimse daha fazla katılamaz.
  • Final seed'leri atar (yaptığın manuel sıralamaya saygı duyarak).
  • Seçtiğin formata göre 1. tur braketini oluşturur.
  • Bye'ları otomatik ilerletir (örn. 2'nin kuvveti olmayan katılımcı sayıları için).

Turnuva "ongoing" durumuna geçer, artık kayıt yok. Oyuncular ilk rakiplerini bildirim feed'inden alır.

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.

Her maç net tanımlı bir yaşam döngüsünü takip eder. Brakette görebileceğin durumlar:

The 6 match states

StateMeaning
pendingOluşturuldu, iki oyuncunun belli olmasını bekliyor.
ongoingİki oyuncu da onayladı, maç Showdown'da devam ediyor.
finishedKazanan kaydedildi, braket ilerledi.
disputedBir oyuncu maçı işaretledi (ya da süre doldu). Host çözmek zorunda.
forfeitedBir oyuncu pes etti (self-forfeit) ya da host tarafından DQ edildi. Kazanan kaydedildi + ilerleme.
byeRakip yok, oyuncu otomatik tur atlar. 2'nin kuvveti olmayan braketlerde sık görülür.

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.

Pokémon tarafının killer feature'ı bu; kazananı elle seçmiyorsun. İki oyuncu da belli olduğunda:

Auto-report flow

  1. Maçı Pokémon Showdown üzerinde normal şekilde oyna.
  2. Sonunda Showdown'da Save replay'e tıkla; bir replay URL'i alırsın.
  3. Pokékipe'te match room'u aç (brackette maça tıkla) ve URL'i Report result kutusuna yapıştır.
  4. Replay'i fetch ediyoruz, iki oyuncunun beklenen pseudo'larla eşleştiğini ve formatın uyduğunu doğruluyoruz, kazananı Showdown log'undan çıkarıyoruz ve maçı kapatıyoruz. Bracket otomatik olarak ilerliyor.

Eğer iki oyuncu beklediğimiz kişiler değilse (yanlış replay, pseudo karışıklığı) veya format uymuyorsa, report net bir hata mesajı ile reddedilir. O durumda maçı yeniden oyna ya da olay düzeltilemiyorsa "Host resolve"a düş.

In practice

Her iki oyuncu da veya organizer report'u submit edebilir. İlk geçerli olan kazanır; çift submission 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

Maç bloke ise (no-show rakip, hile şüphesi, sunucu sorunu, sonuç üzerinde anlaşmazlık), bir oyuncu veya organizer dispute açabilir. Maç, serbest metinli bir reason ile `disputed` statüsüne geçer. Organizer "Host resolve" üzerinden arabuluculuk yapana kadar donmuş kalır.

Forfeits

Biri çekilmek zorunda kaldığında veya görünmediğinde bunu kullan. İki varyant:

  • Bir oyuncu forfeit eder: sadece rakibini kazanan olarak ilan edebilir. Kendi kendini geri çekme için iyi.
  • Host forfeit eder: iki oyuncudan birini kazanan seçer. DQ etmek için iyi (kural ihlalleri, taciz vb.).

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.

Bir dispute'tan sonra veya auto-report mevcut olmadığında, maçı sadece organizer kapatabilir. Match room'da "Host resolve"a tıkla, iki oyuncu arasından kazananı seç, tamam.

Resolution; user_id, timestamp ve seçilen kazanan ile audit'e loglanır. Final: undo yok (tasarım gereği, host'un arabuluculuğu egemendir).

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

Turnuvada konfigüre edilmiş bir timer varsa, oynanabilir hale gelen her maç bir deadline alır = now + timer. Bracket'taki maçta ve match room'da bir countdown badge görünür.

Deadline dolduğunda maç, `deadline_exceeded` reason'ı ile auto-disputed olarak işaretlenir. Organizer'in devreye girmesi gerekir: taze bir resolution ile uzatır, kazananı seçer veya iptal eder.

Tournament chat

Her maçın kendi chat odası vardır; sadece iki oyuncu ve organizer'a görünür. Zamanlama koordinasyonu, Showdown room URL'ini paylaşma, teknik bir sorunu bildirme için kullan.

Mesajlar server-sent events üzerinden real time görünür, refresh gerekmez. Geçmiş, anlaşmazlık referansı için maç bittikten sonra 30 güne kadar saklanır.

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 ve swiss braketler için "Standings" paneli her oyuncunun gerçek zamanlı konumunu gösterir. Sütunlar:

Standings columns

  • Galibiyetler, kazanılan maçlar (bye'lar ve alınan forfeit'ler dahil).
  • Mağlubiyetler, kaybedilen maçlar (self-forfeit'ler ve DQ'lar dahil).
  • Oynanan, kapanan toplam maç (bye'lar hariç).
  • Bekleyen, bu turda önünde kalan maçlar.

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 bracket'lar, upper bracket şampiyonu (UB) ile lower bracket şampiyonu (LB) arasındaki bir grand final ile biter. UB 0 loss ile gelir, LB 1 ile. Sistemin reset mekaniğinin sebebi de bu.

UB şampiyonu grand final'i kazanırsa → turnuva biter (hâlâ 0 loss). LB şampiyonu kazanırsa → otomatik olarak bir bracket reset maçı oluşturulur. İki oyuncu da artık 1 loss'ta. Bu ikinci raundun gerçek kazananı turnuvayı alır.

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

Turnuva draft veya registration'dayken, organizer detay sayfasında "Edit"e tıklayıp ad, slug, açıklama, görünürlük, bracket, cap, tarih ve timer'ı ayarlayabilir. Pokémon formatı bilinçli olarak oluşturma sonrası editlenebilir değil; değiştirmek auto-report kontrollerini geçersiz kılar.

Format rule

Cancel, turnuva bittikten sonra hariç her an müsait. Status'u geri dönüşsüz olarak `cancelled` yapar. Devam eden maçlar kesilir, geçmiş referans için saklanır ve katılımcılar bildirim alır.

Audit trail

Her hassas organizer aksiyonu (start, resolve, forfeit, cancel, edit) "Audit" sekmesinde loglanır. Sadece organizer'a görünür. Aksiyon tipi, yazar, timestamp ve detayları içerir; bir oyuncu şikâyet açtığında veya bir olayın post-mortem'inde işe yarar.

Where to go from here

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