Jak kasyno łączy dostawców na żywo przez most
Co to jest most w kontekście kasyna na żywo
Most jest warstwą między platformą operatora a dostawcami na żywo (Evolution, Pragmatic Live, Ezugi, TVBet itp.), która normalizuje API, wydarzenia, logowanie i obliczenia finansowe. Po prostu, most sprawia, że kilkanaście różnych integracji „pozornie” to samo: pojedynczy kontrakt bukmacherski, jeden okrągły schemat statusu, monotonne haki i raportowanie.
Dlaczego jest to potrzebne
Pojedynczy kontrakt dla kilkudziesięciu dostawców (mniej zmian platformy).
Idempotencja i ochrona przed bierze (przekaźniki sieci, ponownie połączyć gracza).
Normalizacja katalogu (tabele, limity, zakłady boczne, lokalizacje).
Pojedyncze biurko i zasady ryzyka (limity, AML/KYT, RG).
Monitorowanie strumienia QoS i SLA przez dostawcę.
Łańcuch komponentów
1. Platforma kasynowa (gospodarz): konta, KYC/RG, bonusy, portfel, przód.
2. Most: adaptery dostawców, autobus imprezowy, mapowanie stołu/limitu, rachunkowość finansowa, rejestrowanie, haki internetowe.
3. Live-Provider: stream (zwykle WebRTC/HLS), silnik gier, obliczenia wyników, dealerów.
4. Portfel: bez szwu (saldo przechowywane przez operatora) lub Przelew (depozyt do banku gry od dostawcy).
5. Obserwowalność: metryki strumieniowe (FPS, RTT, bufor), metryki biznesowe (Bet, GGR, Hold).
Protokoły i sesje sieciowe
Wideo:- WebRTC - wymagana niska opóźnienie (100-500 ms), ICE/STUN/TURN.
- HLS/LL-HLS - większe opóźnienie, ale prostsze CDN.
- Zakłady i wydarzenia: WebSocket/HTTP-SSE/REST.
- Żetony: krótkotrwały JWT/nieprzezroczysty (TTL 3-10 min), obrót na życzenie dostawcy.
Modele portfeli
1) Portfel bez szwu (zalecane)
Zakład/płatność przechodzi przez most do portfela operatora.
Plusy: ujednolicona równowaga, natychmiastowa kontrola limitów, uproszczony RG.
Wady: Surowe wymagania dotyczące przystępności cenowej portfela (SLA).
2) Portfel transferowy
Gracz przekazuje środki do „banku stołowego” u dostawcy.
Plusy: mniejsze obciążenie portfela operatora podczas szczytów.
Minusy: trudniejsze zwroty, uzgodnić i AML kontroli, tarcie w UX.
Cykl życia sesji (bez szwu)
1. Sesja → Bridge tworzy ' Id', zwraca' streamUrl', 'betSocketUrl'.
2. Przód otwiera odtwarzacz (WebRTC/HLS) i połączenie zdarzenia.
3. Gracz obstawia → 'Zakład' w mostku ('idempot, Key', 'roundId',' selection ',' stake ').
4. Mostek wstępnie autoryzuje kwotę (trzymać) w portfelu → potwierdza dostawcy.
5. Dostawca deklaruje "bet" Zamknięte" → spin/deal → "roundResult".
6. Most oblicza wypłatę, odpisuje/przytrzymuje zwrot, generuje ' Id'.
7. Bridge wysyła hak na platformę ('roundId',' result ',' payout ',' After '), pisze do księgi.
8. Zakończenie/ponowne podłączenie - za pomocą symbolu (idempotent).
Umowa o zdarzenie (przykład)
→ wskaźnik mostu (WS/REST):json
{
„typ”: „bet. miejsce”, „idempot” Klucz„: ”c0a4-77f„..., ” „: ” „ ”roundId„: ” „ ”wybór„: [{”rynek„: ”ruletka _ prosta„, ”wartość„: ”17„}], ”stawka„: {”kwota„: ”5 00 ", "waluta":" EUR"}, " profil":" VIP _ A"
}
Odpowiedź mostowa:
json
{
„status”: „przyjęty”, „” Hold „:” -5. 00 „,” betId': „bet _ 9f2”..., „ Limits”: {„maxBet':” 5000. 00"}
}
Wynik rundy → platformy (webhook):
json
{
"event ":" runda. settle "," roundId': "R-2025-10-17-18: 45: 03-Table23", "bets': [
{„betId':” bet _ 9f2 „...,” stake „:” 5. 00 „, „wypłata”:” 180. 00 ", "wynik":" WIN"}
], „transakcje”: [
{„id':” trn _ bet _ 9f2 „...,” type „:” DEBIT „,” amount „:” 5. 00 "}, {" id': "trn _ pay _ 9f2"..., "type": "CREDIT", "amount": "180. 00"}
], "Po":" 1320. 40"
}
Najważniejsze zasady:
- Wszystkie prośby z 'idempot, Key'.
- Jasne wpisywanie wyników: „WIN/LOSE/PUSH/VOID/RETRY”.
- Stabilne identyfikatory: 'roundId' jest unikalny globalnie (tabela + czas + odłamek).
Katalog i limity
Odkrycie: '/providers/: id/tables '- lista tabel, limity, zakłady boczne, języki, harmonogram.
Puli limitów: 'DEFAULT', 'VIP _ A', 'VIP _ B', 'Ultra'.
Reguły mapowania stanu kraju/waluty/KYC → dozwolone tabele i profile limitów.
Zmiana limitu na gorąco: 'limity'. aktualizacja 'bez ponownego uruchomienia tabeli.
Obserwacja strumienia i jakość (QoS)
Mierniki według gracza:- RTT sygnałów zakładu (cel <150 ms WebRTC).
- Opuszczone klatki/zdarzenia buforowe.
- Dostosowanie bitrate/rozdzielczości.
- Opóźnienie postawić okno (czas między 'bet Open' a rzeczywistą akceptacją zakładu).
- Czas trwania stołu, przerwane rundy, późne osiedla, częstotliwość „VOID”.
- Średni czas do rozliczenia po zamknięciu stawek.
- Alerty QoS: degradacja FPS, kolce „wsteczne”.
Zgodność i bezpieczeństwo
KYT/AML: analiza źródeł depozytów, flaga „wysokiego ryzyka” → zakaz zakładów na żywo.
RG (gra odpowiedzialna): timeouts, limity, self-exclusion - stosowane przed 'keyBet'.
rezydencja danych: logika i PII są przechowywane przez operatora; mostów przechowuje tylko te kłody i agregaty.
Bezpieczeństwo transportu: mTLS/IP-whitelist do dostawców, podpis żądania HMAC, krótkie tokeny TTL.
Audyt: rejestr niezmienny (tylko WORM/dodatek), eksport za pomocą "roundId "/" δId'.
Rozliczenie, uzgodnienie i zwrot
Rozliczanie w locie: natychmiastowe obciążenie/kredyt dla każdego wyniku.
Uzgodnienie partii: uzgodnienie raportów dostawców (godzinowych/dziennych) z księgą mostową (P&L, prowizja).
Scenariusze VOID/REFUND: awaria strumienia, błąd dealera, spór - częściowy/pełny zwrot z wyraźnymi kodami przyczynowymi.
Dispute-center: zbiór nagrywania wideo (timecode), dzięki czemu obsługa szybko rozwiązuje bilety.
Wydajność i tolerancja uszkodzeń
Skalowanie: bezpaństwowe adaptery dostawców + Kafka/NATS jako autobus imprezowy.
Przechowywanie: gorące (Redis) dla sesji/limitów, ciepłe (Postgres) dla księgi, zimne (S3) dla dzienników.
Folbacks: jeśli portfel nie odpowiada - 'SOFT _ DECLINE' z retrasami; jeśli dostawca nie jest dostępny - wyłączyć tabele/ukryć w holu.
Idempotentne przekładki: bezpiecznie jest powtarzać 'Zakład '/' rozliczać' w czasie sieci.
UX: wzory czołowe
Synchronizacja zegara: Użyj 'serverTime' z mostu do 'Zamknij zakłady przez...' timers
Lokalizacja: język dealera, język, interfejs; pokaż napisy/słownik terminów.
Odtwarzacz strumieniowy: auto-fallback WebRTC → LL-HLS ze złą siecią.
Błąd UI: jasne kody („LBRG-401 TOKEN_EXPIRED',' LBRG-429 LIMIT_EXCEEDED'”, LBRG-503 PROVIDER_DOWN').
Multi-table: szybkie tabele przełączania bez łamania sesji (ponowne użycie ' Id').
Anty-wzory
Przechowywać długotrwałe żetony na kliencie.
Akceptuj ofertę po 'Bet zamknięty' ze względu na transakcję - gwarantowany spór.
Brak 'idempotonoKey' → duplikaty w przekładniach.
Zmieszaj strefy czasowe w ' Id' i raporty.
Ustaw granice „po oku” bez profili i statusu KYC.
Ignoruj strumień QoS - wysoki churn w sieciach komórkowych.
Plan realizacji krok po kroku (lista kontrolna)
Architektura i kontrakty
- Napraw jedną umowę na imprezę: "bet. place", "bet. akceptowane „,” zakład. odrzucone ',' runda. rozliczać „,” limity. aktualizacja ',' sesja. zamknąć „,” dostawca. błąd '.
- Zdefiniować idempotencję i formaty 'roundId',' betId', ' Id'.
- Wybierz model portfela (bezszwowy priorytet).
Bezpieczeństwo
- mTLS dla dostawców, haki do podpisu HMAC, token TTL ≤ 10 minut.
- Polityka RG/AML/KYT przed dopuszczeniem do stawek, dziennik audytu.
Katalog i limity
- Tabele importu i profile limitów, mapowanie według kraju/waluty/ACC.
- Gorąca aktualizacja limitów i statusów tabeli.
Frontend
- Odtwarzacz WebRTC z folbackiem LL-HLS, zegar synchronizacyjny, stabilne zegary.
- Kody błędów i wiadomości czytelne dla ludzi.
Plan badań
- Skrypty o dużym opóźnieniu/strata pakietu, ponowne połączenie bez utraty oferty.
- Kliknij dwukrotnie ofertę → jeden debet (idempotency).
- VOID/REFUND, sporne rundy, rozbieżności w sprawozdaniach.
Obserwowalność
- Даборz QoS: RTT, opuszczone klatki, aborcje, time-to-settle.
- Wpisy dokonane przez dostawcę SLA, uzgodnić raporty.
Most zamienia zoo integracji na żywo w zarządzany system: jednolite stawki, jednolite obliczenia, przewidywalny UX i przejrzysta kontrola jakości strumienia. Dzięki odpowiednio zaprojektowanemu mostowi operator szybciej łączy nowych żywych dostawców, zmniejsza ryzyko technologiczne i chroni P&L poprzez idempotencję, ścisłe ograniczenia i wyraźną obserwowalność.