Event-Quellen

Jede Quelle speist denselben Server-Kern (erstellen → abrechnen) hinter einer generischen fixtures-Abstraktion. Der Kern weiss nie, ob ein Event aus einer echten API oder aus Ihrer Vorstellung stammt. Standardmaessig werden die Quoten von HZ-Bets generiert (im Totalisator bepreist) — oder, mit der optionalen the-odds-api-Quelle weiter unten, als echte Buchmacher-Quoten importiert (feste Quoten).


ESPN — alle Sportarten, keylos

Config.Sources.espn zieht das oeffentliche Scoreboard von ESPN fuer jede konfigurierte Liga: NBA, WNBA, MLB, NHL, NFL, UFC und Fussball weltweit (Premier League, La Liga, Ligue 1, Bundesliga, Serie A, MLS, Brasilien, Mexiko…). Fussball wird zu einem 1/X/2-Markt; jede andere Sportart zu einem 2-Wege-Sieger.

Es legt anstehende Spielplaene automatisch an, streamt den Live-Spielstand und rechnet automatisch auf das echte Ergebnis ab. Jede Liga ist eine Konfigurationszeile:

Leagues = {
    { sport = 'basketball', league = 'nba' },
    { sport = 'baseball',   league = 'mlb' },
    { sport = 'hockey',     league = 'nhl' },
    { sport = 'football',   league = 'nfl' },     -- American football
    { sport = 'mma',        league = 'ufc' },     -- per-fight on a card
    { sport = 'soccer',     league = 'eng.1' },   -- Premier League
    -- … add / remove freely
}

Ligen ausserhalb der Saison liefern einfach nichts zurueck; laufende fuellen das Board automatisch.

Inoffizieller Endpunkt. Das Scoreboard von ESPN ist oeffentlich und keylos, aber undokumentiert — ESPN gibt keine Garantie und koennte es aendern. HZ-Bets degradiert elegant: Eine fehlerhafte / leere / unerwartete Antwort bewirkt nichts (es liefert das zuletzt bekannte Board weiter aus und rechnet niemals auf fehlerhaften Daten ab). Sollte ESPN jemals sein Format aendern, pausieren Live-Updates bis zu einem Script-Update — Wetten werden niemals beschaedigt. Es ist per Design opt-in (Config.Sources.espn.Enabled).

Wie es abrechnet: Der Spielstand ist die Quelle der Wahrheit (das Siegerflag legt nur jemals ein Veto gegen einen Widerspruch ein), und ein Event wird nur bei einem sauberen, ausgetragenen Endstand abgerechnet — niemals bei einem verschobenen / abgebrochenen Spiel.


the-odds-api — echte Buchmacher-Quoten (optional)

ESPN liefert Ihnen Spielplaene, aber keine Quoten — daher oeffnet ein frisches Board zu symmetrischen Totalisator-Preisen, bis die Spieler wetten. Config.Sources.oddsapi fuellt Events stattdessen mit echten, datengetriebenen Quoten: dieselben Marktquoten, die die grossen Wett-Apps anzeigen, ueber the-odds-api.com. Es bepreist die Sportarten, die ESPN nicht bepreisen kann, darunter NRL und AFL, dazu Fussball, NBA, NFL, MLB, NHL und MMA. Diese Events verwenden feste Quoten (eine ueber die Buchmacher gemittelte Konsens-Quote) und rechnen auf dem echten Endstand ab.

Serverseitiger Key — niemals einem Client offengelegt. Holen Sie sich einen kostenlosen Key auf the-odds-api.com und setzen Sie ihn in Ihrer server.cfg (er wird niemals innerhalb der Ressource ausgeliefert und niemals an die NUI gesendet):

set hz_bets_oddsapi_key "your_key_here"

Aktivieren Sie dann die gewuenschten Sportarten (Keys von the-odds-api.com/sports):

oddsapi = {
    Enabled = true,
    Regions = 'au',                  -- 1 region = 1 quota credit; 'au' for Aussie books
    Sports  = { 'rugbyleague_nrl' }, -- e.g. add 'aussierules_afl', 'soccer_epl', 'basketball_nba'
    PollIntervalMin = 180,           -- odds refresh (pre-match lines barely move)
}

Hausrisiko. Echte Quoten sind feste Quoten — das Haus traegt das Risiko wie ein echter Buchmacher (ein stark bewetteter Gewinner zahlt aus). Es bleibt durch Config.Bet.MaxPayoutPerSelection und Config.Odds.MaxDecimal begrenzt. Wenn Sie moechten, dass das Haus niemals verliert, belassen Sie diese Sportart stattdessen beim Totalisator-Modell.
Gratis-Kontingent. Der kostenlose Tarif von the-odds-api umfasst 500 Anfragen / Monat. HZ-Bets ist standardmaessig sparsam — eine Region, Quoten werden alle ~3 h abgefragt und Ergebnisse nur, solange ein Spiel aussteht — was fuer eine einzelne Sportart bequem ausreicht. Mehr Sportarten oder eine schnellere Aktualisierung erfordern einen kostenpflichtigen Tarif. Das verbleibende Kontingent wird bei jeder Abfrage protokolliert (aktivieren Sie Config.Debug).
Nicht doppeln. Wenn Sie eine Sportart mit the-odds-api bepreisen, entfernen Sie sie aus Config.Sources.espn (und umgekehrt), sonst erstellen beide Quellen dieselben Spielplaene doppelt. Alles Nachgelagerte — Abrechnung, Ledger, Auszahlungen — ist identisch mit jeder anderen Quelle.

OpenLigaDB — Fussball, ODbL

Config.Sources.openligadb ist ein keyloser, auth-freier, offener Fussball-Feed (https://api.openligadb.de). Listen Sie Ligen als shortcut oder shortcut/season auf (wm26/2026 fuer die Weltmeisterschaft, bl1/2025, dfb…). Es legt die konfigurierten Maerkte mit echten Team-Wappen automatisch an, rechnet auf dem Endstand ab und veroeffentlicht die Torschuetzen der Liga („Top des Buteurs").

Quellenangabe (ODbL). Wenn OpenLigaDB aktiviert ist, zeigt die UI einen Hinweis „Données de match : OpenLigaDB · ODbL 1.0". Behalten Sie ihn — er ist durch die Open Database License vorgeschrieben.

Laufende Spiele werden in einem schnelleren Takt abgefragt, um Live-Ergebnisse und eine schnelle Abrechnung zu ermoeglichen.


RP — vom Admin erstellte Events

Die RP-Quelle hat keine externe Abhaengigkeit: Sie erstellen Events von Hand ueber den Ingame-Admin-Bildschirm — Rennen, Kaempfe, fiktive Spiele, alles Moegliche — fuer jede Sportart, mit Ihren eigenen Ausgaengen und Quoten. So erstellen Sie auch einen bewettbaren Torschuetzen-Markt (Buteur) (der Admin waehlt aus, wer getroffen hat). Siehe Maerkte & Quoten.


Elegante Degradierung

Alle API-Arbeit erfolgt ausschliesslich serverseitig und wird zwischengespeichert; der Client ruft niemals eine API auf. Eine Quelle, die Muell zurueckgibt oder ausfaellt, kann die Ressource niemals zum Absturz bringen, ein fehlerhaftes Event erstellen oder eine Wette falsch abrechnen — sie hoert einfach auf zu aktualisieren, bis sie sich erholt. Bereits erstellte Events bleiben die ganze Zeit sichtbar (zuletzt bekanntes Board).