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

  • Name, ما يراه اللاعبون على الـhub وصفحة التفاصيل. 3–80 حرفاً، أي شيء يمر.
  • URL slug, جزء المسار بعد /tournaments/، حروف صغيرة، أرقام، شُرَط. مقترح تلقائياً من الاسم لكنه قابل للتعديل. يجب أن يكون فريداً.
  • Format, Gen 9 OU، VGC 2026 Reg H، Gen 8 Ubers… ثابت عند الإنشاء؛ لا يمكن تغييره لاحقاً.
  • Visibility, Public (مدرجة على الـhub، أي شخص يمكنه الانضمام) أو Private (بالدعوة فقط عبر كود مُولّد).
  • Bracket type, Single-elim، double-elim، round-robin أو Swiss. انظر القسم التالي للمقايضات.
  • Max players (optional), سقف مرن للتسجيلات. اتركه فارغاً لعدم وجود سقف. Double-elim يتطلب 4 لاعبين على الأقل.
  • Match timer (optional), الدقائق المسموح بها لكل مباراة بمجرد معرفة اللاعبَين. إذا انقضى الـdeadline، تُعلَّم المباراة auto-disputed ويتدخل المنظم.
  • Description (optional), نص حر للقواعد، الجدول الزمني، team clauses، prize pool. يُعرض بشكل بارز على صفحة البطولة.

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.

الـ seeds تُعيَّن تلقائياً بترتيب التسجيل (FIFO) وقت الـ /start.

قبل الإطلاق، تقدر تعيد الترتيب يدوياً عبر "Reseed" في صفحة البطولة. مفيد لوضع أعلى الـ seeds على جانبين متقابلين من الـ bracket (نمط كلاسيكي: 1 ضد 8 في ربع النهائي، 2 ضد 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 قفل اختياري يجبر اللاعبين على تأكيد حضورهم قبل الانطلاق. مفيد للأحداث المجدولة حيث تريد تجنب الـno-shows في الجولة 1.

Check-in workflow

  1. المنظم ينقر Open check-in على صفحة البطولة (فقط خلال draft/registration).
  2. اللاعبون المسجّلون يرون زر Check me in؛ النقر يقلب حالتهم من registered إلى checked_in.
  3. عندما ينقر المنظم Start، أي لاعب لا يزال في registered (لم يُسجّل حضوره) يُسقَط تلقائياً من الـbracket.
  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" (الزر الأخضر، للـ host فقط). المحرك بعدها:

What happens at start

  • تقفل التسجيلات، ما حد ثاني يقدر ينضم.
  • تعيّن الـ seeds النهائية (تحترم أي إعادة ترتيب يدوية سويتها).
  • تولّد bracket الجولة 1 حسب الفورمات اللي اخترته.
  • تقدّم أي byes تلقائياً (مثلاً لأعداد المشاركين غير المضاعفة لقوة 2).

البطولة تنتقل إلى حالة "ongoing"، ما فيه تسجيلات جديدة بعد. اللاعبون يحصلون على خصمهم الأول في الـ notifications 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.

كل مباراة تتبع دورة حياة محددة. إليك الحالات اللي ممكن تشوفها على الـ bracket:

The 6 match states

StateMeaning
pendingتم إنشاؤها، في انتظار معرفة كلا اللاعبين.
ongoingكلا اللاعبين أكدا، المباراة جارية على Showdown.
finishedتم تسجيل الفائز، وتقدم الـ bracket.
disputedلاعب أبلغ عن المباراة (أو انتهى الوقت المحدد). على الـ host أن يحلها.
forfeitedلاعب استسلم (forfeit ذاتي) أو طرده الـ host (DQ). يُسجَّل الفائز ويتقدم.
byeلا يوجد خصم، اللاعب يتقدم تلقائياً. شائع في الـ brackets غير المضاعفة لقوة 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، لا تختار الفائز يدوياً. بمجرد معرفة اللاعبَين:

Auto-report flow

  1. العب المباراة على Pokémon Showdown بشكل اعتيادي.
  2. في النهاية، انقر Save replay على Showdown، تحصل على رابط الـreplay.
  3. افتح غرفة المباراة في Pokékipe (انقر على المباراة في الـbracket) والصق الرابط في خانة Report result.
  4. نجلب الـreplay، نتحقق أن اللاعبَين يطابقان الألقاب المتوقعة وأن الـformat مطابق، نستخرج الفائز من سجل Showdown، ونغلق المباراة. الـbracket يتقدم تلقائياً.

إذا لم يكن اللاعبَان كما توقعنا (replay خاطئ، اختلاط في الألقاب) أو إذا لم يتطابق الـformat، يُرفض البلاغ مع رسالة خطأ واضحة. في تلك الحالة، أعد لعب المباراة أو ارجع إلى "Host resolve" إذا تعذّر إصلاح الحادثة.

In practice

أي من اللاعبَين، أو المنظم، يمكنه إرسال البلاغ. أول بلاغ صالح يفوز، الإرسالات المزدوجة 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

إذا كانت المباراة محظورة (خصم no-show، شبهة غش، مشكلة في السيرفر، خلاف على النتيجة)، يمكن للاعب أو المنظم رفع dispute. المباراة تنتقل إلى الـstatus `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.

بعد dispute، أو ببساطة عندما لا يكون auto-report متاحاً، فقط المنظم يمكنه إغلاق المباراة. انقر "Host resolve" في غرفة المباراة، اختر الفائز من بين اللاعبَين، انتهى.

الحل يُسجَّل في الـaudit مع user_id الخاص بك، الـtimestamp والفائز المختار. نهائي: لا تراجع (بالتصميم، تحكيم المنظم سيادي).

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

إذا كان للبطولة timer مُهيأ، كل مباراة تصبح قابلة للعب تحصل على deadline = الآن + timer. بادج countdown يظهر على المباراة في الـbracket وفي غرفة المباراة.

عندما ينقضي الـdeadline، تُعلَّم المباراة تلقائياً disputed مع السبب `deadline_exceeded`. ثم على المنظم التدخل، إما التمديد عبر حل جديد، اختيار فائز، أو الإلغاء.

Tournament chat

كل مباراة لها غرفة دردشة خاصة، مرئية فقط للاعبَين وللمنظم. استخدمها لتنسيق التوقيت، مشاركة رابط غرفة Showdown، الإبلاغ عن مشكلة تقنية.

الرسائل تظهر في الوقت الحقيقي عبر server-sent events، لا حاجة للـrefresh. السجل يُحفظ بعد انتهاء المباراة لمدة تصل إلى 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).

في الـ brackets من نوع round-robin و swiss، لوحة "Standings" تعرض موقع كل لاعب في الوقت الحقيقي. الأعمدة:

Standings columns

  • Wins، المباريات الفائزة (يشمل الـ byes والـ forfeits المستلمة).
  • Losses، المباريات الخاسرة (يشمل الـ self-forfeits والـ DQs).
  • Played، إجمالي المباريات المغلقة (يستثني الـ byes).
  • 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 brackets تنتهي بنهائي كبير بين بطل الـupper bracket (UB) وبطل الـlower bracket (LB). UB يصل بـ0 خسائر، LB بـ1. لهذا النظام يملك ميكانيكا reset.

إذا فاز بطل UB في النهائي الكبير → البطولة تنتهي (لا يزال بـ0 خسائر). إذا فاز بطل LB → تُنشأ مباراة bracket reset تلقائياً. كلا اللاعبَين الآن على خسارة واحدة لكل منهما. الفائز الحقيقي بهذه الجولة الثانية يأخذ البطولة.

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، الوصف، الـvisibility، الـbracket، السقف، التواريخ، والـtimer. format Pokémon غير قابل للتعديل عمداً بعد الإنشاء، تغييره سيُبطل فحوصات auto-report.

Format rule

Cancel متاح في أي وقت ما عدا بعد انتهاء البطولة. يقلب الـstatus بشكل لا رجعة فيه إلى `cancelled`. المباريات الجارية تُقطع، السجل يُحفظ للمرجعية، والمشاركون يتلقون إشعاراً.

Audit trail

كل إجراء حساس للمنظم (start، resolve، forfeit، cancel، edit) يُسجّل في تبويب "Audit". مرئي للمنظم فقط. يحتوي على نوع الإجراء، المؤلف، الـ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.