Per què una matèria de puntuació Personalitzada

A la pintura, les coincidències són ràpides i les decisions passen en segons. OffntCEthe Blucks board sol ser dissenyades per a partits tradicionals com el futbol o el manca de flexibilitat necessària per a fer Formballballballballballballballballballballballballballs modes únics de joc. Un sistema personalitzat ofereix:

  • [[FLT: 0] [Realtime s'actualitza la puntuació [[FLT: 1] que reflecteixen les eliminacions, captures de bandera, o apunten els objectius basats a l' instant.
  • [[FLT: 0]Support per múltiples formats [[[FLT: 1]] des de 366man equips a grans jocs d' escenari, *** sense forçar una plantilla rígida.
  • [[FLT: 0] S'ha convertit en el compromís d'espectador [[[FLT: 1]] a través de gràfics dinàmics, temporitzadors en directe, i estadístiques específiques de l' equip.
  • [[FLT: 0] [[FLT: 1] fent automàticament l' entrada de dades mitjançant tauletes o dispositius Contents.
  • [[FLT: 0]Brandiment d' oportunitats [[FLT: 1]] per a mostrar logos patroclodors, noms d' esdeveniments i esquemes de color personalitzats.

Amb una solució personalitzada, també sou la informació. Més tard podeu analitzar històries que coincideixen, rendiment dels jugadors i tendències Tunctxicties impossible amb fulls de paper d' ús o sistemes no aplicats. Un CMS no desitjat modern com Directus fa possible però repetible en els esdeveniments.

Equip de direcció per al vostre dorsal de la puntuació

Directus és un mecanisme de cap de codi obert de l' CMS que actua com a un potent dorsal per a la vostra aplicació de puntuació. Proporciona una interfície neta, d' usuari kOSTincial per a administradors de gestionar equips, coincidències i puntuacions sense escriure una sola línia de codi. És REST i API del grafQL, combinada amb implementació de l'OpenSocket Web real, fent que sigui ideal per a un sistema de puntuació en directe.

Configurant un projecte Directus

Podeu executar Directus al vostre propi servidor (autochthosted) o usar el servei Directus Cloud per a una experiència gestionada. Per a un arranjament en un torneig, es pot preferir autotectar en una xarxa local. Després d' aquests passos:

  1. Instal· la Directus via Docker o un node directe.jsPlaseint. El [[[FLT: 0] Guia d' inici ràpid [[[FLT: 1] traça el procés en minuts.
  2. Configura la vostra base de dades (PostgreSQL, MySQL, SQLiteSQLSQLte és ideal per a ús fora de línia).
  3. Establiu un usuari administrador i creeu un projecte específicament per al vostre torneig.
  4. Habilita el mòdul bistopAltime engine si voleu usar elscol· ockets Web per a actualitzacions de puntuació instantània.

Dissenyant el model de dades

El vostre esquema de dades de puntuacióboardboardboardboardboardboardboardboardboardloples ha de detectar l' estructura del vostre torneig. Creeu col· leccions (les taules) en Directus per a:

  • [[FLT: 0] TAmames [[FLT: 1] nom, logo (URL de la imatge), llista de llista (relacions als jugadors), color primari.
  • [[FLT: 0] Players [[FLT: 1] nom, número, equip (relació), estadístiques opcionals (el· lències, morts, cops).
  • [[FLT: 0]Matchas [[[FLT: 1]] grup, camp, hora inicial, estat (verint, viu, acabat, extra), durada.
  • [[FLT: 0] Scores [[FLT: 1] job (relació), equip (relació), valor de puntuació, marca horària (especialment útil per a la puntuació en temps real), tipus de puntuació d' esdeveniment (dequació, captura de bandera, etc.).
  • [FLT: 0] Penalies [[FLT: 1]] opcional, per a seguir les infraccions (minor, major, dissociació) amb el reproductor i les relacions coincidents.
  • [[FLT: 0] Expatch Els esdeveniments [[[FLT: 1] Startupa registre de tots els esdeveniments significatius (canvis, sancions, temps d' espera) per a la repetició i l'auditoria.

Useu Directus=tecture ANSI (manyKeyto 192one, moltststureto 2001- 04many) per enllaçar aquestes col· leccions. Per exemple, un coincidència pot tenir dos equips (o més per a formats multikonctectec) i múltiples entrades de puntuació gravades en diferents ocasions. Considereu afegir un [[FLT: 0] Per a fer un clic a [[[FLT: 1]]] si planegeu executar múltiples esdeveniments des de la mateixa instància DirectusConsture pot tenir la seva pròpia planificació i regles.

Estableix els permisos per a que tan sols s' hagin autenticat els caràcters de referència poden escriure puntuacions, mentre que el frontal públic només necessita accés de lectura a les dades més recents. També podeu crear un paper de libcruptor (només un access d' escriptura limitat per a coincidir amb l' estat i les puntuacions.

Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real RealTime Actualitza amb temps real

Els torns de la bola mouen ràpidament els scripts de la vista de la puntuació en la puntuació. Directus[FLT: 0] [FLT: 1] us permet subscriure' s a canvis en qualsevol col· lecció. Quan un Ai s' actualitza una puntuació o un canvi d' estat de coincidència, el frontal rep l' actualització instantàniament via WebSocket.

Per usar- lo:

  • Instal· la el [[FLT: 0] al vostre projecte de Frontal.
  • Creeu una connexió WebSocket amb la vostra instància Directus.
  • Subscriure a la col·lecció Bascombe o matchruna de l'ordinador real.
  • Escolteu [[FLT: 1], [[FLT: 2], i [[[FLT: 3] esdeveniments i actualitza la IU adequadament.

Aquest enfocament elimina la necessitat de col· legiscar i assegura que cada dispositiu que miri la pissarra continua sincronitzat. Per a grans torns amb molts coincidències simultanis, considereu l' ús de canals web-col· locats per a fer coincidir amb ID específics per reduir l' amplada de banda.

Gestió de connexions WebSocket

Quan es crea una robusta pissarra, gestiona la connexió cau de manera més clara. Subscriu- la a [[FLT: 4] i [[FLT: 5] esdeveniments des del client Web Socket. En desconnectar- se, implementa l' indicador exponencial de reconnexió resturnança de l' 1- segon inici amb un retard i doble fins a 30 segons. El mòdul de temps real envia el pols cada 30 segons per omissió; si no hi ha tres pols, el CONTOCTINT també es perd. Mostra un petit indicador de reconnexió ha perdut l' indicador de la puntuació de la xarxa per tal que el personal sàpiga la xarxa. El frontal pot tornar a l' API REST cada segons si el Web continua.

Construir la pantalla per a la Frontal

La interfície és el que els jugadors, els individus, els espectadors ho veuen. Podeu construir- lo com a aplicació web, una interfície de taula dedicada, o fins i tot un quadre de pantalla gran.

Escollint un marc de treball

Qualsevol entorn de JavaScript modern (React, Vue, Svelte, o fins i tot vanilla JS) funcionarà. Si el vostre personal de torneig no és el biennal, una pàgina HTML + CSS amb un petit script pot ser més fàcil. Per a una interactivitat més avançada, React amb el SusDK és una elecció sòlida. Vue 3 amb la seva composició API també s' ha d' parelles amb dades en temps real de l' estrella [FLT:] 6 o posterior d' inactivitat personalitzada.

Per als equips que prefereixen una solució lleuger, considereu l' ús de [[FLT: 0] Alpina. js[[[FLT: 1] user] usa el comportament reactiva a HTML estàtic sense pas a construir. Això pot ser ideal per petits tornejos on voleu editar la puntuació al vol.

Integrat amb el SDK Directus

Directus proveeix un client REST i un client de temps real de jobit pel tauler, normalment s' típicament:

  • Usa l' API REST per carregar les dades coincidents inicials i la informació de l' equip.
  • Canvia a subscripcions webSocket per actualitzacions en directe.
  • Dissenyeu la IU per actualitzar els resultats sense parpellejar (ajuda de transició CSS).

Format de flux d' integració:

  1. Autenticar el frontal (si cal) o usar una fitxa d' API de només lectura pública de l' API.
  2. Obtén la llista de coincidències actual des de Directus.
  3. Per a cada coincidència activa, mostra els dos equips i els seus resultats actuals.
  4. Subscriure a canvis en la col·lecció de ntscoresfs i retenderen la puntuació.

Per a mantenir les actualitzacions d' una IU s' han aturat, per lots: si hi ha múltiples esdeveniments de puntuació en uns pocs mil· lisegons, els grupeu en un únic renderitzat usant una actualització de l' estat debsumpades (p. ex., sol· licitud d' ligènciaFramene o un centenar de bits).

Dissenyant la interfície d' usuari

La curiositat és primordial.

  • Noms d' equip (valorat, contrastant els colors).
  • Números de puntuació (grans, fàcils de llegir des d' una font de la distància 2008minimum 80px per a puntuacions primàries).
  • Un temporitzador de coincidència (comptat o temps transcorregut).
  • Un indicador gutture SolucAdaptatiuRK (p. ex., DataPlaynt 192, ManveenBreak eur- 2009, ManveenFinal 192).
  • Opcional: Elimina els comptadors o matar la relació prioritat per a les estadístiques individuals.

Usa colors d' alt contrast de l' alt- format (p. ex., text blanc en fons fosc) i evita la gestió de la pantalla. El disseny reordenatiu assegura que la puntuació es vegi bé en una televisió 5031urguinininy TV i una taula de diàleg. Per a mostrar TV, considereu una relació d' aspecte 16: 9 amb una única vista coincident; per a pantalles de mòbil, useu una disposició més compacte amb pestanyes per a múltiples coincidències.

Mostra les puntuacions, temporitzadors i Estat en la coincidència

El flux de dades funciona així:

  • Un referència " refere" introdueix una puntuació (o un esdeveniment d' eliminació) en un formulari mòbil. Aquesta petició POST va a l' API Directus.
  • Directus desa el rècord i emet un esdeveniment de createojet via WebSocket.
  • La interfície rep l'esdeveniment, actualitza el seu estat local i rendera la puntuació.
  • El temporitzador es pot gestionar client\ (usant un rellotge local) o el servidor SAMBAside amb camps Directus per a temps d' inici/ end. Per a una precisió, useu l' aproximació del servidor ktlinkside: quan comença una coincidència, el popular pla e estableix el camp [[FLT: 7], i el frontal calcula temps restant d' aquest. El servidor també pot actualitzar un camp [[FLT:] cada segon mitjançant un flux directe o un petit punt de final personalitzat.

Per a l' estat de la coincidència, us referiu- vos a canviar el camp d' estat en Directus (e. ex., des de identificador setup), que s' està posant en format d'Hyrc a CYFStang). Un patró comú és tenir una vista de control prioritat prioritat de prioritat de Supportell amb botons per a iniciar/ parar el temporitzador, increment de puntuacions i crides. Construïu aquesta pàgina com a una pàgina separada que requereix autenticació Directkonzuldonkeys va construir el rol Direct10in40.

Característiques de les tecles d' un sistema de puntuacions personalitzat

Més enllà de les bàsiques, considereu aquestes característiques avançades per a fer que el vostre torneig es desplegui:

  • [[FLT: 0] Multiple de vista de coincidència [[[FLT: 1]] khall s' executa els camps de torneig simultani, la puntuació pot mostrar tots els coincidències actius o permetre canviar entre camps. Useu una disposició de graella amb 2x2 o 3x2 per a pantalles multidoploses.
  • [[FLT: 0] Resplay o lent tabotion[FLT: 1] NO per a la taula de puntuació, però la capa de dades pot suportar accions do=DUp (clob) de manera que podeu corregir els errors. Entreclogueu un registre de totes les puntuacions amb marques horàries; el plafó de control pot incloure un botó HDUDundo que revertir l' esdeveniment més recent.
  • [[FLT: 0] Sphopsor Integració [[[[FLT: 1] 2001- 2003 patronals en una barra lateral o entre les coincidències. Useu una col· lecció Directus per a Backupspont- 2009 amb un camp d' imatge i una ordre. El frontal pot mostrar un patrocinador a l' atzar cada 30 segons o mostrar- los en un tic- lo.
  • [[FLT: 0] Public API per a introduir [[[FLT: 1] 2001- 2009 Si emeteu el torneig en línia, encastar el recobriment de la taula amb iframe o RTMP personalitzat. Moltes eines de flux com OBS poden capturar una finestra de navegador; dissenyeu la puntuació amb un fons transparent per tal que recobrimenti el joc.
  • [[FLT: 0] usa el mode de còpia de seguretat [[[FLT: 1]Desitjat amb un sistema digital, sempre té una puntuació impresa targeta de puntuació i un bolígraf llest. Addicionalment, creeu una pàgina de alternativa simple fora de línia que desa les puntuacions en la localStorage i sincronitza quan es retorna la xarxa.

Avançat: Lackboard Overlay per a les zones de temps lliure

Si planegeu que en viu el vostre torneig, creeu una pàgina HTML separada optimitzada per al recobriment OBS. Elimina tots els fons, useu la posició absoluta, i mostreu variables CSS per a colors d' equip i puntuacions de manera que l' equip de flux pot ajustar- los fàcilment. Useu un fitxer transparent [[FLT: 9] amb [[[[[FLT: 10]]. En el qual es va quedar aquesta pàgina com a navegador a font de OBS, i s' actualitzarà en temps real com a canvi.

Pass d' execució

Segueix aquest procés estructurat per construir la teva puntuació des de zero per a anar enlivesiu.

Pas 1: Defineix les regles de Tournar i puntuació

Abans d' escriure qualsevol codi, document com funciona la puntuació. Es requereix un punt tocant una bandera? Hi ha una regla de misericòrdia? Com es resolen els lligams extres? Aquesta regla dicta el model de dades. Per exemple, si elimina punts, necessiteu una col· lecció separada per eliminar esdeveniments. També definir límits de temps, despeses de punt de càstig, i qualsevol escenari especial com la mort sobtada.

Pas 2: Establiu col· leccions Directus Up

Registre al projecte Directus i crea les col· leccions de resum abans. Afegiu regles de validació que kAudioPer exemple, les puntuacions han de ser enters no negatius. Configureu els permisos per a la funció konquefere 192, per a permetre l' accés d' escriptura a les puntuacions i l' estat coincident, mentre que el paper rwuzylBypt (emprat per la interfície) té accés de només lectura de format de 1024. Useu els permisos de camp Directus ttyPIAnt si alguns camps (com la informació del contacte del reproductor) haurien d' estar ocults.

Pas 3: Construeix els punts de finalització de l' API o usar directament SDK

Podeu usar Directus userXNhall ha generat directament RESTpoints de final de la interfície, o construir punts d' API personalitzats si necessiteu una lògica de negocis extra (p. ex., per calcular totals de múltiples esdeveniments). Per a la majoria dels tornejos, els punts construïts REST i WebSocket són suficients. Useu el segon [[FLT:] usa l' opció SD[ FLT:]] =F1:]] per simplificar l' autenticació i les subscripcions en temps real. Si necessiteu una sincronització de servidors[ 0 al final, creeu una actualització de punt de coma directe [[ FLT: 9: cada segon via un treballcron o un flux.

Pas 4: Components de desenvolupament

Creeu les pàgines de visualització per als espectadors i el plafó de control per als cridats. Mantingueu la vista d' espectadors només per a l' Òrcia i centreu en elements grans i clar. El plafó de control pot ser més compacte amb botons i formularis. Useu animacions CSS per a modificar canvis (p. ex., un petit flash quan una puntuació increments). Per al plafó de control, considereu l' ús d' un disseny mòbil amb botons grans que es pot accelerar amb facilitat mentre s' usa guants.

Pas 5: Prova amb coincidències reals

Executa les recerques amb voluntaris actuant com a " referees " i jugadors. Simula diversos escenaris: canvia ràpid la puntuació, múltiples camps, crides de pena i problemes de xarxa. Comproveu que el WebSocket reconnecta automàticament si la connexió baixa. Proveu la característica de desfer (si està implementada) i assegureu- vos que les puntuacions finals no es poden alterar després de la partida. Proveu també la alternativa: desconnecteu la xarxa i verifiqueu que la puntuació encara mostri els últims resultats coneguts i que la cua de control pot ser distorsionada més tard.

Pas 6: Deploy i tren de l'Estat

Deplouy la interfície en un servidor local o una màquina de núvol. Per a esdeveniments fora de línia, executeu Directus i la interfície en un portàtil local amb un WiFi Hospot. Useu Dockercompa per a fer flexions directament i un lleuger servidor web (com Nginx o Caddy) per al frontal. El tren es refereix a com usar el plafó de control i el fa possible: una drecera per a incrementar una puntuació de l' equip del KDENGS, un botó per a iniciar/ parar el temporitzador. Impressió ràpida de les targetes d' impressió. També un tren de seguretat en el sistema de paper en el sistema de fallada total del sistema de sistema de seguretat total del sistema de fallada.

Seguretat i permisos en directe

Perquè la puntuació és un sistema en directe que s' accedeix a múltiples funcions, la seguretat és crítica. Comença creant tres funcions directes:

  • [[FLT: 0] Admintor [[FLT: 1] ] [Uvt de l' accés complet a totes les col· leccions i arranjaments (emprat per organitzadors del torneig).
  • [[FLT: 0] [[FLT: 1] Accés de write a puntuacions, coincidència, estat, penes i coincidir amb esdeveniments. Llegiu l' accés a equips, jugadors i tornejos.
  • [[FLT: 0] Public [[FLT: 1]] 2001- 2009 l' accés de només lectura de 2001 a les puntuacions, coincideix (només amb l' estat identificadorlivent Gimp o BOOL [1080), equips i reproductors. No hi ha accés d' escriptura.

Useu el sistema de permisos Directus 2001- 2000 per imposar- los al nivell de col· lecció. Per a seguretat addicional, restringeixeu accés refere per adreça IP si el plafó de control només s' usa a les tauletes específiques. Habiliteu HTTPS en la vostra instància Directus, especialment si l' exposeu a Internet per a rea la pèrdua de temps.

Optimització per a puntuacions en directe

Un torneig pot haver- hi dotzenes de coincidències simultàniament. Per a mantenir la transmissió del WebSocket respondre:

  • Només s' han subscrit a col· leccions que canvien sovint (p. e., [[FLT: 12] i ]. Eviteu subcriblar a col· leccions estàtics com [[FLT: 14] a menys que s' actualitzen durant l' esdeveniment.
  • Useu els paràmetres de filtre Directusße per subscriure' s només als registres rellevants. Per exemple, subscriptiu a [[FLT: 15] amb un filtre [[FLT: 16] per reduir el soroll.
  • En el frontal, les actualitzacions de la IU es desbloguen. Si hi ha múltiples esdeveniments de puntuació dins del mateix marc d' animació, les per lots es troben en una única actualització DOM.
  • Noms d'equip i logos locals al navegador de les galetes locals per tal que no s'hagin de recollir a cada connexió.
  • Per a tornejos molt grans (cents de jugadors), estadístiques de reproductors paginats i carrega- les a petició.

Consells per a l' execució correcta

  • [[FLT: 0] No manté la xarxa simple. [[FLT: 1] Useu una xarxa de WiFi amb banda adequada. Eviteu connectar dispositius públics; useu tauletes dedicats per a referir- se. Considereu una xarxa 5 GHz per a una petita interferència.
  • [[FLT: 0] Calache les dades inicials. [[FLT: 1] Carrega tots els noms dels equips, horaris que coincideixen, i logos en el frontal en engegar de manera que un WebSocketage faci que la pantalla s' trenqui immediatament.
  • [[FLT: 0] usa una alternativa. [[[FLT: 1] Teniu una pàgina HTML estàtica amb camps d' entrada manual com a un darrer recurs, sincronitzat en un fitxer local JSON que es pot pujar més tard.
  • [[FLT: 0] Thorteix l' exactitud del temporitzador. [[FLT:]] Si s' usa un temporitzador de l' aplicació de l' aplicació de l' usuari, assegureu- vos que els missatges del servidor web inclouen l' hora exacta d' evitar la deriva entre dispositius. Alternativament, useu l' opció [[FLT:] [[FLT:]]] [[FF3]]] al mètode del client per a més intervals més precises.
  • [[FLT: 0] [[[FLT: 1] usa grans tipus de lletra i contrast pels espectadors amb impaires visuals. Proporciona informació d' àudio (un timbre) per esdeveniments importants com el joc/ end. Useu [[FLT: 18] per anunciar els canvis per als usuaris de la pantalla.
  • [[FLT: 0] Plan per al poder. [[[FLT:] Tots els dispositius s' han de carregar completament, i tenir còpies de seguretat per a les bateries i les tires d' energia. Executa el portàtil de la puntuació a una UPS si és possible.
  • [[FLT: 0] Document teu model de dades. [[[FLT:]] Mantingueu un diagrama de col· leccions i relacions així els organitzadors futures del torneig poden modificar fàcilment el sistema.

Conclusió

Un sistema de puntuació personalitzat construït en Directus transforma un torneig de pintura de puntuacions de manual caòtics a una experiència professional i en relació amb el model de dades i a l' audició de les actualitzacions reals de l' hora de l' arc de python, us doneu una flexibilitat total per adaptar- vos a qualsevol regla mentre que els espectadors i espectadors han informat cada segon de la partida. Amb les passes de forma exterior aquí, a partir del model de dades a què el dibuix de l' PACEquation podeu crear una puntuació que s' executa amb precisió en el torneig i impressionar tothom al camp.

Per a més informació, explorar el lloc web [[FLT: 0] Directorgeeu [[[[[FLT: 1]], el [[[[FLT:]]] APPPAAAAAWarelearles del torneig [[FLT:]], i els tutorials pràctics en construir el tauler de l' hora real de l' edifici amb [[FLT: 4] Viue.j[FLT: 5] o [FLT:]]]] [FTATH[FLT]]. El vostre següent torneig de pintura mai no mirarà el mateix.