Giải đấu trên Pokékipe, playbook đầy đủ
Tổ chức giải Pokémon Showdown public hoặc private, tự động kết match từ link replay, theo dõi bracket live. Smash, Street Fighter, cờ vua hay bất kỳ thứ gì khác? Engine cũng chạy ngon cho community ngoài hệ Pokémon.
Pokékipe tournaments là gì?
Trang Tournaments chứa mọi giải community chạy trên Pokékipe. Bạn có thể dựng một giải trong vài cú click và mời ai bạn muốn — bạn Discord, team server, hay randoms trên Showdown. Engine lo bracket, ghép cặp, ghi kết quả và xử lý tranh chấp. Mỗi giải là self-contained: matches, chat, lịch sử không phụ thuộc gì ngoài bản thân giải đó.
Có hai flow: public (list trên hub, ai cũng vào được) và private (chỉ vào bằng invite code). Draft và giải đã kết thúc không hiện trong public feed — chỉ những giải còn việc để làm mới hiển thị.
Điều kiện: Showdown username đã verified
Để tạo hoặc join giải Pokémon, tài khoản Pokékipe của bạn cần một handle Pokémon Showdown đã verified. Mất chưa tới một phút:
- Vào account settings và bấm Link Showdown username.
- Gõ username PS của bạn; bot của chúng tôi sẽ gửi cho bạn code ngắn qua PM trên Showdown.
- Paste code lại vào Pokékipe, verified, xong.
Khi đã verified, flow Join và Create unlock. Bạn vẫn dùng alt được lúc signup (pseudo override trên form).
In practice
Các loại bracket giải thích rõ
Hỗ trợ bốn format, mỗi loại có thế mạnh riêng. Chọn theo số người chơi dự kiến và độ căng của giải.
Single elimination
Một loss là out. Nhanh nhất, bracket 16 người = tổng 15 trận. Lý tưởng cho giải ngắn, informal, hoặc field cực lớn (trên 64 người). Số không phải luỹ thừa của 2 (5, 7, 13…) được hỗ trợ qua bye tự động ở round 1.
Double elimination
Người thua rớt xuống lower bracket và có cơ hội thứ hai. LB champion gặp UB champion ở grand final, có thể có reset nếu LB thắng (bracket được tái cân bằng với round thứ hai, lúc đó cả hai cùng có 1 loss).
Note
Round robin
Mọi người đánh với mọi người, tổng N × (N−1) / 2 trận. Xếp lịch qua Berger rotation để mỗi round mọi người chơi đều có trận (hoặc bye nếu N lẻ). Lý tưởng cho nhóm nhỏ (≤ 8 người chơi) nơi bạn muốn tối đa thời gian đánh. Chi phí bậc hai: quá 10 người là kéo dài.
Swiss
Một sự thoả hiệp giữa single-elim và round-robin. Số round cố định (mặc định ceil(log2(N)), tối thiểu 3). Mỗi round, mỗi người chơi gặp một đối thủ có cùng score, 1-0 vs 1-0, 0-1 vs 0-1, v.v. Không ai bị loại: bạn chơi hết các round. Bảng xếp hạng cuối qua Buchholz (tổng score của các đối thủ của bạn).
Giải ngoài Pokémon
Engine giải đấu không khoá cứng vào Pokémon. Nếu bạn chạy event Smash Ultimate, Street Fighter 6, cờ, Magic, League of Legends, hay bất kỳ game competitive nào khác, hệ thống vẫn dùng được. Chỉ cần chọn "Other (non-Pokémon)" trong dropdown format lúc tạo.
Sau đó bạn gõ label tự do (ví dụ "Smash Ultimate", "Chess Blitz 5+0", "SF6 Ranked"). Label này hiện ở mọi nơi thay cho format Pokémon thông thường, tournament card, overview, stream overlay, embed.
Cách hoạt động
- Tạo: không cần verify Showdown, ai cũng chạy giải generic được.
- Join: lúc bấm Join, bạn gõ pseudo tự do (FGC tag, handle chess.com, tên team, gì cũng được).
- Bracket: logic y chang Pokémon, single-elim, double-elim, round-robin, swiss. Engine không quan tâm là game gì.
- Phân xử: không có auto-report (không có URL replay Showdown để parse). Host mark winner thủ công cho từng trận qua "Host resolve" trong room trận.
Khác biệt so với giải Pokémon
- Không gating Showdown, cả tạo lẫn join.
- Pseudo tự do lúc signup thay vì handle Showdown đã verified.
- Auto-report tắt, host xử thủ công từng trận. Dispute và forfeit vẫn dùng như thường.
Worth knowing
Public vs private, invite codes
Visibility set lúc tạo và có thể đổi miễn là giải còn ở trạng thái draft hoặc registration.
- Public, List trên tournaments hub. Bất kỳ người chơi nào có Showdown username verified đều click Join được. Hợp cho event community mở.
- Private, Không list công khai. Một invite code 8 ký tự random được sinh khi bạn tạo. Share code hoặc full invite URL (/tournaments/<slug>?invite_code=XXX) tới những người chơi bạn muốn.
Đổi từ public sang private sẽ tự sinh invite code mới. Chiều ngược lại drop code đi. Code bị giấu khỏi non-host: chỉ organizer thấy và share được.
Worth knowing
Join giải private bằng code
Nếu ai đó chia sẻ giải private với bạn, ba cách để join:
- Bấm full invite link họ gửi (dạng /tournaments/slug?invite_code=ABCD1234), mọi thứ đã pre-fill.
- Trên tournaments hub, paste invite link vào ô Join with an invite code rồi bấm Go.
- Nếu bạn chỉ có code mà không có slug, paste code vào cùng ô đó, chúng tôi sẽ hỏi bạn slug ở bước hai.
Khi đã vào trang giải, bấm "Join tournament". Với giải Pokémon, bạn sẽ cần handle Showdown đã verified (cùng gating như khi tạo). Với giải generic, một pseudo tự do là đủ.
Đào sâu về hosting
Tìm host workflow đầy đủ? Trang này chỉ bao Q&A entry-point, để có guide operational, ghé trang host workflow riêng.
Guide host workflow bao 12 bước chi tiết: cấu hình giải, seed bracket, chạy check-in, start, quản lý lifecycle trận, auto-report kết quả, xử dispute và forfeit, host-resolve mismatch, deadline và chat, công bố bảng xếp hạng, grand final (cơ chế double-elim), edit/cancel/audit trail.
Câu hỏi thường gặp
Q&A nhanh các tính năng giải đấu hay được hỏi. Cho câu hỏi how-to sâu hơn, xem guide host workflow link ở trên.
Tôi có thể host nhiều giải cùng lúc không?
Có. Không giới hạn số giải đồng thời mỗi host, bạn có thể có một giải ở trạng thái draft song song với một giải đang chạy và một giải đã kết thúc, tất cả liệt kê trong tab Mine.
Chuyện gì xảy ra nếu một người chơi drop account giữa giải?
Dòng người tham gia vẫn còn nguyên (chúng tôi không cascade-delete lịch sử giải đấu). Các trận của họ vẫn hiện pseudo họ đã đăng ký, và host có thể xử forfeit các trận đang mở của họ để đẩy bracket tiếp.
Tôi có thể dùng một pseudo Showdown khác với cái đã verified cho giải này không?
Có, có tuỳ chọn override showdown_pseudo lúc signup. Bạn vẫn cần ít nhất một handle đã verified trên tài khoản Pokékipe. Override không được verify lại (sẽ siết ở V2, tạm thời tin người ký).
Auto-report bảo replay của tôi không khớp. Sai chỗ nào?
Ba nguyên nhân khả dĩ khiến auto-report bị reject: 1. Replay ở format khác với mong đợi. Format phải khớp chính xác, không thể report một trận gen9ou trong giải gen9ubers, dù link hợp lệ. 2. Pseudo trong replay không khớp với pseudo mong đợi. Kiểm tra cả hai người chơi đã đăng ký đúng pseudo trong giải (có thể có alt override lúc signup). 3. Replay không truy cập được (Showdown trả 404). Đợi 30 giây sau khi bấm Save replay để PS index link, rồi retry.
Ai thấy được chat trong match?
Chỉ hai người chơi trong trận và host của giải. Không public, ngay cả người chơi khác trong giải ở trận khác cũng không đọc được. Lịch sử vẫn lưu sau khi trận kết thúc để có context cho khiếu nại và kháng cáo.
Tôi có thể chạy giải mà không cần timer cho trận không?
Có, match timer là tuỳ chọn. Không có nó thì không có deadline và không có auto-dispute. Trận đấu để mở cho tới khi có người report. Hợp cho giải casual nơi người chơi tự sắp lịch.
Giải double-elim của tôi có số người chơi lẻ. Vậy OK không?
Có. Bất kỳ số lượng từ 4 trở lên đều hỗ trợ. Số không phải luỹ thừa của 2 được xử qua phantom bye cascade xuống lower bracket, thuật toán tính đúng các gap. 5, 7, 13 người đều chạy ngon.
Tôi có thể share bracket giải đấu công khai sau khi kết thúc không?
Có. Trang detail vẫn truy cập được qua slug (ví dụ `/tournaments/spring-ou-cup`), với giải public thì ở chế độ read-only. Với giải private, chỉ host và người tham gia còn thấy được bracket đầy đủ. Quá hợp để post-mortem một event.