Comment ça marche ?

Guide rapide pour démarrer sur TCG Battle, que tu sois joueur, organisateur ou en charge d'une communauté.

Joueurs

Trouve un tournoi, inscris-toi, joue tes matchs.

  1. 1

    Crée ton compte

    Connexion via Google, Discord ou email/mot de passe. La connexion Discord permet en plus de recevoir les MP du BOT (matchups, rappels, check-in).

    📷 Screenshot à venir : /screenshots/howto-players-signup.png

  2. 2

    Lie ton Discord (optionnel mais recommandé)

    Si tu t'es connecté par Google/email, tu peux ajouter ton ID Discord dans /profile → onglet Discord. Sinon le BOT ne pourra pas te DM.

  3. 3

    Trouve un tournoi

    Va sur /tournaments pour voir les tournois à venir / en cours / passés. Filtre par ligue si tu veux te limiter à une communauté.

    📷 Screenshot à venir : /screenshots/howto-players-tournaments-list.png

  4. 4

    Inscris-toi et soumets une decklist

    Sur la page d'un tournoi, clique « S'inscrire ». Si le tournoi exige une decklist, sélectionne-la depuis ton dashboard ou crée-la depuis /decklists/new (import direct PTCG Live par copier-coller).

    📷 Screenshot à venir : /screenshots/howto-players-decklist-import.png

  5. 5

    Fais ton check-in tournoi

    La fenêtre de check-in s'ouvre X minutes avant le scheduledAt (configurable par l'orga, par défaut 60 min). Tu reçois un MP Discord et une notification in-app. Si tu ne check-in pas à l'heure, tu es automatiquement marqué « no-show ».

  6. 6

    Joue tes matchs

    Au démarrage de chaque ronde, tu reçois un MP Discord « Check-in match » + un MP « Matchup » avec ton adversaire et ton numéro de table. Check-in match (1 clic) puis joue ta partie sur PTCG Live.

  7. 7

    Déclare ton résultat

    Deux options : depuis le site (page de match) ou depuis le MP Discord (boutons Win/Tie/Lose pré-remplis). Si ton adversaire déclare la même chose, le résultat est auto-validé. Sinon, un arbitre tranche.

    📷 Screenshot à venir : /screenshots/howto-players-declare-result.png

  8. 8

    Top cut et fin de tournoi

    Si tu es dans le top cut, tu joues le bracket éliminatoire (BO3). À la fin du tournoi, le podium est annoncé sur Discord et tu retrouves ton historique complet dans ton profil.

Organisateurs

Crée et lance un tournoi communautaire.

  1. 1

    Tout user peut créer un tournoi hors-ligue

    Depuis le sprint 48, n'importe quel utilisateur connecté peut créer un tournoi via /tournaments → « Nouveau tournoi ». Sans rattachement à une ligue, le tournoi est marqué hors-ligue (countsForLeaderboard=false) — il ne pollue pas le classement global. Pour créer un tournoi RATTACHÉ à une ligue, tu dois être Judge, Admin ou Owner de cette ligue (voir section Rôles & permissions).

  2. 2

    Crée le tournoi

    Sur /tournaments → « Nouveau tournoi ». Renseigne : nom, date, type (Challenge ≥ 4 joueurs / Cup ≥ 8), match format (BO1, BO3, BO1_THEN_BO3 — top cut force BO3 même si Suisse en BO1), timer, fenêtre check-in, top cut size, visibilité des decklists (OPEN ou HIDDEN), ligue de rattachement (optionnel — utile pour le classement).

    📷 Screenshot à venir : /screenshots/howto-organizers-create-tournament.png

  3. 3

    Ouvre les inscriptions et communique

    Clique « Ouvrir les inscriptions ». Les rappels Discord 24h/12h/1h partent automatiquement via le cron. Tu peux aussi déclencher un « Rappel Discord » manuel à tout moment depuis la sidebar.

  4. 4

    Lance le tournoi

    À l'heure du scheduledAt, clique « Démarrer ». Les joueurs no-show (pas check-in dans la fenêtre) sont auto-droppés. Les rondes Suisse sont générées automatiquement selon le nombre de joueurs présents.

  5. 5

    Gère les rondes et les arbitrages

    Sur /tournaments/[id]/pairings, suis les déclarations live. Les conflits (joueurs déclarent des scores incompatibles) et les appels arbitre apparaissent sur /judge — vue globale ou par tournoi. Outils : late check-in (R1-R2 seulement), drop manuel, résolution de match (victoire/défaite/double-loss/égalité).

    📷 Screenshot à venir : /screenshots/howto-organizers-pairings.png

  6. 6

    Lance le top cut puis termine

    Quand les rondes Suisse sont terminées, le bouton « Lancer le top cut » apparait (taille configurable : Top 4/8/16). Le bracket éliminatoire s'enchaine en BO3. À la fin, clique « Terminer » : le podium est posté sur Discord et le tournoi passe à FINISHED.

Communautés (ligues)

Crée et anime ta propre ligue.

  1. 1

    Crée ta ligue

    Sur /communities → « Créer une ligue ». Choisis un slug (URL : /c/[slug]), un nom, et un mode d'adhésion : PUBLIC (chacun peut rejoindre), INVITE (sur invitation), CLOSED (seul un admin ajoute).

    📷 Screenshot à venir : /screenshots/howto-leagues-create.png

  2. 2

    Configure le branding

    Sur /c/[slug]/admin/branding, upload un logo, écris une présentation HTML (sanitisée), choisis ta couleur d'accent. Affichage public sur /c/[slug].

    📷 Screenshot à venir : /screenshots/howto-leagues-branding.png

  3. 3

    Invite des membres

    Selon le mode d'adhésion : partage le lien public, génère une invitation à usage unique, ou ajoute manuellement les emails. Tu peux promouvoir un membre admin ligue depuis /c/[slug]/admin/members.

  4. 4

    Lie ton Discord

    Sur /c/[slug]/admin/discord, deux options : (a) webhook channel (URL collée — annonces seulement) ou (b) BOT TCG Battle invité sur ton serveur (rôles ligue auto, channels par tournoi). Si rien n'est configuré, le webhook global DISCORD_GLOBAL_WEBHOOK_URL s'applique.

  5. 5

    Crée des tournois rattachés

    Quand tu crées un tournoi, sélectionne ta ligue dans le champ « Ligue ». Le tournoi compte alors dans le classement de la ligue (en plus du classement global, sauf si countsForLeaderboard=false).

  6. 6

    Active les tournois récurrents

    Sur /c/[slug]/admin/recurring, crée un template (hebdomadaire, mensuel, custom cron). Un cron quotidien à 5h CET génère les instances 7 jours à l'avance. Idéal pour les « tournois du jeudi » qui reviennent chaque semaine sans intervention.

Rôles & permissions

Depuis le sprint 48, le système de rôles distingue les rôles globaux (cumulables) et les rôles de ligue. Voici qui peut faire quoi.

  1. 1

    Joueur (PLAYER, défaut)

    Tout utilisateur connecté est Joueur par défaut. Tu peux : t'inscrire à des tournois, soumettre des decklists, créer des tournois hors-ligue (countsForLeaderboard=false), gérer ton profil et ton avatar. Tu n'as PAS accès aux pages /admin ou /judge globales. Pour juger ou administrer une ligue, demande à un Owner de te promouvoir.

  2. 2

    Judge Ligue (rôle de ligue)

    Promu par l'Owner ou l'Admin d'une ligue depuis /c/[slug]/admin/members. Te permet de juger les tournois DE CETTE LIGUE via la page /judge (filtrée à la ligue). Tu peux aussi créer des tournois rattachés à cette ligue (avec countsForLeaderboard=true automatique). Pas d'accès au branding ni à la gestion des membres.

  3. 3

    Admin Ligue (rôle de ligue)

    Promu par l'Owner de la ligue. Hérite des droits du Judge Ligue + peut gérer les membres (approve/reject/kick), éditer le branding (logo, bannière, couleur, présentation HTML), configurer le Discord de la ligue, créer des templates de tournois récurrents. Ne peut pas céder l'ownership de la ligue.

  4. 4

    League Owner (rôle de ligue)

    Le créateur de la ligue. Hérite des droits d'Admin Ligue + peut promouvoir/rétrograder les autres membres (Judge, Admin) + peut TRANSFÉRER la propriété à un autre membre actif (avec confirmation par retape exacte du nom de la ligue). L'ancien Owner devient alors Admin Ligue. Une ligue a toujours exactement un Owner.

  5. 5

    Head Judge (rôle GLOBAL)

    Rôle global attribué par un Admin platform depuis /admin/users. Peut juger TOUS les tournois (toutes ligues confondues + tournois hors-ligue) via la page /judge globale. N'a pas accès à /admin et ne peut pas administrer les ligues — juste juger.

  6. 6

    Admin platform (rôle GLOBAL)

    Accès complet : /admin pour gérer les utilisateurs (promote/demote tous rôles), les sets de cartes (sync TCGdex), les overrides Pokémon (sprites, slugs), les ligues. Peut administrer N'IMPORTE QUELLE ligue (override des permissions de ligue). À réserver à 1-2 personnes max pour la sécurité.

  7. 7

    Multi-rôles globaux

    Un utilisateur peut cumuler plusieurs rôles globaux (ex : Admin + Head Judge). Les rôles de ligue sont indépendants et s'appliquent par ligue (tu peux être Owner d'une ligue ET simple Joueur dans une autre).

Prêt à commencer ?

Parcours les tournois à venir ou crée ta première decklist en 1 min.

TCG Battle