De beheerpagina
Elke Sridu-server die je met Docker draait, heeft een eigen pagina met instellingen. Daar zie je hoeveel de app gebruikt wordt, geef je hem de naam en kleuren van je club, en kies je welke spelvormen en onderdelen van de app je spelers krijgen, hoe de lobby werkt, of spelers geluidspakketten mogen delen en wie er geblokkeerd wordt. Deze gids loopt de pagina tabblad voor tabblad door. De beheerpagina zelf is er in het Engels en Duits, daarom staan de namen van knoppen en tabbladen hier in het Engels.

Eerste start
De beheerpagina openen
Hij opent alleen vanuit je thuisnetwerk. Bij het eerste bezoek stel je met een eenmalige setupcode een wachtwoord in.
- Open het adres uit de tabel hieronder in een browser op een computer in je thuisnetwerk. Gebruik het IP-adres van de server, niet je domein.
- Voer de setupcode in. Die ziet eruit als ABCD-EFGH-JKLM en staat in het bestand SETUP-CODE.txt in de datamap, en in het log van de admincontainer.
- Kies een wachtwoord van minstens 12 tekens. Daarna zijn de code en het bestand weg, en log je voortaan in met het wachtwoord.

| Docker thuis | Openbare server | |
|---|---|---|
| Adres | http://<IP>:8090/admin/ of https://<IP>:8443/admin/ | http://<NAS IP>:8110/admin/ |
| Bestand met setupcode | server/admin/SETUP-CODE.txt | deploy/public/data/SETUP-CODE.txt |
| Containerlog | sridu-api | sridu-public-api-1 |
Pagina niet gevonden? Dan kwam je verzoek niet uit je thuisnetwerk. De beheerpagina antwoordt alleen op privéadressen (192.168…, 10…) die niet via een proxy zijn gegaan, dus via je domein of Cloudflare blijft hij verborgen. Dat is zo bedoeld.
- Na een tijdje uitgelogd: een sessie duurt maximaal 12 uur en eindigt na 2 uur zonder activiteit.
- Verkeerde wachtwoorden: na vijf mislukte pogingen laat de pagina je wachten, elke keer iets langer.
- Taal: de pagina volgt je browser. Duitse browsers krijgen Duits, alle andere Engels.
Overzicht
De tabbladen aan de linkerkant
Elk onderwerp staat in een eigen vak met een eigen knop Save, en de kleine i naast een instelling legt uit waarvoor die dient. Opgeslagen wijzigingen bereiken spelers de volgende keer dat de app laadt. Opnieuw starten is niet nodig. Elk tabblad heeft een eigen icoon, en het zoekveld boven het menu vindt elke instelling op naam en springt ernaartoe. Op een telefoon wordt het menu één rij die je zijwaarts scrolt.
Overview
Wat er speelt op je installatie
De beheerpagina opent met het overzicht: hoeveel de app gebruikt wordt en wat je aandacht nodig heeft. Gebruik wordt geteld in dagtotalen, zonder cookies en zonder te weten wie.
- Drie cijfers: app-starts, afgeronde wedstrijden en gegooide pijlen, elk voor vandaag, 7 dagen, 30 dagen en sinds het tellen begon.
- Een grafiek van 30 dagen: afgeronde wedstrijden per dag. Wijs een balk aan om de wedstrijden, pijlen en app-starts van die dag te zien.
- Meest gespeeld: de spelvormen met de meeste afgeronde wedstrijden in de laatste 30 dagen.
- Op dit moment: wie er in de lobby is, hoeveel spelers op de ranglijst staan en hoeveel er de laatste 7 dagen actief waren, openstaande meldingen uit de lobby en de versie van de app. Met een knop ernaast ga je naar het bijbehorende tabblad.
- Gebruik tellen: de schakelaar onderaan, standaard aan (
SRIDU_COUNTERS). Clear figures wist alles wat tot nu toe is geteld.
Wat er wel en niet wordt geteld
- App-startsElke app laadt bij het starten één keer het instellingenbestand van de installatie. De server telt die verzoeken.
- Afgeronde wedstrijdenAls een wedstrijd afloopt, stuurt de app de spelvorm, het aantal pijlen en, met camera’s, hoeveel pijlen met de hand zijn gecorrigeerd naar deze server, en naar niemand anders. Geen speler, geen apparaat-ID.
- Nooit opgeslagenCookies, apparaat-ID’s, namen en adressen. Tegen misbruik houdt de server een adres hooguit een uur in het geheugen.
- Bewaard400 dagen aan dagtotalen, in
usage.jsonin de datamap. - UitDe app stuurt niets en de server telt niets.
Gebruiken anderen je installatie? Vermeld de gebruikscijfers dan in je privacyverklaring. Het sjabloon op het tabblad Legal heeft er een alinea voor. Hoe play.sridu.com het verwoordt, lees je in de privacyverklaring.
General
Wat deze installatie is
De feiten bovenaan, de starttaal en hoe streng er gespeeld wordt.
- Vier feiten bovenaan: de openbare naam, of de beheerpagina van buitenaf bereikbaar is, of spelersgegevens op de server worden bewaard, en of de eigen broker draait. Ze komen uit
docker-compose.ymlen kunnen alleen daar worden gewijzigd. - Starttaal: wat nieuwe bezoekers als eerste zien. Standaard is dat de taal van de browser, en elke speler kan in de app nog wisselen.
- Corrigeren in challenges en in trainings- en inwerpspellen: uit betekent dat alleen telt wat de camera’s zagen, ook op de ranglijst. Handig als onbekenden strijden om records. Thuis laat je het gewoon aan. Feestspellen zoals Boter-kaas-en-eieren kun je altijd corrigeren.
- Toestemming vragen bij deelnemen: wie een sessielink opent, wacht tot de host hem toelaat. Apparaten in hetzelfde netwerk worden nooit gevraagd. Het is alleen de standaard, spelers kunnen het per sessie wijzigen.
- Voortgang: spelerslevel, alle badges met meldingen in het spel, plus dagdoelen en vrij te spelen extra’s met eigen schakelaars. Standaard uit, dan ziet de app eruit zoals altijd. Wat het is: Level & badges.

docker-compose.yml komt.Look & welcome
Je naam, je kleuren, je welkom
Voor een club, een café of het bord in de kelder. Lege velden laten Sridu zoals het is, en een voorbeeld toont de bovenkant van de startpagina terwijl je typt.
| Veld | Wat het doet |
|---|---|
| Naam van de installatie | In het browsertabblad en op de startpagina, bijvoorbeeld “DC Bullseye”. Maximaal 40 tekens. Kan ook als SRIDU_NAME in docker-compose.yml. |
| Accentkleur | Knoppen, markeringen en de effecten op het bord. Staat hij uit, dan blijft het groen van Sridu. Kan ook als SRIDU_ACCENT, bijvoorbeeld "#e11d48". |
| Logo | PNG, JPEG of WebP tot 256 KB, getoond op de startpagina naast het welkom. Het wordt geüpload zodra je het kiest, je hoeft niet op Save te drukken. |
| Welkomsttekst | Een paar regels bovenaan de startpagina: openingstijden, huisregels, bij wie je terechtkunt. Platte tekst, maximaal 600 tekens. |
| Kleurenschema | Waarmee elk apparaat start: Dark (Sridu), Light, Pub of Tour. Een look die een speler via level & badges heeft vrijgespeeld, gaat op zijn apparaat voor. |
| Link naar je pagina | De website van de club of een pagina met de huisregels, getoond onder het welkom. De linktekst is optioneel. |
Mededeling
- BerichtMaximaal 300 tekens bovenaan de startpagina, zoals een toernooi op vrijdag of bord 2 dat gerepareerd wordt. Leeg betekent geen mededeling.
- SoortNote of Important.
- Tonen totOptioneel. Vanaf de dag erna verdwijnt de mededeling vanzelf.
- Verborgen door de spelerSpelers kunnen hem sluiten. Een nieuwe tekst verschijnt weer.
Customise the app
Kies wat je spelers zien
Dit tabblad verandert het meest. Wat je uitzet, verdwijnt voor elke bezoeker van deze installatie: uit het menu, van de startpagina en van elke knop die ernaartoe leidt. Er wordt niets gewist, en je kunt het altijd weer aanzetten.
Spelvormen
- Gegroepeerd zoals op de startpagina: Klassiekers, Feest & duels en Training, met Missies onder Training. Vink losse spelvormen uit, of gebruik All off en All on voor een hele groep.
- Eén volledig spel blijft altijd aan, want snel starten en toernooien hebben er een nodig. Vink je ze allemaal uit, dan komt X01 vanzelf terug.
- Alleen hier: hiervoor is geen regel in
docker-compose.yml. Het label “Default: all on” zegt dat er nog niets is uitgezet. - Een voorbeeld: houd voor een competitieavond X01 en Cricket aan, voor een kinderfeestje de feestspellen.


Onderdelen van de app
Uit verbergt het tabblad en elke knop die ernaartoe leidt. Spelers houden wat ze al gespeeld hebben.
| Schakelaar | Uit betekent |
|---|---|
| Lobby | Geen open chat en geen knop “Online tegenstander”. De lobby op deze server stopt ook, wat er ook op het tabblad Online staat. Wedstrijden via een uitnodigingslink of QR-code werken nog wel. |
| Toernooien | Het tabblad Toernooien is weg. |
| Challenges van elk uur | Het tabblad Challenges en de challenge van het uur op de startpagina zijn weg. De dagdoelen blijven als voortgang aanstaat. |
| Ranglijst | Geen tabblad Ranglijst, geen plek na een wedstrijd, en er gaan geen resultaten naar de ranglijst van deze server. |
| Inwerpspellen | Geen kleine spellen tegen je eigen record op het instelscherm terwijl spelers wachten. |
| Donatiehints | Geen smalle balk op de startpagina en geen regel na een wedstrijd. De link onderaan de pagina blijft. Sridu is gratis en leeft van donaties, dus laat het alsjeblieft aan als dat kan. |
| Probleem melden | De link in het menu en onderaan de pagina is weg. Zie Bug reports. |
Startinstellingen voor nieuwe apparaten
Waarmee een apparaat begint als het de app voor het eerst opent. Wat een speler daarna verandert, blijft van hem, en apparaten die de app al eerder gebruikten, houden hun instellingen. Elk veld heeft ook As the app comes.
| Instelling | Keuzes |
|---|---|
| Spel op de startpagina | Elke spelvorm |
| X01-startscore en uitgooien | 101 tot 1001, Double Out, Master Out of Single Out |
| Legs | Eén leg, of first to 2 tot first to 9 |
| Caller en stem | Aan of uit, de studiostem waar die er is of de stem van de browser |
| Sterkte van een nieuwe bot | Een gemiddelde van 15 tot 110 |
| Beurt vanzelf beëindigen | Uit, of na 5 tot 60 seconden |
| Inactieve spelers overslaan | Uit, of na 30 seconden tot 5 minuten |
Wanneer zien spelers het? De volgende keer dat de app laadt. Een app die al openstaat, houdt de oude stand tot hij herladen wordt.

Online
Lobby en verbindingen
Of er een lobby is, waar hij draait en hoe twee apparaten elkaar vinden voor een wedstrijd. “Lobby right now” bovenaan laat zien hoeveel spelers erin zitten.
- Lobby en tegenstanders zoeken: de open chat. Uit betekent alleen wedstrijden via een uitnodigingslink of code.
- Waar spelers elkaar ontmoeten: je eigen lobby (alleen mensen op jouw installatie, jouw woordfilter en blokkades gelden), de online lobby van Sridu op play.sridu.com (meer tegenstanders, daar gemodereerd), of serverloos via de brokers.
- Open voor andere installaties is alleen van belang voor een openbare server die anderen als lobby gebruiken. Ruimtes: één per taal houdt de chat leesbaar als het druk wordt.
- Ook openbare brokers: uit houdt zelfs de handshake vóór een wedstrijd op je server. Daarvoor is de eigen broker nodig.
- STUN en relay (TURN): laat ze leeg, tenzij online wedstrijden geen verbinding krijgen. De inloggegevens van de relay zijn voor elke bezoeker zichtbaar. Een eigen relay opzetten wordt behandeld bij openbare server.
Leaderboard
De gedeelde ranglijst
De ranglijsten van deze server, voor challenges, wedstrijden en training, en iedereen die erop staat.
- Ranglijst aan of uit. Uit: elk apparaat toont alleen zijn eigen resultaten.
- Alleen camerapijlen: een resultaat telt alleen als elke pijl van de camera’s kwam, zonder correcties en zonder ingetypte scores. Bedoeld voor een openbare server waar onbekenden tegen elkaar strijden. Thuis bederft het alleen de pret.
- Trainingsspellen en inwerpspellen: elk een eigen schakelaar voor of ze online meetellen. Uit: hun records blijven op het apparaat en verschijnen alleen op de lijst “Dit apparaat”.
- Resultaten bewaren: 35 tot 730 dagen, standaard 90. Oudere resultaten worden automatisch gewist.
- Spelers: iedereen op de lijst met punten en laatste bezoek. Clear results houdt de naam, Remove wist naam en resultaten, Block zorgt er ook voor dat de naam niet terugkomt. Geblokkeerde namen kun je later weer vrijgeven.


Moderation
Meldingen, filter en blokkades
Voor je eigen lobby. Elke app van deze installatie past deze regels toe.
- Meldingen: wat spelers in de lobby hebben gemeld met “Melden”, met reden en bericht. Block device of Done. Een rood getal in het menu telt de openstaande.
- Meldingen accepteren: uit haalt “Melden” uit het lobbymenu. Alleen zinvol met je eigen lobby, in de online lobby van Sridu gaan meldingen naar de beheerder daarvan.
- Woordfilter: één woord per regel. Het wordt vervangen door sterretjes in namen, statussen en berichten, hoofdletters of kleine letters maken niet uit.
- Geblokkeerde apparaten: hun berichten en aanwezigheid zijn voor iedereen verborgen. Iemand die het echt wil, kan terugkomen met een nieuwe apparaat-ID, dus zet bij een stortvloed de lobby uit.
Legal
Colofon en privacyverklaring
De juridische teksten van je installatie. Ze worden alleen op je server opgeslagen.
- Wanneer je ze nodig hebt: vaak zodra andere mensen je server via internet gebruiken, in Duitsland bijvoorbeeld. Een pure thuisserver kan beide leeg laten.
- Sjablonen in het Duits en Engels vullen het vak. Vervang alles tussen [haken]. Ze zijn geen juridisch advies.
- Eenvoudige opmaak:
## heading,- list,**bold**,[text](https://…). Preview toont het resultaat, Open page de live pagina op/imprintof/privacy. - Leeg betekent geen link. Staat er tekst in, dan linkt de app onderaan de startpagina naar de pagina.


Bug reports
Leeg op je server, en dat klopt
Dit tabblad is de inbox van play.sridu.com, die de meldingen van alle installaties ontvangt.
- Op je eigen server toont het alleen de melding dat hij geen bugmeldingen ontvangt (
SRIDU_BUG_INBOXstaat uit). - De meldingen van je spelers via “Probleem melden” gaan rechtstreeks naar de ontwikkelaars van Sridu. Spelersnamen gaan nooit mee. Wat je spelers zien en wat er wordt meegestuurd, lees je bij Probleem melden.
- Liever niet? Zet
SRIDU_BUG_REPORTS: "off"indocker-compose.yml, dan biedt de app alleen e-mail aan of het opslaan van de melding als bestand. Wil je de link helemaal verbergen, zet dan “Probleem melden” uit onder Customise the app. - Openbare server: het compose-bestand daarvan is dat van play.sridu.com zelf en heeft de inbox aan. Zet daar
SRIDU_BUG_INBOX: "off".
Sound packs
Een gedeelde bibliotheek voor geluidspakketten
In de app kunnen spelers hun eigen geluiden maken en hun eigen callerstem opnemen (zo werkt het). Die pakketten blijven normaal op elk apparaat. Met de bibliotheek kan iedereen die je server gebruikt ze delen, beluisteren en installeren via het tabblad Bibliotheek in de app.
- Bibliotheek voor geluidspakketten: de hoofdschakelaar. Staat die uit, dan toont de app geen bibliotheek, kan er niets gedeeld of gedownload worden en blijven de pakketten in de map. Met
SRIDU_PACKS: "off"indocker-compose.ymlwordt er helemaal niets opgeslagen en blijft de schakelaar grijs. De openbare opstelling indeploy/public/laat de bibliotheek uit. - Wie mag delen: met Everybody mag elke app op deze server een pakket delen. Met Admin only komen pakketten alleen via deze pagina binnen. Nobody (read only) toont alleen wat er al is.
- Grootste pakket: in MB, van 1 tot 200, om te beginnen 40. Een volledige callerstem is meestal 5 tot 15 MB.
- De lijst: elk pakket met de maker, geluiden en stemfragmenten, grootte en herkomst. Listen speelt een paar fragmenten af, Download slaat het bestand op, Hide bewaart het maar houdt het buiten de apps, en Delete verwijdert het definitief. Apparaten die het hebben geïnstalleerd, houden hun kopie.
- Upload pack file voegt een .sridupack-bestand toe dat uit de app is geëxporteerd, wat de instelling voor delen ook zegt. Je kunt ook bestanden kopiëren naar
./server/admin/packs/. Ze worden toegevoegd bij de volgende start of als je dit tabblad opent. - Gecontroleerd bij binnenkomst: elke upload wordt byte voor byte gecontroleerd op formaat, limieten en echte audio, en daarna opnieuw weggeschreven. De bibliotheek bevat maximaal 500 pakketten en 2 GB.

Update
Updaten met één klik
Het tabblad Update brengt je installatie naar een nieuwe versie. Een kleine hulpcontainer, de updater, bouwt die terwijl de oude containers blijven draaien en wisselt daarna alleen de containers die veranderd zijn. Spelers merken een onderbreking van een paar seconden.
- Status bovenaan: een kaart zegt wat er gebeurt (up-to-date, een nieuwe versie staat klaar, bezig met updaten, mislukt) en biedt de knop voor de volgende stap. Daaronder zie je de draaiende versie, die in je map en de nieuwste release.
- Rebuild: bouwt opnieuw vanuit de bestanden in je installatiemap, bijvoorbeeld nadat je er een nieuwe release overheen hebt uitgepakt.
- Download and update: met de downloadmodus aangezet in
docker-compose.yml(hoe). Het haalt de nieuwe versie op van sridu.com, laat je compose-bestanden, instellingen en gegevens met rust en bouwt opnieuw. Go back zet de bestanden van vóór de laatste download terug. - Je ziet het als er iets klaarstaat: een kleine “1” naast Update in het menu en een banner op het overzicht. Dat gebeurt als er een nieuwere release uit is, of als er al een nieuwere versie in je map staat die nog niet gebouwd is.
- Hoe hij het weet: elke zes uur, en elke 15 minuten zolang de beheerpagina openstaat, haalt je server een klein bestand op van sridu.com (
latest.json). Check now vraagt het meteen. “What is sent?” op het tabblad laat precies zien wat er de deur uit gaat: een gewoon verzoek zonder cookies of ID, en daarmee wordt niets gedownload of geïnstalleerd. Zet het uit op het tabblad of metSRIDU_UPDATE_CHECK: "off". - Ingeklapt: de stappen om met de hand te updaten en het log. Mislukt een build, dan draait de oude versie gewoon door.
- Veilig opgezet: alleen de updater mag Docker gebruiken, en de beheerpagina kan hem om deze drie taken vragen en verder niets. Hij heeft geen open poort en zit buiten het netwerk van je andere containers. Wil je hem liever niet? Verwijder dan de service
updateruitdocker-compose.yml. - Nog geen updater? Op oudere installaties toont het tabblad de regels die je aan
docker-compose.ymlmoet toevoegen. Na het wisselen kan de beheerpagina opnieuw om je wachtwoord vragen.

Account & backup
Je wachtwoord en een back-up
Er is één wachtwoord voor de pagina en er zijn geen gebruikersnamen.
- Wachtwoord wijzigen: het huidige, dan twee keer het nieuwe, minstens 12 tekens. Elke andere ingelogde browser wordt uitgelogd.
- Uitloggen staat rechtsboven op elk tabblad.
- Vergeten? De regel onder het formulier zegt het al: verwijder
admin.jsonen start opnieuw, en stel dan met de setupcode een nieuw wachtwoord in. Stap voor stap in de vragen hieronder. Je raakt geen instellingen kwijt. - Back-up: Download backup slaat elke instelling van de beheerpagina op in één bestand, om te bewaren of mee te nemen naar een andere installatie. Het beheerderswachtwoord en het relaywachtwoord zitten er niet in, en het logo blijft op de server. Restore from file vervangt elke instelling door die in het bestand.

Twee plekken
docker-compose.yml of beheerpagina?
De meeste instellingen bestaan op allebei. Het bestand geeft de startwaarde, en de beheerpagina kan die overrulen, vak voor vak.
| Op het vak | Wat het betekent |
|---|---|
| from the compose file | De waarde komt uit docker-compose.yml. Wijzig hem in het bestand en start opnieuw, of sla het vak hier op. |
| set here | Je hebt dit vak op de beheerpagina opgeslagen. Het gaat nu voor op het bestand, ook na opnieuw starten of een update. Wijzigingen in het bestand voor dit vak hebben geen effect. |
| Back to the compose file | De knop verschijnt zodra een vak hier is opgeslagen. Hij laat de opgeslagen waarden vallen, en het bestand telt weer. |
| Default: all on | Customise the app, de mededeling en de startinstellingen voor nieuwe apparaten. Die bestaan alleen op de beheerpagina. Eenmaal opgeslagen laat Back to the default ze weer vallen. |
- Alleen op de beheerpagina: Customise the app, logo, welkomsttekst en mededeling, startinstellingen voor nieuwe apparaten, woordfilter en geblokkeerde apparaten, colofon en privacyverklaring, de spelers op de ranglijst.
- Alleen in het bestand: openbare naam,
SRIDU_HOSTS, poorten, eigen broker, spelersgegevens op de server, beheertoegang van buitenaf,PUID/PGID. - Elke instelling in het bestand staat in het overzicht van instellingen.
Vragen
Als iets niet duidelijk is
Ik ben het wachtwoord vergeten
Verwijder het bestand admin.json in de datamap (server/admin/ thuis, deploy/public/data/ op de openbare server) en start het project opnieuw. Synology: Project, Actie, Opnieuw starten. Terminal: docker compose restart api in de map met docker-compose.yml.
Er staat dan een nieuwe setupcode in SETUP-CODE.txt en in het log, en je kiest een nieuw wachtwoord. Instellingen, ranglijst en juridische teksten blijven zoals ze zijn.
Kan ik hem van buiten mijn thuisnetwerk openen?
De veilige manier is een vpn die je telefoon of laptop in je thuisnetwerk zet, bijvoorbeeld de vpn van je router. Gebruik dan het gewone lokale adres.
Anders voeg je SRIDU_ADMIN_REMOTE: "on" toe aan de instellingen bovenaan docker-compose.yml en start je opnieuw. De pagina antwoordt dan overal vandaan, ook via je domein. Doe dat alleen met een lang wachtwoord.
Waar worden de instellingen opgeslagen?
In de datamap, als gewone bestanden: settings.json (alles wat op de beheerpagina is opgeslagen), admin.json (het wachtwoord, alleen als hash), board.json (ranglijst), reports.json (meldingen uit de lobby), usage.json (gebruikscijfers) en het logo. Maak een back-up van de map en je hebt alles.
Verwijder settings.json en start opnieuw, dan staat elk vak weer op de waarden uit docker-compose.yml. Alles wat alleen op de beheerpagina bestaat, is dan ook weg: de aangepaste app, woordfilter, blokkades en juridische teksten.
Moet ik na een wijziging opnieuw starten?
Niet na opslaan op de beheerpagina. Spelers krijgen de wijziging de volgende keer dat de app laadt. Alleen wijzigingen in docker-compose.yml hebben een herstart nodig.
Waarom is er geen beheerpagina met alleen de bestanden of op webruimte?
De beheerpagina hoort bij de adminservice van de Docker-opstelling. De varianten met alleen bestanden of webruimte hebben geen eigen server, zie de vier manieren naast elkaar. Voor webruimte en Cloudflare Pages is er in plaats daarvan de configurator: dezelfde keuzes waar die zonder server werken, opgeslagen als config.json.
Ben je de server zelf aan het opzetten? De installatie voor Synology, Unraid, Linux en Docker Desktop staat bij Docker thuis, het opzetten van een domein bij openbare server. Elk apparaat kan daarna ook Sridu als app installeren. Host je voor een café of een evenement? Zie wie wat mag.