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.
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, ชื่อที่ผู้เล่นเห็นบน hub และหน้า detail 3–80 ตัวอักษร อะไรก็ได้
- URL slug, Path หลัง /tournaments/ ตัวเล็ก ตัวเลข ขีดกลาง Auto-suggest จากชื่อแต่แก้ได้ ต้องไม่ซ้ำ
- Format, Gen 9 OU, VGC 2026 Reg H, Gen 8 Ubers… ล็อกตอนสร้าง เปลี่ยนทีหลังไม่ได้
- Visibility, Public (อยู่บน hub ใครก็ join ได้) หรือ Private (invite-only ผ่านโค้ดที่ระบบสร้าง)
- Bracket type, Single-elim, double-elim, round-robin หรือ Swiss ดู tradeoff ของแต่ละอันได้ในเซคชันถัดไป
- Max players (optional), Soft cap ของ registration ปล่อยว่างถ้าไม่ cap Double-elim ต้องมีอย่างน้อย 4 คน
- Match timer (optional), นาทีที่อนุญาตต่อแมตช์เมื่อรู้ผู้เล่นทั้งสองคนแล้ว ถ้า deadline ผ่าน แมตช์ถูก auto-dispute และโฮสต์เข้ามาจัดการ
- Description (optional), ข้อความอิสระสำหรับกฎ ตาราง ข้อจำกัดทีม เงินรางวัล โชว์เด่นบนหน้าทัวร์
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 ถูกแจกอัตโนมัติตามลำดับการลงทะเบียน (FIFO) ตอน /start
ก่อนปล่อยทัวร์ คุณรีออร์เดอร์เองได้ผ่าน "Reseed" บนหน้าทัวร์ มีประโยชน์เวลาอยากวาง top seed ไว้คนละฝั่งของเบรกเก็ต (แพตเทิร์นคลาสสิก: 1 vs 8 ในรอบ quarterfinals, 2 vs 7 ฯลฯ)
In practice
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 เป็น lock optional ที่บังคับผู้เล่นยืนยันว่ามาก่อน launch เหมาะกับอีเวนต์ที่ตั้งเวลานัด อยากเลี่ยง no-show ในรอบ 1
Check-in workflow
- โฮสต์คลิก Open check-in บนหน้าทัวร์ (เฉพาะช่วง draft/registration)
- ผู้เล่นที่ลงทะเบียนแล้วเห็นปุ่ม Check me in คลิกแล้วสถานะสลับจาก registered เป็น checked_in
- ตอนโฮสต์คลิก Start ผู้เล่นที่ยังอยู่ในสถานะ registered (ยังไม่ check in) จะถูก auto-drop ออกจาก bracket
- โฮสต์ยัง Close check-in ได้ทุกเมื่อเพื่อปิดมันโดยไม่ต้อง start
In practice
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
- ล็อกการลงทะเบียน ไม่มีใครเข้ามาเพิ่มได้อีก
- กำหนด seed สุดท้าย (เคารพลำดับที่คุณรีออร์เดอร์เอง)
- สร้างเบรกเก็ตรอบ 1 ตามฟอร์แมตที่เลือก
- เลื่อนชั้น bye อัตโนมัติ (เช่นกรณีจำนวนผู้เล่นไม่ใช่ power-of-2)
ทัวร์ย้ายเข้าสถานะ "ongoing" สมัครเพิ่มไม่ได้แล้ว ผู้เล่นจะเห็นคู่แรกของตัวเองใน feed แจ้งเตือน
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.
ทุกแมตช์เดินตาม lifecycle ที่นิยามชัดเจน นี่คือสถานะที่คุณอาจเจอบนเบรกเก็ต:
The 6 match states
| State | Meaning |
|---|---|
pending | สร้างแล้ว รอให้รู้ตัวผู้เล่นทั้งสองฝ่าย |
ongoing | ทั้งสองฝ่ายคอนเฟิร์มแล้ว แมตช์กำลังเล่นบน Showdown |
finished | บันทึกผู้ชนะ เบรกเก็ตเลื่อนชั้นเรียบร้อย |
disputed | ผู้เล่นแฟล็กแมตช์ (หรือเลยเดดไลน์) โฮสต์ต้องเข้ามาตัดสิน |
forfeited | ผู้เล่นยอมแพ้ (self-forfeit) หรือถูกโฮสต์ DQ บันทึกผู้ชนะแล้วเลื่อนชั้น |
bye | ไม่มีคู่ต่อสู้ ผู้เล่นเลื่อนชั้นอัตโนมัติ พบบ่อยในเบรกเก็ตที่ไม่ใช่ 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.
นี่คือ killer feature ฝั่ง Pokémon คุณไม่ต้องเลือก winner ด้วยมือ พอผู้เล่นทั้งสองคนถูกระบุแล้ว:
Auto-report flow
- เล่นแมตช์บน Pokémon Showdown ตามปกติ
- ตอนจบ คลิก Save replay บน Showdown จะได้ replay URL มา
- เปิดห้องแมตช์ใน Pokékipe (คลิกแมตช์ใน bracket) แล้ววาง URL ในกล่อง Report result
- เราจะดึง replay มาตรวจว่าผู้เล่นทั้งสองตรงกับ pseudo ที่คาดและ format ตรง สกัด winner จาก Showdown log แล้วปิดแมตช์ Bracket เดินบ้านต่ออัตโนมัติ
ถ้าผู้เล่นสองคนไม่ตรงกับที่คาด (replay ผิด, pseudo สลับ) หรือ format ไม่ตรง report จะถูก reject พร้อม error message ชัดเจน ในกรณีนั้น เล่นแมตช์ใหม่ หรือ fallback ไปที่ "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
ถ้าแมตช์ติด (คู่แข่ง no-show, สงสัยโกง, เซิร์ฟพัง, ไม่เห็นด้วยกับผล) ผู้เล่นหรือ organizer สามารถ dispute ได้ แมตช์เปลี่ยนเป็นสถานะ `disputed` พร้อมเหตุผลแบบ free-text แล้วถูก freeze จนกว่า organizer จะตัดสินผ่าน "Host resolve"
Forfeits
ใช้เมื่อมีคนต้อง drop ออกหรือไม่มา มีสองรูปแบบ:
- ผู้เล่น forfeit: ประกาศได้แค่คู่แข่งเป็นผู้ชนะ เหมาะกับการถอนตัวเอง
- โฮสต์ forfeit: เลือกผู้เล่นคนใดคนหนึ่งเป็นผู้ชนะ เหมาะกับ DQ (ฝ่าฝืนกฎ, harassment, ฯลฯ)
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.
หลัง dispute หรือเมื่อ auto-report ใช้ไม่ได้ มีแค่ organizer ที่ปิดแมตช์ได้ คลิก "Host resolve" ในห้องแมตช์ เลือก winner จากผู้เล่นสองคน จบ
Resolution ถูก log ใน audit พร้อม user_id, timestamp และ winner ที่เลือก เป็น final ไม่มี undo (โดยดีไซน์ อนุญาโตของโฮสต์เป็นที่สุด)
Format rule
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
ถ้าทัวร์ตั้ง timer ไว้ แต่ละแมตช์ที่กลายเป็นเล่นได้จะได้ deadline = now + timer แบดจ์นับถอยหลังโผล่บนแมตช์ใน bracket และในห้องแมตช์
เมื่อ deadline หมด แมตช์ถูก auto-flag เป็น disputed ด้วยเหตุผล `deadline_exceeded` องค์กรต้องเข้ามาจัดการ ต่อเวลาผ่าน resolution ใหม่ เลือก winner หรือ cancel
Tournament chat
แต่ละแมตช์มีห้องแชทของตัวเอง เห็นแค่ผู้เล่นสองคนกับ organizer ใช้นัดเวลา แชร์ Showdown room URL หรือ report ปัญหาเทคนิค
ข้อความขึ้นแบบ real time ผ่าน server-sent events ไม่ต้อง refresh ประวัติเก็บไว้หลังแมตช์จบสูงสุด 30 วันเพื่ออ้างอิงเวลามี 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).
สำหรับเบรกเก็ตแบบ round-robin และ swiss จะมีแผง "Standings" โชว์ตำแหน่งเรียลไทม์ของผู้เล่นแต่ละคน คอลัมน์มีดังนี้:
Standings columns
- Wins, แมตช์ที่ชนะ (รวม bye และ forfeit ที่ได้รับมา)
- Losses, แมตช์ที่แพ้ (รวม self-forfeit และ DQ)
- Played, แมตช์ที่ปิดแล้วทั้งหมด (ไม่นับ bye)
- 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.
Bracket double-elim จบด้วย grand final ระหว่างแชมป์ upper bracket (UB) กับแชมป์ lower bracket (LB) UB มาด้วย 0 แพ้ LB มาด้วย 1 นี่คือเหตุผลที่ระบบมีกลไก reset
ถ้าแชมป์ UB ชนะ grand final → ทัวร์จบ (ยังคง 0 แพ้) ถ้าแชมป์ LB ชนะ → แมตช์ bracket reset ถูกสร้างอัตโนมัติ ทั้งคู่ตอนนี้อยู่ที่ 1 แพ้เท่ากัน ผู้ชนะจริงของรอบสองนี้คว้าทัวร์
Worth knowing
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 organizer คลิก "Edit" บนหน้า detail เพื่อปรับชื่อ slug description visibility bracket cap วันที่ และ timer ได้ Format Pokémon ตั้งใจไม่ให้แก้หลังสร้าง เปลี่ยนแล้วจะทำให้การเช็ค auto-report invalid
Format rule
Audit trail
ทุก action ของ organizer ที่ sensitive (start, resolve, forfeit, cancel, edit) ถูก log ในแท็บ "Audit" องค์กรเห็นคนเดียว เก็บประเภท action, ผู้กระทำ, timestamp และรายละเอียด มีประโยชน์ตอนผู้เล่นยื่นเรื่องร้องเรียนหรือทำ post-mortem ของเหตุการณ์
Where to go from here
Hosting is one half of the tournament loop. The other half is competing, see the player-side guides below.
- Tournaments FAQ, /faq/tournaments for the entry-point Q&A on the engine (what is it, can I use it, public vs private).
- Bo3 strategy, Bo3 Tournament Strategy for how to PLAY (vs. host) a Bo3.
- Match preparation, Match Preparation Workflow for player-side prep.
- Pokémon Champions, Pokémon Champions Era covers where Reg M-A community tournaments run.
- Live tools, Tournament engine, Pokémon Champions hub, your account.