mirror of
https://github.com/evroon/bracket.git
synced 2026-01-18 02:58:49 -05:00
139 lines
112 KiB
HTML
139 lines
112 KiB
HTML
<!DOCTYPE html><html lang="en" dir="ltr" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/ef867125344a7121.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b00e1efaf312b06b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ed7dade74268d0f8.js"/><script src="/_next/static/chunks/4bd1b696-bf1099f1f06de6aa.js" async=""></script><script src="/_next/static/chunks/684-4bea65f597621abc.js" async=""></script><script src="/_next/static/chunks/main-app-bf6d147ced20dd11.js" async=""></script><script src="/_next/static/chunks/c16f53c3-0f690431eda1568e.js" async=""></script><script src="/_next/static/chunks/992-da306a535e233aef.js" async=""></script><script src="/_next/static/chunks/863-65b7ef461725c1d4.js" async=""></script><script src="/_next/static/chunks/473-b44808edc5e5750f.js" async=""></script><script src="/_next/static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js" async=""></script><script src="/_next/static/chunks/188-9b5a23d4a5b2a9bf.js" async=""></script><script src="/_next/static/chunks/app/layout-8d9f5321477f1b35.js" async=""></script><script async="" src="https://analytics.bracketapp.nl/script.js" data-website-id="9c5b1839-5cbd-4d04-b95b-a217838898a9" data-domains="docs.bracketapp.nl"></script><link rel="icon" href="/favicon.svg"/><meta name="theme-color" media="(prefers-color-scheme: light)" content="rgb(250,250,250)"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="rgb(17,17,17)"/><title>Usage guide</title><style>:root {
|
||
--nextra-primary-hue: 212deg;
|
||
--nextra-primary-saturation: 100%;
|
||
--nextra-primary-lightness: 45%;
|
||
--nextra-bg: 250,250,250;
|
||
--nextra-content-width: 90rem;
|
||
}
|
||
.dark {
|
||
--nextra-primary-hue: 204deg;
|
||
--nextra-primary-saturation: 100%;
|
||
--nextra-primary-lightness: 55%;
|
||
--nextra-bg: 17,17,17;
|
||
}
|
||
::selection {
|
||
background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);
|
||
}
|
||
html {
|
||
background: rgb(var(--nextra-bg));
|
||
}</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><script>((e,t,r,n,o,a,i,s)=>{let l=document.documentElement,u=["light","dark"];function c(t){var r;(Array.isArray(e)?e:[e]).forEach(e=>{let r="class"===e,n=r&&a?o.map(e=>a[e]||e):o;r?(l.classList.remove(...n),l.classList.add(t)):l.setAttribute(e,t)}),r=t,s&&u.includes(r)&&(l.style.colorScheme=r)}if(n)c(n);else try{let e=localStorage.getItem(t)||r,n=i&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;c(n)}catch(e){}})("class","theme","system",null,["light","dark"],null,true,true)</script><a href="#nextra-skip-nav" class="nextra-skip-nav x:sr-only" type="button" data-headlessui-state="">Skip to Content</a><header class="nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)"><div class="nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"></div><nav style="height:var(--nextra-navbar-height)" class="x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end"><a class="x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75" href="/"><img alt="Preview of Bracket" loading="lazy" width="36" height="36" decoding="async" data-nimg="1" class="mr-2" style="color:transparent" src="/_next/static/media/logo.a521d262.svg"/><b class="text-3xl">Bracket</b></a><div class="x:flex x:gap-4 x:overflow-x-auto nextra-scrollbar x:py-1.5 x:max-md:hidden"></div><div class="x:max-md:hidden"><div class="nextra-search x:relative x:flex x:items-center x:text-gray-900 x:dark:text-gray-300 x:contrast-more:text-gray-800 x:contrast-more:dark:text-gray-300"><input spellCheck="false" class="x:rounded-lg x:px-3 x:py-2 x:transition-colors x:w-full x:md:w-64 x:text-base x:leading-tight x:md:text-sm x:bg-black/[.05] x:dark:bg-gray-50/10 x:placeholder:text-gray-500 x:dark:placeholder:text-gray-400 x:contrast-more:border x:contrast-more:border-current x:[&::-webkit-search-cancel-button]:appearance-none" autoComplete="off" placeholder="Search documentation…" id="headlessui-combobox-input-«R5ml7lb»" role="combobox" type="search" aria-expanded="false" aria-autocomplete="list" data-headlessui-state="" value=""/></div></div><a href="https://github.com/evroon/bracket" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus"><svg fill="currentColor" viewBox="3 3 18 18" height="24"><path d="M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z"></path></svg></a><button class="x:transition x:cursor-pointer nextra-hamburger x:md:hidden" aria-label="Menu" type="button" data-headlessui-state=""><svg viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" stroke-linecap="round" height="24" class=""><g><path d="M4 6h16"></path></g><path d="M4 12h16"></path><g><path d="M4 18h16"></path></g></svg></button></nav></header><aside class="nextra-mobile-nav x:flex x:flex-col x:fixed x:inset-0 x:pt-(--nextra-navbar-height) x:z-20 x:overscroll-contain x:[contain:layout_style] x:md:hidden x:[.nextra-banner:not([class$=hidden])~&]:pt-[calc(var(--nextra-banner-height)+var(--nextra-navbar-height))] x:bg-nextra-bg x:[transform:translate3d(0,-100%,0)]"><div class="x:px-4 x:pt-4"><div class="nextra-search x:relative x:flex x:items-center x:text-gray-900 x:dark:text-gray-300 x:contrast-more:text-gray-800 x:contrast-more:dark:text-gray-300"><input spellCheck="false" class="x:rounded-lg x:px-3 x:py-2 x:transition-colors x:w-full x:md:w-64 x:text-base x:leading-tight x:md:text-sm x:bg-black/[.05] x:dark:bg-gray-50/10 x:placeholder:text-gray-500 x:dark:placeholder:text-gray-400 x:contrast-more:border x:contrast-more:border-current x:[&::-webkit-search-cancel-button]:appearance-none" autoComplete="off" placeholder="Search documentation…" id="headlessui-combobox-input-«Rmqrlb»" role="combobox" type="search" aria-expanded="false" aria-autocomplete="list" data-headlessui-state="" value=""/></div></div><ul class="x:grid x:gap-1 x:p-4 x:overflow-y-auto nextra-scrollbar nextra-mask"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/">Bracket | Open-source tournament system</a></li><li class="open"><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/docs" type="button" data-headlessui-state="">Docs<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:*:transition-none x:*:origin-center x:*:transition-transform x:*:rtl:-rotate-180 x:*:ltr:rotate-90 x:*:rtl:-rotate-270"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-100" style="transition-duration:500ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs">Introduction</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/api">API</a></li><li class=""><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/docs/community" type="button" data-headlessui-state="">Community<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:*:transition-none x:*:origin-center x:*:transition-transform x:*:rtl:-rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-0 x:overflow-hidden" style="height:0;transition-duration:300ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/community/contributing">Contributing</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/community/development">Development</a></li></ul></div></li><li class=""><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/docs/deployment" type="button" data-headlessui-state="">Deployment<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:*:transition-none x:*:origin-center x:*:transition-transform x:*:rtl:-rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-0 x:overflow-hidden" style="height:0;transition-duration:300ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/deployment">Deployment</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/deployment/cloud-services">Cloud services</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/deployment/docker">Docker</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/deployment/nomad">Nomad</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/deployment/systemd">Systemd</a></li></ul></div></li><li class=""><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/docs/running-bracket" type="button" data-headlessui-state="">Running Bracket<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:*:transition-none x:*:origin-center x:*:transition-transform x:*:rtl:-rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-0 x:overflow-hidden" style="height:0;transition-duration:300ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/running-bracket/configuration">Configuration</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/running-bracket/faq">FAQ</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/running-bracket/quickstart">Quickstart</a></li></ul></div></li><li class="open"><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/docs/usage" type="button" data-headlessui-state="">Usage<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:*:transition-none x:*:origin-center x:*:transition-transform x:*:rtl:-rotate-180 x:*:ltr:rotate-90 x:*:rtl:-rotate-270"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-100" style="transition-duration:500ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class="active"><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:bg-primary-100 x:font-semibold x:text-primary-800 x:dark:bg-primary-400/10 x:dark:text-primary-600 x:contrast-more:border-primary-500!" href="/docs/usage/guide">Usage guide</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/usage/terminology">Terminology</a></li></ul></div></li></ul></div></li></ul><div class="nextra-sidebar-footer x:border-t nextra-border x:flex x:items-center x:gap-2 x:py-4 x:mx-4 x:mt-auto"><button title="Change theme" class="x:cursor-pointer x:h-7 x:rounded-md x:px-2 x:text-xs x:font-medium x:transition-colors x:text-gray-600 x:dark:text-gray-400 x:flex x:items-center x:gap-2 x:grow" id="headlessui-listbox-button-«Rrerlb»" type="button" aria-haspopup="listbox" aria-expanded="false" data-headlessui-state=""><svg fill="currentColor" viewBox="2 2 20 20" stroke="currentColor" height="12"><path stroke-linecap="round" stroke-width="2" d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"></path></svg>Light</button></div></aside><div class="x:mx-auto x:flex x:max-w-(--nextra-content-width)"><aside id="«Rjrnblb»" class="nextra-sidebar x:print:hidden x:transition-all x:ease-in-out x:max-md:hidden x:flex x:flex-col x:h-[calc(100dvh-var(--nextra-menu-height))] x:top-(--nextra-navbar-height) x:shrink-0 x:w-64 x:sticky"><div class="x:p-4 x:overflow-y-auto nextra-scrollbar nextra-mask x:grow"><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-100" style="transition-duration:500ms"><ul class="x:grid x:gap-1"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/">Bracket | Open-source tournament system</a></li><li class="open"><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/docs" type="button" data-headlessui-state="">Docs<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:*:transition-none x:*:origin-center x:*:transition-transform x:*:rtl:-rotate-180 x:*:ltr:rotate-90 x:*:rtl:-rotate-270"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-100" style="transition-duration:500ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs">Introduction</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/api">API</a></li><li class=""><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/docs/community" type="button" data-headlessui-state="">Community<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:*:transition-none x:*:origin-center x:*:transition-transform x:*:rtl:-rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-0 x:overflow-hidden" style="height:0;transition-duration:300ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/community/contributing">Contributing</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/community/development">Development</a></li></ul></div></li><li class=""><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/docs/deployment" type="button" data-headlessui-state="">Deployment<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:*:transition-none x:*:origin-center x:*:transition-transform x:*:rtl:-rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-0 x:overflow-hidden" style="height:0;transition-duration:300ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/deployment">Deployment</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/deployment/cloud-services">Cloud services</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/deployment/docker">Docker</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/deployment/nomad">Nomad</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/deployment/systemd">Systemd</a></li></ul></div></li><li class=""><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/docs/running-bracket" type="button" data-headlessui-state="">Running Bracket<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:*:transition-none x:*:origin-center x:*:transition-transform x:*:rtl:-rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-0 x:overflow-hidden" style="height:0;transition-duration:300ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/running-bracket/configuration">Configuration</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/running-bracket/faq">FAQ</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/running-bracket/quickstart">Quickstart</a></li></ul></div></li><li class="open"><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/docs/usage" type="button" data-headlessui-state="">Usage<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:*:transition-none x:*:origin-center x:*:transition-transform x:*:rtl:-rotate-180 x:*:ltr:rotate-90 x:*:rtl:-rotate-270"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-100" style="transition-duration:500ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[""] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class="active"><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:bg-primary-100 x:font-semibold x:text-primary-800 x:dark:bg-primary-400/10 x:dark:text-primary-600 x:contrast-more:border-primary-500!" href="/docs/usage/guide">Usage guide</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/usage/terminology">Terminology</a></li></ul></div></li></ul></div></li></ul></div></div><div class="x:sticky x:bottom-0 x:bg-nextra-bg nextra-sidebar-footer x:border-t nextra-border x:flex x:items-center x:gap-2 x:py-4 x:mx-4"><button title="Change theme" class="x:cursor-pointer x:h-7 x:rounded-md x:px-2 x:text-xs x:font-medium x:transition-colors x:text-gray-600 x:dark:text-gray-400 x:flex x:items-center x:gap-2 x:grow" id="headlessui-listbox-button-«R6tajrnblb»" type="button" aria-haspopup="listbox" aria-expanded="false" data-headlessui-state=""><svg fill="currentColor" viewBox="2 2 20 20" stroke="currentColor" height="12"><path stroke-linecap="round" stroke-width="2" d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"></path></svg>Light</button><button class="x:transition x:cursor-pointer x:rounded-md x:p-2 x:text-gray-600 x:dark:text-gray-400" aria-expanded="true" aria-controls="«Rjrnblb»" title="Collapse sidebar" type="button" data-headlessui-state=""><svg viewBox="0 0 16 16" fill="currentColor" height="12" class=""><path d="M4.177 7.823l2.396-2.396A.25.25 0 017 5.604v4.792a.25.25 0 01-.427.177L4.177 8.177a.25.25 0 010-.354z"></path><path fill-rule="evenodd" d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zm1.75-.25a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25H9.5v-13H1.75zm12.5 13H11v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25z"></path></svg></button></div></aside><nav class="nextra-toc x:order-last x:max-xl:hidden x:w-64 x:shrink-0 x:print:hidden" aria-label="table of contents"><div class="x:grid x:grid-rows-[min-content_1fr_min-content] x:sticky x:top-(--nextra-navbar-height) x:text-sm x:max-h-[calc(100vh-var(--nextra-navbar-height))]"><p class="x:pt-6 x:px-4 x:font-semibold x:tracking-tight">On This Page</p><ul class="x:p-4 nextra-scrollbar x:overscroll-y-contain x:overflow-y-auto x:hyphens-auto nextra-mask"><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#1-create-a-new-tournament" class="x:focus-visible:nextra-focus x:font-semibold x:block x:transition-colors x:subpixel-antialiased x:text-gray-500 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">1. Create a New Tournament</a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#2-register-teams-and-players" class="x:focus-visible:nextra-focus x:font-semibold x:block x:transition-colors x:subpixel-antialiased x:text-gray-500 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">2. Register Teams and Players</a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#adding-players" class="x:focus-visible:nextra-focus x:ms-3 x:block x:transition-colors x:subpixel-antialiased x:text-gray-500 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">Adding Players</a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#adding-teams" class="x:focus-visible:nextra-focus x:ms-3 x:block x:transition-colors x:subpixel-antialiased x:text-gray-500 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">Adding Teams</a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#3-create-your-tournament-structure" class="x:focus-visible:nextra-focus x:font-semibold x:block x:transition-colors x:subpixel-antialiased x:text-gray-500 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">3. Create Your Tournament Structure</a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#5-add-courts-and-schedule-matches" class="x:focus-visible:nextra-focus x:font-semibold x:block x:transition-colors x:subpixel-antialiased x:text-gray-500 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">5. Add Courts and Schedule Matches</a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#create-courts" class="x:focus-visible:nextra-focus x:ms-3 x:block x:transition-colors x:subpixel-antialiased x:text-gray-500 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">Create courts</a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#schedule-matches" class="x:focus-visible:nextra-focus x:ms-3 x:block x:transition-colors x:subpixel-antialiased x:text-gray-500 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">Schedule matches</a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#6-define-rules-and-scoring" class="x:focus-visible:nextra-focus x:font-semibold x:block x:transition-colors x:subpixel-antialiased x:text-gray-500 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">6. Define Rules and Scoring</a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#7-launch-the-tournament" class="x:focus-visible:nextra-focus x:font-semibold x:block x:transition-colors x:subpixel-antialiased x:text-gray-500 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">7. Launch the Tournament</a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#8-start-and-track-matches" class="x:focus-visible:nextra-focus x:font-semibold x:block x:transition-colors x:subpixel-antialiased x:text-gray-500 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">8. Start and Track Matches</a></li><li class="x:my-2 x:scroll-my-6 x:scroll-py-6"><a href="#9-finalize-the-tournament" class="x:focus-visible:nextra-focus x:font-semibold x:block x:transition-colors x:subpixel-antialiased x:text-gray-500 x:hover:text-gray-900 x:dark:text-gray-400 x:dark:hover:text-gray-300 x:contrast-more:text-gray-900 x:contrast-more:underline x:contrast-more:dark:text-gray-50 x:break-words">9. Finalize the Tournament</a></li></ul><div class="x:grid x:gap-2 x:py-4 x:mx-4 x:border-t nextra-border"><a href="https://github.com/evroon/bracket/issues/new?title=Feedback%20for%20%E2%80%9CUsage%20guide%E2%80%9D&labels=feedback" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus x:text-xs x:font-medium x:transition x:text-gray-600 x:dark:text-gray-400 x:hover:text-gray-800 x:dark:hover:text-gray-200 x:contrast-more:text-gray-700 x:contrast-more:dark:text-gray-100">Question? Give us feedback<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a><a href="https://github.com/evroon/bracket/tree/master/docs/content/usage/guide.mdx" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus x:text-xs x:font-medium x:transition x:text-gray-600 x:dark:text-gray-400 x:hover:text-gray-800 x:dark:hover:text-gray-200 x:contrast-more:text-gray-700 x:contrast-more:dark:text-gray-100">Edit this page<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a><button class="x:transition x:cursor-pointer x:flex x:items-center x:gap-1.5 x:whitespace-nowrap x:opacity-0 x:text-xs x:font-medium x:transition x:text-gray-600 x:dark:text-gray-400 x:hover:text-gray-800 x:dark:hover:text-gray-200 x:contrast-more:text-gray-700 x:contrast-more:dark:text-gray-100" aria-hidden="true" type="button" disabled="" data-headlessui-state="disabled" data-disabled="">Scroll to top<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="1.1em" class="x:-rotate-90 x:border x:rounded-full x:border-current"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div></div></nav><article class="x:w-full x:min-w-0 x:break-words x:min-h-[calc(100vh-var(--nextra-navbar-height))] x:text-slate-700 x:dark:text-slate-200 x:pb-8 x:px-4 x:pt-4 x:md:px-12"><div class="nextra-breadcrumb x:mt-1.5 x:flex x:items-center x:gap-1 x:overflow-hidden x:text-sm x:text-gray-500 x:dark:text-gray-400 x:contrast-more:text-current"><a class="x:whitespace-nowrap x:transition-colors x:min-w-6 x:overflow-hidden x:text-ellipsis x:focus-visible:nextra-focus x:ring-inset x:hover:text-gray-900 x:dark:hover:text-gray-100" title="Docs" href="/docs">Docs</a><svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="14" class="x:shrink-0 x:rtl:rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="x:whitespace-nowrap x:transition-colors x:min-w-6 x:overflow-hidden x:text-ellipsis" title="Usage">Usage</span><svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="14" class="x:shrink-0 x:rtl:rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="x:whitespace-nowrap x:transition-colors x:font-medium x:text-gray-700 x:dark:text-gray-100" title="Usage guide">Usage guide</span></div><div id="nextra-skip-nav"></div><main data-pagefind-body="true"><h1 class="x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl">Usage guide</h1>
|
||
<p class="x:not-first:mt-6 x:leading-7">Setting up a tournament in a tournament management system like Bracket typically involves several
|
||
key steps. Below is a general guide on how to set up a tournament step-by-step.</p>
|
||
<div class="nextra-callout x:overflow-x-auto x:mt-6 x:flex x:rounded-lg x:border x:py-2 x:pe-4 x:contrast-more:border-current! x:border-blue-200 x:bg-blue-100 x:text-blue-900 x:dark:border-blue-200/30 x:dark:bg-blue-900/30 x:dark:text-blue-200"><div class="x:select-none x:text-xl x:ps-3 x:pe-2" style="font-family:"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"" data-pagefind-ignore="all"><svg viewBox="0 0 20 20" fill="currentColor" height="20" class="x:mt-1"><path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"></path></svg></div><div class="x:w-full x:min-w-0 x:leading-7"><p class="x:not-first:mt-6 x:leading-7">This guide assumes you are logged in to Bracket. This guide also assumes you use the demo of Bracket
|
||
(<code class="nextra-code" dir="ltr">https://www.bracketapp.nl</code>). If you are selfhosting Bracket, just use your own domain instead.</p></div></div>
|
||
<h2 id="1-create-a-new-tournament" class="x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border">1. Create a New Tournament<a href="#1-create-a-new-tournament" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h2>
|
||
<p class="x:not-first:mt-6 x:leading-7">From the homepage (e.g. <code class="nextra-code" dir="ltr">https://www.bracketapp.nl</code>), press the <code class="nextra-code" dir="ltr">Create Tournament</code> button.
|
||
Enter the tournament’s metadata:</p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6">
|
||
<li class="x:my-2"><strong>Tournament Name:</strong> Choose a clear, descriptive name.</li>
|
||
<li class="x:my-2"><strong>Club</strong> Select the club you want this tournament to be part of. A club is nothing more than a
|
||
collection of tournaments that a user has access to. A default club was created when you created
|
||
your account. If you want to link this tournament to a new club, go to the <code class="nextra-code" dir="ltr">/clubs</code> page.</li>
|
||
<li class="x:my-2"><strong>Dashboard Link:</strong> The suffix of the URL (slug) where your tournament will be presented to the
|
||
public. For example, if you enter <code class="nextra-code" dir="ltr">my_tournament</code>, the outside world will be able to view the
|
||
rankings and matches at <code class="nextra-code" dir="ltr">https://www.bracketapp.nl/tournaments/my_tournament/dashboard</code>.</li>
|
||
<li class="x:my-2"><strong>Start Time:</strong> The start time of the tournament decides when the first match will be played.</li>
|
||
<li class="x:my-2"><strong>Match Duration:</strong> Default duration of matches. Can be customized per match.</li>
|
||
<li class="x:my-2"><strong>Time Between Matches:</strong> Default time between matches, useful when teams have to move between
|
||
courts between matches which takes some time. Can be customized per match.</li>
|
||
<li class="x:my-2"><strong>Allow anyone to see the dashboard of rounds and matches:</strong> Whether the dashboard is publicly
|
||
accessible</li>
|
||
<li class="x:my-2"><strong>Allow players to be in multiple teams</strong>: Usually players are only part of one team and Bracket
|
||
will not allow you to add players to be in multiple teams because that’s usually not what you
|
||
want. This option overrides that behavior and does allow one player to be in multiple teams.</li>
|
||
<li class="x:my-2"><strong>Automatically assign courts to matches</strong>: Whether you want to manually assign courts to matches
|
||
or not.</li>
|
||
</ul>
|
||
<p class="x:not-first:mt-6 x:leading-7">Press <code class="nextra-code" dir="ltr">Save</code> when you’re finished. These settings can all be changed later.</p>
|
||
<p class="x:not-first:mt-6 x:leading-7">Now you should have been able to create a tournament and you’re on the page of the tournament. In
|
||
the sidebar (menu on the left on desktop or at the top on mobile), you can navigate to different
|
||
pages responsible for different aspects of the tournament (courts, teams etc.).</p>
|
||
<h2 id="2-register-teams-and-players" class="x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border">2. Register Teams and Players<a href="#2-register-teams-and-players" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h2>
|
||
<p class="x:not-first:mt-6 x:leading-7">You need to add the teams (and optionally players) who will participate in the tournament.</p>
|
||
<div class="nextra-callout x:overflow-x-auto x:mt-6 x:flex x:rounded-lg x:border x:py-2 x:pe-4 x:contrast-more:border-current! x:border-blue-200 x:bg-blue-100 x:text-blue-900 x:dark:border-blue-200/30 x:dark:bg-blue-900/30 x:dark:text-blue-200"><div class="x:select-none x:text-xl x:ps-3 x:pe-2" style="font-family:"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"" data-pagefind-ignore="all"><svg viewBox="0 0 20 20" fill="currentColor" height="20" class="x:mt-1"><path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"></path></svg></div><div class="x:w-full x:min-w-0 x:leading-7"><p class="x:not-first:mt-6 x:leading-7">Adding players is optional and for display purposes only.</p><p class="x:not-first:mt-6 x:leading-7">Players are part of teams and therefore it can be useful to add players in the system to know which
|
||
player plays in which team. In case you are organising a tournament where every person plays for
|
||
themselves, create teams with the names of these persons and don’t add any players to those teams.</p></div></div>
|
||
<h3 id="adding-players" class="x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl">Adding Players<a href="#adding-players" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h3>
|
||
<p class="x:not-first:mt-6 x:leading-7">To add players, go to the <code class="nextra-code" dir="ltr">Players</code> page by clicking on the icon in the sidebar. Press the
|
||
<code class="nextra-code" dir="ltr">Add Player</code> button. You can either create a single player or multiple players at once. To create
|
||
multiple players at once, put every player on a separate line, like this:</p>
|
||
<div data-pagefind-ignore="all" class="nextra-code x:relative x:not-first:mt-6"><pre class="x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose" tabindex="0"><div class="x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2"><button class="x:transition x:cursor-pointer x:border x:border-gray-300 x:dark:border-neutral-700 x:contrast-more:border-gray-900 x:contrast-more:dark:border-gray-50 x:rounded-md x:p-1.5 x:md:hidden" title="Toggle word wrap" type="button" data-headlessui-state=""><svg viewBox="0 0 24 24" fill="currentColor" height="1em"><path d="M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"></path></svg></button></div><code class="nextra-code" dir="ltr"><span><span>Alex</span></span>
|
||
<span><span>Bob</span></span>
|
||
<span><span>Charlie</span></span></code></pre></div>
|
||
<h3 id="adding-teams" class="x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl">Adding Teams<a href="#adding-teams" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h3>
|
||
<p class="x:not-first:mt-6 x:leading-7">Adding teams works basically the same, go to the <code class="nextra-code" dir="ltr">Teams</code> page by clicking on the icon in the
|
||
sidebar. Press the <code class="nextra-code" dir="ltr">Add Team</code> button.</p>
|
||
<p class="x:not-first:mt-6 x:leading-7">You can either create a single team or multiple teams at once. To create a single team, enter the
|
||
name. You can specify whether this team is active or not (this only matters for Swiss stage items
|
||
and determines whether the team will be able to be scheduled in the next Swiss round or not).</p>
|
||
<h2 id="3-create-your-tournament-structure" class="x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border">3. Create Your Tournament Structure<a href="#3-create-your-tournament-structure" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h2>
|
||
<p class="x:not-first:mt-6 x:leading-7">Now, decide on the format of your tournament. Bracket currently supports:</p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6">
|
||
<li class="x:my-2"><strong>Single Elimination:</strong> Teams compete in matches, and the loser is eliminated after each round.</li>
|
||
<li class="x:my-2"><strong>Round Robin:</strong> Every team plays against every other team exactly once.</li>
|
||
<li class="x:my-2"><strong>Swiss:</strong> Teams play a set number of rounds, and the number of rounds is based on the number of
|
||
teams. This is a more advanced type of tournament, because the matches (who plays vs who) are not
|
||
known at the start of the tournament, but created dynamically during the tournament based on the
|
||
outcome of the previous rounds.</li>
|
||
</ul>
|
||
<p class="x:not-first:mt-6 x:leading-7">To create the tournament structure, go to the <code class="nextra-code" dir="ltr">Stages</code> page. Every stage consists of stage items.</p>
|
||
<p class="x:not-first:mt-6 x:leading-7">A common tournament consists of a group stage which contains multiple round-robing stage items (
|
||
called pools), followed by a knock-out stage that consists of one or more single elimination stage
|
||
items. This requires the following steps:</p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6">
|
||
<li class="x:my-2">Create the <code class="nextra-code" dir="ltr">Add Stage</code> button twice to create two stages</li>
|
||
<li class="x:my-2">In the first stage, create two stage items and select the <code class="nextra-code" dir="ltr">Round Robin</code> type with half of the
|
||
teams in your tournament each.</li>
|
||
<li class="x:my-2">In the second stage, create one stage item and select the <code class="nextra-code" dir="ltr">Single Elimination</code> type with 2 teams
|
||
advancing from the previous stage.</li>
|
||
<li class="x:my-2">Assign all teams randomly to the round robin stage items in the first stage by clicking on the
|
||
empty slots.</li>
|
||
<li class="x:my-2">Assign <code class="nextra-code" dir="ltr">1st of Round Robin</code> and <code class="nextra-code" dir="ltr">2nd of Round Robin</code> to the slots of the single elimination
|
||
stage item.</li>
|
||
</ul>
|
||
<h2 id="5-add-courts-and-schedule-matches" class="x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border">5. Add Courts and Schedule Matches<a href="#5-add-courts-and-schedule-matches" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h2>
|
||
<p class="x:not-first:mt-6 x:leading-7">To schedule the matches (assign the start time and courts), go to the <code class="nextra-code" dir="ltr">Planning</code> page.</p>
|
||
<h3 id="create-courts" class="x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl">Create courts<a href="#create-courts" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h3>
|
||
<p class="x:not-first:mt-6 x:leading-7">Add all the courts of your tournament before scheduling matches. You just need to provide a name.</p>
|
||
<h3 id="schedule-matches" class="x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl">Schedule matches<a href="#schedule-matches" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h3>
|
||
<p class="x:not-first:mt-6 x:leading-7">Press the <code class="nextra-code" dir="ltr">Schedule All Unscheduled Matches</code> button. This will automatically assign courts and start
|
||
times to all matches from the stage items you defined in the previous section.</p>
|
||
<p class="x:not-first:mt-6 x:leading-7">Make sure that:</p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6">
|
||
<li class="x:my-2">There are no conflicting matches (matches where the same team plays on multiple courts at the same
|
||
time)</li>
|
||
<li class="x:my-2">The planning is efficient by distributing the matches over all courts evenly.</li>
|
||
<li class="x:my-2">The matches are scheduled in order of stage. E.g. group stage matches should be before the
|
||
knock-off
|
||
matches since the knock-offs depend on the results of the group stage.</li>
|
||
</ul>
|
||
<h2 id="6-define-rules-and-scoring" class="x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border">6. Define Rules and Scoring<a href="#6-define-rules-and-scoring" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h2>
|
||
<p class="x:not-first:mt-6 x:leading-7">In the <code class="nextra-code" dir="ltr">Ranking</code> page, you can customize the ranking or create more rankings that can be assigned
|
||
to individual matches. The ranking determines the final standing of each stage item. You can define
|
||
the points for a win, draw or loss. <code class="nextra-code" dir="ltr">Award points for match score</code> adds the score of each team to
|
||
their standing (e.g. if the result of a match was 21-5, team 1 receives 21 points and team 2
|
||
receives 5 points).</p>
|
||
<h2 id="7-launch-the-tournament" class="x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border">7. Launch the Tournament<a href="#7-launch-the-tournament" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h2>
|
||
<p class="x:not-first:mt-6 x:leading-7">Once all the teams are added and the bracket is set, you can launch the tournament. There is nothing
|
||
you need to do in Bracket, everything should be set up by now.</p>
|
||
<p class="x:not-first:mt-6 x:leading-7">Ensure that:</p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6">
|
||
<li class="x:my-2"><strong>Dashboard:</strong> Enable the public dashboard so participants and spectators can view the matches and
|
||
results live.</li>
|
||
</ul>
|
||
<h2 id="8-start-and-track-matches" class="x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border">8. Start and Track Matches<a href="#8-start-and-track-matches" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h2>
|
||
<p class="x:not-first:mt-6 x:leading-7">As the tournament progresses:</p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6">
|
||
<li class="x:my-2"><strong>Track Scores:</strong> After each match, you’ll need to input scores or results. You can do this in
|
||
the <code class="nextra-code" dir="ltr">Results</code> page</li>
|
||
<li class="x:my-2"><strong>Next Stage:</strong> At the end of each stage (once all matches in the stage items have been played),
|
||
press the <code class="nextra-code" dir="ltr">Next Stage</code> button. This will show which teams will be assigned to the stage items of
|
||
the next stage.</li>
|
||
<li class="x:my-2"><strong>Communicate with Players:</strong> Keep participants informed about upcoming matches, any delays, and
|
||
results.</li>
|
||
</ul>
|
||
<h2 id="9-finalize-the-tournament" class="x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border">9. Finalize the Tournament<a href="#9-finalize-the-tournament" class="x:focus-visible:nextra-focus subheading-anchor" aria-label="Permalink for this section"></a></h2>
|
||
<p class="x:not-first:mt-6 x:leading-7">At the end of the tournament:</p>
|
||
<ul class="x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6">
|
||
<li class="x:my-2"><strong>Announce Winners:</strong> View the standings page on the dashboard to see who the winners are</li>
|
||
</ul></main><div class="x:mt-12 x:mb-8 x:text-xs x:text-gray-500 x:text-end x:dark:text-gray-400">Last updated on<!-- --> <time dateTime="2025-05-30T21:43:03.000Z">May 30, 2025</time></div><div class="x:mb-8 x:flex x:items-center x:border-t x:pt-8 nextra-border x:print:hidden"><a title="Quickstart" class="x:focus-visible:nextra-focus x:text-gray-600 x:dark:text-gray-400 x:hover:text-gray-800 x:dark:hover:text-gray-200 x:contrast-more:text-gray-700 x:contrast-more:dark:text-gray-100 x:flex x:max-w-[50%] x:items-center x:gap-1 x:py-4 x:text-base x:font-medium x:transition-colors x:[word-break:break-word] x:md:text-lg x:pe-4" href="/docs/running-bracket/quickstart"><svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="20" class="x:inline x:shrink-0 x:ltr:rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg>Quickstart</a><a title="Terminology" class="x:focus-visible:nextra-focus x:text-gray-600 x:dark:text-gray-400 x:hover:text-gray-800 x:dark:hover:text-gray-200 x:contrast-more:text-gray-700 x:contrast-more:dark:text-gray-100 x:flex x:max-w-[50%] x:items-center x:gap-1 x:py-4 x:text-base x:font-medium x:transition-colors x:[word-break:break-word] x:md:text-lg x:ps-4 x:ms-auto x:text-end" href="/docs/usage/terminology">Terminology<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="20" class="x:inline x:shrink-0 x:rtl:rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></article></div><footer id="footer"><hr class="w-11/12 mx-auto"/><section class="container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8"><div class="col-span-full xl:col-span-2"><a class="font-bold text-xl flex" href="/"><img alt="Logo of Bracket" loading="lazy" width="36" height="36" decoding="async" data-nimg="1" class="mr-2" style="color:transparent" src="/_next/static/media/logo.a521d262.svg"/><b class="text-3xl">Bracket</b></a></div><div class="flex flex-col gap-2"><h3 class="font-bold text-lg">Intro</h3><div><a class="opacity-60 hover:opacity-100" href="/docs">Introduction</a></div><div><a class="opacity-60 hover:opacity-100" href="/docs/running-bracket/quickstart">Quickstart</a></div></div><div class="flex flex-col gap-2"><h3 class="font-bold text-lg">Running Bracket</h3><div><a class="opacity-60 hover:opacity-100" href="/docs/running-bracket/configuration">Configuration</a></div><div><a class="opacity-60 hover:opacity-100" href="/docs/deployment">Deployment</a></div></div><div class="flex flex-col gap-2"><h3 class="font-bold text-lg">About</h3><div><a class="opacity-60 hover:opacity-100" href="/docs/usage/guide">Usage</a></div><div><a class="opacity-60 hover:opacity-100" href="/docs/running-bracket/faq">FAQ</a></div><div><a class="opacity-60 hover:opacity-100" href="https://github.com/evroon/bracket/blob/master/LICENSE">License</a></div><div><a class="opacity-60 hover:opacity-100" href="https://github.com/evroon/bracket/releases">Releases</a></div></div><div class="flex flex-col gap-2"><h3 class="font-bold text-lg">Community</h3><div><a class="opacity-60 hover:opacity-100" href="https://github.com/evroon/bracket">GitHub</a></div><div><a class="opacity-60 hover:opacity-100" href="/docs/community/contributing">Contributing</a></div><div><a class="opacity-60 hover:opacity-100" href="/docs/community/development">Development</a></div></div></section><section class="container pb-14 text-center"><h3>Bracket - Open-source Tournament System.<br/>Licensed under AGPL-v3.0. Copyright © <!-- -->2025<!-- --> <!-- -->Bracket. Built with Nextra.</h3></section></footer><script src="/_next/static/chunks/webpack-ed7dade74268d0f8.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[7555,[],\"\"]\n4:I[1295,[],\"\"]\n6:I[9665,[],\"OutletBoundary\"]\n9:I[9665,[],\"ViewportBoundary\"]\nb:I[9665,[],\"MetadataBoundary\"]\nd:I[6614,[],\"\"]\n:HL[\"/_next/static/css/ef867125344a7121.css\",\"style\"]\n:HL[\"/_next/static/css/b00e1efaf312b06b.css\",\"style\"]\n0:{\"P\":null,\"b\":\"zjykv47ZpuS61enK0Cp0Z\",\"p\":\"\",\"c\":[\"\",\"docs\",\"usage\",\"guide\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"docs\",{\"children\":[[\"mdxPath\",\"usage/guide\",\"oc\"],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ef867125344a7121.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b00e1efaf312b06b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],\"$L2\"]}],{\"children\":[\"docs\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"mdxPath\",\"usage/guide\",\"oc\"],[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[\"$L5\",\"$undefined\",null,[\"$\",\"$L6\",null,{\"children\":[\"$L7\",\"$L8\",null]}]]}],{},null,false]},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$1\",\"hOGM1YEUmGN7meBEarvOV\",{\"children\":[[\"$\",\"$L9\",null,{\"children\":\"$La\"}],null]}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"e:I[5776,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"847\",\"static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js\"],\"ThemeConfigProvider\"]\nf:I[6666,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"847\",\"static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js\"],\"LastUpdated\"]\n10:I[145,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"188\",\"static/chunks/188-9b5a23d4a5b2a9bf.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"177\",\"static/chunks/app/layout-8d9f5321477f1b35.js\"],\"Search\"]\n11:I[1362,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"188\",\"static/chunks/188-9b5a23d4a5b2a9bf.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"177\",\"static/chunks/app/layout-8d9f5321477f1b35.js\"],\"ThemeProvider\"]\n12:I[6221,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"847\",\"static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js\"],\"SkipNavLink\"]\n13:I[8845,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"847\",\"static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js\"],\"ConfigProvider\"]\n14:I[6874,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"847\",\"static/chunks/app/docs/%5B"])</script><script>self.__next_f.push([1,"%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js\"],\"\"]\n15:I[3063,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"847\",\"static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js\"],\"Image\"]\n16:I[5109,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"847\",\"static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js\"],\"ClientNavbar\"]\n18:I[4502,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"847\",\"static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js\"],\"MobileNav\"]\n17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14."])</script><script>self.__next_f.push([1,"1611 21 12.2276C21 7.12937 16.9725 3 12 3Z"])</script><script>self.__next_f.push([1,"2:[\"$\",\"html\",null,{\"lang\":\"en\",\"dir\":\"ltr\",\"suppressHydrationWarning\":true,\"className\":\"dark\",\"children\":[[\"$\",\"head\",null,{\"children\":[[[\"$\",\"script\",null,{\"async\":true,\"src\":\"https://analytics.bracketapp.nl/script.js\",\"data-website-id\":\"9c5b1839-5cbd-4d04-b95b-a217838898a9\",\"data-domains\":\"docs.bracketapp.nl\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}]],[\"$\",\"style\",null,{\"children\":\":root {\\n --nextra-primary-hue: 212deg;\\n --nextra-primary-saturation: 100%;\\n --nextra-primary-lightness: 45%;\\n --nextra-bg: 250,250,250;\\n --nextra-content-width: 90rem;\\n}\\n.dark {\\n --nextra-primary-hue: 204deg;\\n --nextra-primary-saturation: 100%;\\n --nextra-primary-lightness: 55%;\\n --nextra-bg: 17,17,17;\\n}\\n::selection {\\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\\n}\\nhtml {\\n background: rgb(var(--nextra-bg));\\n}\"}],[\"$\",\"meta\",null,{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"rgb(250,250,250)\"}],[\"$\",\"meta\",null,{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"rgb(17,17,17)\"}],\"$undefined\"]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$Le\",null,{\"value\":{\"darkMode\":true,\"docsRepositoryBase\":\"https://github.com/evroon/bracket/tree/master/docs\",\"editLink\":\"Edit this page\",\"feedback\":{\"content\":\"Question? Give us feedback\",\"labels\":\"feedback\"},\"i18n\":[],\"lastUpdated\":[\"$\",\"$Lf\",null,{}],\"navigation\":{\"next\":true,\"prev\":true},\"search\":[\"$\",\"$L10\",null,{}],\"sidebar\":{\"defaultMenuCollapseLevel\":2,\"defaultOpen\":true,\"toggleButton\":true},\"themeSwitch\":{\"dark\":\"Dark\",\"light\":\"Light\",\"system\":\"System\"},\"toc\":{\"backToTop\":\"Scroll to top\",\"float\":true,\"title\":\"On This Page\"}},\"children\":[\"$\",\"$L11\",null,{\"attribute\":\"class\",\"disableTransitionOnChange\":true,\"children\":[[\"$\",\"$L12\",null,{}],\"$undefined\",[\"$\",\"$L13\",null,{\"pageMap\":[{\"name\":\"index\",\"route\":\"/\",\"frontMatter\":{\"title\":\"Bracket | Open-source tournament system\",\"description\":\"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.\",\"openGraph\":{\"title\":\"Bracket | Open-source tournament system\",\"description\":\"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.\",\"locale\":\"en_US\",\"url\":\"https://docs.bracketapp.nl\",\"siteName\":\"Bracket\",\"images\":[{\"url\":\"https://docs.bracketapp.nl/bracket-social-image.png\"}]}},\"title\":\"Bracket | Open-source tournament system\"},{\"name\":\"docs\",\"route\":\"/docs\",\"children\":[{\"name\":\"index\",\"route\":\"/docs\",\"frontMatter\":{\"title\":\"Introduction\",\"filePath\":\"content/index.mdx\",\"timestamp\":1748641383000},\"title\":\"Introduction\"},{\"name\":\"api\",\"route\":\"/docs/api\",\"frontMatter\":{\"title\":\"API\",\"filePath\":\"content/api.mdx\",\"timestamp\":1748641383000},\"title\":\"API\"},{\"name\":\"community\",\"route\":\"/docs/community\",\"children\":[{\"name\":\"contributing\",\"route\":\"/docs/community/contributing\",\"frontMatter\":{\"title\":\"Contributing\",\"filePath\":\"content/community/contributing.mdx\",\"timestamp\":1748641383000},\"title\":\"Contributing\"},{\"name\":\"development\",\"route\":\"/docs/community/development\",\"frontMatter\":{\"title\":\"Development\",\"filePath\":\"content/community/development.mdx\",\"timestamp\":1748641383000},\"title\":\"Development\"}],\"title\":\"Community\"},{\"name\":\"deployment\",\"route\":\"/docs/deployment\",\"children\":[{\"name\":\"index\",\"route\":\"/docs/deployment\",\"frontMatter\":{\"title\":\"Deployment\",\"filePath\":\"content/deployment/index.mdx\",\"timestamp\":1748641383000},\"title\":\"Deployment\"},{\"name\":\"cloud-services\",\"route\":\"/docs/deployment/cloud-services\",\"frontMatter\":{\"title\":\"Cloud services\",\"filePath\":\"content/deployment/cloud-services.mdx\",\"timestamp\":1748641383000},\"title\":\"Cloud services\"},{\"name\":\"docker\",\"route\":\"/docs/deployment/docker\",\"frontMatter\":{\"title\":\"Docker\",\"filePath\":\"content/deployment/docker.mdx\",\"timestamp\":1748641383000},\"title\":\"Docker\"},{\"name\":\"nomad\",\"route\":\"/docs/deployment/nomad\",\"frontMatter\":{\"title\":\"Nomad\",\"filePath\":\"content/deployment/nomad.mdx\",\"timestamp\":1748641383000},\"title\":\"Nomad\"},{\"name\":\"systemd\",\"route\":\"/docs/deployment/systemd\",\"frontMatter\":{\"title\":\"Systemd\",\"filePath\":\"content/deployment/systemd.mdx\",\"timestamp\":1748641383000},\"title\":\"Systemd\"}],\"title\":\"Deployment\"},{\"name\":\"running-bracket\",\"route\":\"/docs/running-bracket\",\"children\":[{\"name\":\"configuration\",\"route\":\"/docs/running-bracket/configuration\",\"frontMatter\":{\"title\":\"Configuration\",\"filePath\":\"content/running-bracket/configuration.mdx\",\"timestamp\":1748641383000},\"title\":\"Configuration\"},{\"name\":\"faq\",\"route\":\"/docs/running-bracket/faq\",\"frontMatter\":{\"title\":\"FAQ\",\"filePath\":\"content/running-bracket/faq.mdx\",\"timestamp\":1748641383000},\"title\":\"FAQ\"},{\"name\":\"quickstart\",\"route\":\"/docs/running-bracket/quickstart\",\"frontMatter\":{\"title\":\"Quickstart\",\"filePath\":\"content/running-bracket/quickstart.mdx\",\"timestamp\":1748641383000},\"title\":\"Quickstart\"}],\"title\":\"Running Bracket\"},{\"name\":\"usage\",\"route\":\"/docs/usage\",\"children\":[{\"name\":\"guide\",\"route\":\"/docs/usage/guide\",\"frontMatter\":{\"title\":\"Usage guide\",\"filePath\":\"content/usage/guide.mdx\",\"timestamp\":1748641383000},\"title\":\"Usage guide\"},{\"name\":\"terminology\",\"route\":\"/docs/usage/terminology\",\"frontMatter\":{\"title\":\"Terminology\",\"filePath\":\"content/usage/terminology.mdx\",\"timestamp\":1748641383000},\"title\":\"Terminology\"}],\"title\":\"Usage\"}],\"title\":\"Docs\"}],\"navbar\":[\"$\",\"header\",null,{\"className\":\"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~\u0026]:top-(--nextra-banner-height)\",\"children\":[[\"$\",\"div\",null,{\"className\":\"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70\"}],[\"$\",\"nav\",null,{\"style\":{\"height\":\"var(--nextra-navbar-height)\"},\"className\":\"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end\",\"children\":[[\"$\",\"$L14\",null,{\"href\":\"/\",\"className\":\"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75\",\"children\":[[\"$\",\"$L15\",null,{\"width\":36,\"height\":36,\"src\":\"/_next/static/media/logo.a521d262.svg\",\"className\":\"mr-2\",\"alt\":\"Preview of Bracket\"}],[\"$\",\"b\",null,{\"className\":\"text-3xl\",\"children\":\"Bracket\"}]]}],[\"$\",\"$L16\",null,{\"className\":\"\",\"children\":[[\"$\",\"a\",null,{\"href\":\"https://github.com/evroon/bracket\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"fill\":\"currentColor\",\"viewBox\":\"3 3 18 18\",\"height\":\"24\",\"children\":[\"$\",\"path\",null,{\"d\":\"$17\"}]}],false],\"className\":\"x:focus-visible:nextra-focus\"}],\"$undefined\",\"$undefined\"]}]]}]]}],\"footer\":[\"$\",\"footer\",null,{\"id\":\"footer\",\"children\":[[\"$\",\"hr\",null,{\"className\":\"w-11/12 mx-auto\"}],[\"$\",\"section\",null,{\"className\":\"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"col-span-full xl:col-span-2\",\"children\":[\"$\",\"$L14\",null,{\"href\":\"/\",\"className\":\"font-bold text-xl flex\",\"children\":[[\"$\",\"$L15\",null,{\"width\":36,\"height\":36,\"src\":\"/_next/static/media/logo.a521d262.svg\",\"className\":\"mr-2\",\"alt\":\"Logo of Bracket\"}],[\"$\",\"b\",null,{\"className\":\"text-3xl\",\"children\":\"Bracket\"}]]}]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-bold text-lg\",\"children\":\"Intro\"}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"/docs\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"Introduction\"}]}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"/docs/running-bracket/quickstart\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"Quickstart\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-bold text-lg\",\"children\":\"Running Bracket\"}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"/docs/running-bracket/configuration\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"Configuration\"}]}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"/docs/deployment\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"Deployment\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-bold text-lg\",\"children\":\"About\"}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"/docs/usage/guide\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"Usage\"}]}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"/docs/running-bracket/faq\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"FAQ\"}]}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"https://github.com/evroon/bracket/blob/master/LICENSE\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"License\"}]}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"https://github.com/evroon/bracket/releases\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"Releases\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-bold text-lg\",\"children\":\"Community\"}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"https://github.com/evroon/bracket\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"GitHub\"}]}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"/docs/community/contributing/\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"Contributing\"}]}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"/docs/community/development/\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"Development\"}]}]]}]]}],[\"$\",\"section\",null,{\"className\":\"container pb-14 text-center\",\"children\":[\"$\",\"h3\",null,{\"children\":[\"Bracket - Open-source Tournament System.\",[\"$\",\"br\",null,{}],\"Licensed under AGPL-v3.0. Copyright © \",2025,\" \",\"Bracket. Built with Nextra.\"]}]}]]}],\"children\":[[\"$\",\"$L18\",null,{}],[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"19:I[4502,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"847\",\"static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js\"],\"Sidebar\"]\n1a:I[2675,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"847\",\"static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js\"],\"ClientWrapper\"]\n1b:I[9443,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"847\",\"static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js\"],\"HeadingAnchor\"]\n1c:I[8033,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"847\",\"static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js\"],\"ToggleWordWrapButton\"]\n"])</script><script>self.__next_f.push([1,"5:[\"$\",\"div\",null,{\"className\":\"x:mx-auto x:flex x:max-w-(--nextra-content-width)\",\"children\":[[\"$\",\"$L19\",null,{\"toc\":[{\"value\":\"1. Create a New Tournament\",\"id\":\"1-create-a-new-tournament\",\"depth\":2},{\"value\":\"2. Register Teams and Players\",\"id\":\"2-register-teams-and-players\",\"depth\":2},{\"value\":\"Adding Players\",\"id\":\"adding-players\",\"depth\":3},{\"value\":\"Adding Teams\",\"id\":\"adding-teams\",\"depth\":3},{\"value\":\"3. Create Your Tournament Structure\",\"id\":\"3-create-your-tournament-structure\",\"depth\":2},{\"value\":\"5. Add Courts and Schedule Matches\",\"id\":\"5-add-courts-and-schedule-matches\",\"depth\":2},{\"value\":\"Create courts\",\"id\":\"create-courts\",\"depth\":3},{\"value\":\"Schedule matches\",\"id\":\"schedule-matches\",\"depth\":3},{\"value\":\"6. Define Rules and Scoring\",\"id\":\"6-define-rules-and-scoring\",\"depth\":2},{\"value\":\"7. Launch the Tournament\",\"id\":\"7-launch-the-tournament\",\"depth\":2},{\"value\":\"8. Start and Track Matches\",\"id\":\"8-start-and-track-matches\",\"depth\":2},{\"value\":\"9. Finalize the Tournament\",\"id\":\"9-finalize-the-tournament\",\"depth\":2}]}],[\"$\",\"$L1a\",null,{\"toc\":\"$5:props:children:0:props:toc\",\"metadata\":{\"title\":\"Usage guide\",\"filePath\":\"content/usage/guide.mdx\",\"timestamp\":1748641383000},\"bottomContent\":\"$undefined\",\"children\":[[\"$\",\"div\",null,{\"id\":\"nextra-skip-nav\"}],[\"$\",\"main\",null,{\"data-pagefind-body\":true,\"children\":[[\"$\",\"h1\",null,{\"id\":\"$undefined\",\"className\":\"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl\",\"children\":[\"Usage guide\",\"$undefined\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":\"Setting up a tournament in a tournament management system like Bracket typically involves several\\nkey steps. Below is a general guide on how to set up a tournament step-by-step.\"}],\"\\n\",[\"$\",\"div\",null,{\"className\":\"nextra-callout x:overflow-x-auto x:mt-6 x:flex x:rounded-lg x:border x:py-2 x:pe-4 x:contrast-more:border-current! x:border-blue-200 x:bg-blue-100 x:text-blue-900 x:dark:border-blue-200/30 x:dark:bg-blue-900/30 x:dark:text-blue-200\",\"children\":[[\"$\",\"div\",null,{\"className\":\"x:select-none x:text-xl x:ps-3 x:pe-2\",\"style\":{\"fontFamily\":\"\\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\"\"},\"data-pagefind-ignore\":\"all\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"height\":\"20\",\"className\":\"x:mt-1\",\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"d\":\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\"}]}]}],[\"$\",\"div\",null,{\"className\":\"x:w-full x:min-w-0 x:leading-7\",\"children\":[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":[\"This guide assumes you are logged in to Bracket. This guide also assumes you use the demo of Bracket\\n(\",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"https://www.bracketapp.nl\"}],\"). If you are selfhosting Bracket, just use your own domain instead.\"]}]}]]}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"1-create-a-new-tournament\",\"className\":\"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border\",\"children\":[\"1. Create a New Tournament\",[\"$\",\"$L1b\",null,{\"id\":\"1-create-a-new-tournament\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":[\"From the homepage (e.g. \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"https://www.bracketapp.nl\"}],\"), press the \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Create Tournament\"}],\" button.\\nEnter the tournament’s metadata:\"]}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]:my-3 x:not-first:mt-6 x:list-disc x:ms-6\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Tournament Name:\"}],\" Choose a clear, descriptive name.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Club\"}],\" Select the club you want this tournament to be part of. A club is nothing more than a\\ncollection of tournaments that a user has access to. A default club was created when you created\\nyour account. If you want to link this tournament to a new club, go to the \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"/clubs\"}],\" page.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Dashboard Link:\"}],\" The suffix of the URL (slug) where your tournament will be presented to the\\npublic. For example, if you enter \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"my_tournament\"}],\", the outside world will be able to view the\\nrankings and matches at \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"https://www.bracketapp.nl/tournaments/my_tournament/dashboard\"}],\".\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Start Time:\"}],\" The start time of the tournament decides when the first match will be played.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Match Duration:\"}],\" Default duration of matches. Can be customized per match.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Time Between Matches:\"}],\" Default time between matches, useful when teams have to move between\\ncourts between matches which takes some time. Can be customized per match.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Allow anyone to see the dashboard of rounds and matches:\"}],\" Whether the dashboard is publicly\\naccessible\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Allow players to be in multiple teams\"}],\": Usually players are only part of one team and Bracket\\nwill not allow you to add players to be in multiple teams because that’s usually not what you\\nwant. This option overrides that behavior and does allow one player to be in multiple teams.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Automatically assign courts to matches\"}],\": Whether you want to manually assign courts to matches\\nor not.\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":[\"Press \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Save\"}],\" when you’re finished. These settings can all be changed later.\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":\"Now you should have been able to create a tournament and you’re on the page of the tournament. In\\nthe sidebar (menu on the left on desktop or at the top on mobile), you can navigate to different\\npages responsible for different aspects of the tournament (courts, teams etc.).\"}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"2-register-teams-and-players\",\"className\":\"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border\",\"children\":[\"2. Register Teams and Players\",[\"$\",\"$L1b\",null,{\"id\":\"2-register-teams-and-players\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":\"You need to add the teams (and optionally players) who will participate in the tournament.\"}],\"\\n\",[\"$\",\"div\",null,{\"className\":\"nextra-callout x:overflow-x-auto x:mt-6 x:flex x:rounded-lg x:border x:py-2 x:pe-4 x:contrast-more:border-current! x:border-blue-200 x:bg-blue-100 x:text-blue-900 x:dark:border-blue-200/30 x:dark:bg-blue-900/30 x:dark:text-blue-200\",\"children\":[[\"$\",\"div\",null,{\"className\":\"x:select-none x:text-xl x:ps-3 x:pe-2\",\"style\":{\"fontFamily\":\"\\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\"\"},\"data-pagefind-ignore\":\"all\",\"children\":\"$5:props:children:1:props:children:1:props:children:4:props:children:0:props:children\"}],[\"$\",\"div\",null,{\"className\":\"x:w-full x:min-w-0 x:leading-7\",\"children\":[[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":\"Adding players is optional and for display purposes only.\"}],[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":\"Players are part of teams and therefore it can be useful to add players in the system to know which\\nplayer plays in which team. In case you are organising a tournament where every person plays for\\nthemselves, create teams with the names of these persons and don’t add any players to those teams.\"}]]}]]}],\"\\n\",[\"$\",\"h3\",null,{\"id\":\"adding-players\",\"className\":\"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl\",\"children\":[\"Adding Players\",[\"$\",\"$L1b\",null,{\"id\":\"adding-players\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":[\"To add players, go to the \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Players\"}],\" page by clicking on the icon in the sidebar. Press the\\n\",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Add Player\"}],\" button. You can either create a single player or multiple players at once. To create\\nmultiple players at once, put every player on a separate line, like this:\"]}],\"\\n\",[\"$\",\"div\",null,{\"data-pagefind-ignore\":\"all\",\"className\":\"nextra-code x:relative x:not-first:mt-6\",\"children\":[\"$undefined\",[\"$\",\"pre\",null,{\"className\":\"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose\",\"tabIndex\":\"0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2\",\"children\":[[\"$\",\"$L1c\",null,{\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"height\":\"1em\",\"children\":[\"$\",\"path\",null,{\"d\":\"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z\"}]}]}],false]}],[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":[[\"$\",\"span\",null,{\"children\":[\"$\",\"span\",null,{\"children\":\"Alex\"}]}],\"\\n\",[\"$\",\"span\",null,{\"children\":[\"$\",\"span\",null,{\"children\":\"Bob\"}]}],\"\\n\",[\"$\",\"span\",null,{\"children\":[\"$\",\"span\",null,{\"children\":\"Charlie\"}]}]]}]]}]]}],\"\\n\",[\"$\",\"h3\",null,{\"id\":\"adding-teams\",\"className\":\"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl\",\"children\":[\"Adding Teams\",[\"$\",\"$L1b\",null,{\"id\":\"adding-teams\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":[\"Adding teams works basically the same, go to the \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Teams\"}],\" page by clicking on the icon in the\\nsidebar. Press the \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Add Team\"}],\" button.\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":\"You can either create a single team or multiple teams at once. To create a single team, enter the\\nname. You can specify whether this team is active or not (this only matters for Swiss stage items\\nand determines whether the team will be able to be scheduled in the next Swiss round or not).\"}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"3-create-your-tournament-structure\",\"className\":\"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border\",\"children\":[\"3. Create Your Tournament Structure\",[\"$\",\"$L1b\",null,{\"id\":\"3-create-your-tournament-structure\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":\"Now, decide on the format of your tournament. Bracket currently supports:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]:my-3 x:not-first:mt-6 x:list-disc x:ms-6\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Single Elimination:\"}],\" Teams compete in matches, and the loser is eliminated after each round.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Round Robin:\"}],\" Every team plays against every other team exactly once.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Swiss:\"}],\" Teams play a set number of rounds, and the number of rounds is based on the number of\\nteams. This is a more advanced type of tournament, because the matches (who plays vs who) are not\\nknown at the start of the tournament, but created dynamically during the tournament based on the\\noutcome of the previous rounds.\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":[\"To create the tournament structure, go to the \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Stages\"}],\" page. Every stage consists of stage items.\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":\"A common tournament consists of a group stage which contains multiple round-robing stage items (\\ncalled pools), followed by a knock-out stage that consists of one or more single elimination stage\\nitems. This requires the following steps:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]:my-3 x:not-first:mt-6 x:list-disc x:ms-6\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[\"Create the \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Add Stage\"}],\" button twice to create two stages\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[\"In the first stage, create two stage items and select the \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Round Robin\"}],\" type with half of the\\nteams in your tournament each.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[\"In the second stage, create one stage item and select the \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Single Elimination\"}],\" type with 2 teams\\nadvancing from the previous stage.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":\"Assign all teams randomly to the round robin stage items in the first stage by clicking on the\\nempty slots.\"}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[\"Assign \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"1st of Round Robin\"}],\" and \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"2nd of Round Robin\"}],\" to the slots of the single elimination\\nstage item.\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"5-add-courts-and-schedule-matches\",\"className\":\"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border\",\"children\":[\"5. Add Courts and Schedule Matches\",[\"$\",\"$L1b\",null,{\"id\":\"5-add-courts-and-schedule-matches\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":[\"To schedule the matches (assign the start time and courts), go to the \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Planning\"}],\" page.\"]}],\"\\n\",[\"$\",\"h3\",null,{\"id\":\"create-courts\",\"className\":\"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl\",\"children\":[\"Create courts\",[\"$\",\"$L1b\",null,{\"id\":\"create-courts\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":\"Add all the courts of your tournament before scheduling matches. You just need to provide a name.\"}],\"\\n\",[\"$\",\"h3\",null,{\"id\":\"schedule-matches\",\"className\":\"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl\",\"children\":[\"Schedule matches\",[\"$\",\"$L1b\",null,{\"id\":\"schedule-matches\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":[\"Press the \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Schedule All Unscheduled Matches\"}],\" button. This will automatically assign courts and start\\ntimes to all matches from the stage items you defined in the previous section.\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":\"Make sure that:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]:my-3 x:not-first:mt-6 x:list-disc x:ms-6\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":\"There are no conflicting matches (matches where the same team plays on multiple courts at the same\\ntime)\"}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":\"The planning is efficient by distributing the matches over all courts evenly.\"}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":\"The matches are scheduled in order of stage. E.g. group stage matches should be before the\\nknock-off\\nmatches since the knock-offs depend on the results of the group stage.\"}],\"\\n\"]}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"6-define-rules-and-scoring\",\"className\":\"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border\",\"children\":[\"6. Define Rules and Scoring\",[\"$\",\"$L1b\",null,{\"id\":\"6-define-rules-and-scoring\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":[\"In the \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Ranking\"}],\" page, you can customize the ranking or create more rankings that can be assigned\\nto individual matches. The ranking determines the final standing of each stage item. You can define\\nthe points for a win, draw or loss. \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Award points for match score\"}],\" adds the score of each team to\\ntheir standing (e.g. if the result of a match was 21-5, team 1 receives 21 points and team 2\\nreceives 5 points).\"]}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"7-launch-the-tournament\",\"className\":\"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border\",\"children\":[\"7. Launch the Tournament\",[\"$\",\"$L1b\",null,{\"id\":\"7-launch-the-tournament\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":\"Once all the teams are added and the bracket is set, you can launch the tournament. There is nothing\\nyou need to do in Bracket, everything should be set up by now.\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":\"Ensure that:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]:my-3 x:not-first:mt-6 x:list-disc x:ms-6\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Dashboard:\"}],\" Enable the public dashboard so participants and spectators can view the matches and\\nresults live.\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"8-start-and-track-matches\",\"className\":\"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border\",\"children\":[\"8. Start and Track Matches\",[\"$\",\"$L1b\",null,{\"id\":\"8-start-and-track-matches\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":\"As the tournament progresses:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]:my-3 x:not-first:mt-6 x:list-disc x:ms-6\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Track Scores:\"}],\" After each match, you’ll need to input scores or results. You can do this in\\nthe \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Results\"}],\" page\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Next Stage:\"}],\" At the end of each stage (once all matches in the stage items have been played),\\npress the \",[\"$\",\"code\",null,{\"className\":\"nextra-code\",\"dir\":\"ltr\",\"children\":\"Next Stage\"}],\" button. This will show which teams will be assigned to the stage items of\\nthe next stage.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Communicate with Players:\"}],\" Keep participants informed about upcoming matches, any delays, and\\nresults.\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"9-finalize-the-tournament\",\"className\":\"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border\",\"children\":[\"9. Finalize the Tournament\",[\"$\",\"$L1b\",null,{\"id\":\"9-finalize-the-tournament\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"x:not-first:mt-6 x:leading-7\",\"children\":\"At the end of the tournament:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"x:[:is(ol,ul)_\u0026]:my-3 x:not-first:mt-6 x:list-disc x:ms-6\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"x:my-2\",\"children\":[[\"$\",\"strong\",null,{\"children\":\"Announce Winners:\"}],\" View the standings page on the dashboard to see who the winners are\"]}],\"\\n\"]}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n7:null\n"])</script><script>self.__next_f.push([1,"8:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"Usage guide\"}]]\n"])</script></body></html> |