Fuentes de eventos
Cada fuente alimenta el mismo núcleo del servidor (crear → liquidar) detrás de una abstracción fixtures genérica. El núcleo nunca sabe si un evento vino de una API real o de su imaginación. Por defecto las cuotas son generadas por HZ-Bets (con precio de pool) — o, con la fuente opcional the-odds-api de abajo, importadas como lineas reales de casas de apuestas (cuotas fijas).
ESPN — todos los deportes, sin clave
Config.Sources.espn extrae el marcador público de ESPN para cada liga configurada: NBA, WNBA, MLB, NHL, NFL, UFC, y futbol mundial (Premier League, La Liga, Ligue 1, Bundesliga, Serie A, MLS, Brasil, México…). El futbol se convierte en un mercado 1/X/2; cualquier otro deporte en un Ganador a 2 vías.
Crea automáticamente los próximos partidos, transmite el marcador en vivo, y liquida automáticamente sobre el resultado real. Cada liga es una línea de configuración:
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
}
Las ligas fuera de temporada simplemente no devuelven nada; las que están en temporada llenan el tablero automáticamente.
Config.Sources.espn.Enabled).Como liquida: el marcador es la fuente de verdad (la marca de ganador solo veta una discrepancia), y un evento solo liquida sobre un final limpio y jugado — nunca sobre un partido aplazado / abandonado.
the-odds-api — cuotas reales de casas de apuestas (opcional)
ESPN le da los partidos pero ninguna cuota — así que un tablero nuevo se abre con precios de pool simétricos hasta que los jugadores apuestan. Config.Sources.oddsapi en cambio llena los eventos con cuotas reales basadas en datos: las mismas lineas de mercado que muestran las grandes apps de apuestas, vía the-odds-api.com. Pone precio a los deportes que ESPN no puede cotizar, incluyendo NRL y AFL, además de futbol, NBA, NFL, MLB, NHL y MMA. Estos eventos usan cuotas fijas (una línea de consenso promediada entre casas de apuestas) y se liquidan sobre el marcador final real.
server.cfg (nunca se incluye dentro del recurso y nunca se envía a la NUI):
set hz_bets_oddsapi_key "your_key_here"
Luego active los deportes que quiera (claves de 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)
}
Config.Bet.MaxPayoutPerSelection y Config.Odds.MaxDecimal. Si quiere que la banca nunca pierda, mantenga ese deporte en el modelo de pool.Config.Debug).Config.Sources.espn (y viceversa), o ambas fuentes crearan los mismos partidos dos veces. Todo lo que viene después — liquidación, libro mayor, pagos — es idéntico a cualquier otra fuente.
OpenLigaDB — futbol, ODbL
Config.Sources.openligadb es un feed de futbol sin clave, sin autenticación y abierto (https://api.openligadb.de). Liste las ligas como shortcut o shortcut/season (wm26/2026 para la Copa del Mundo, bl1/2025, dfb…). Crea automáticamente los mercados configurados con escudos de equipo reales, liquida automáticamente sobre el marcador final, y pública los máximos goleadores de la liga ("Top des Buteurs").
Los partidos en juego se sondean con una cadencia más rápida para marcadores en vivo y liquidación rápida.
RP — eventos creados por el administrador
La fuente RP no tiene dependencia externa: usted crea eventos a mano desde la pantalla de administración en el juego — carreras, combates, partidos ficticios, lo que sea — para cualquier deporte, con sus propios resultados y cuotas. Así es también como se crea un mercado de goleador apostable (Buteur) (el administrador elige quien marco). Consulte Mercados y cuotas.
Degradación con elegancia
Todo el trabajo de API es unicamente del lado del servidor y se almacena en cache; el cliente nunca llama a una API. Una fuente que devuelve basura o se cae nunca puede bloquear el recurso, crear un evento mal formado, ni liquidar mal una apuesta — simplemente deja de actualizarse hasta que se recupera. Los eventos ya creados permanecen visibles (último tablero conocido) todo el tiempo.
