🎮 Документація Ігрової Платформи

Інтеграція з WebSocket іграми: Dice, Balls, Roulette

🚀 Швидкий старт

Підключення до сервера

💡 Підказка: Токен повинен існувати в таблиці `session` БД. Використовуйте кнопку "Використати тестовий токен" для демонстрації.

💰 Вибір валюти та баланс

Баланс: оберіть валюту
// Підключення до WebSocket сервера const socket = io('https://game.luckygames.app:8443', { auth: { token: 'YOUR_JWT_TOKEN' } }); // Обробка підключення socket.on('connect', () => { console.log('Підключено до ігрового сервера'); }); // Обробка помилок socket.on('error', (error) => { console.error('Помилка підключення:', error); });

Тест підключення

Статус: Відключено

🎲 Гра в Кубики

Правила гри

  • Передбачте, чи буде число більше або менше вашого цільового значення
  • Діапазон: 0-99 (100 можливих результатів)
  • Типи ставок: "over" (більше) або "under" (менше)
  • Коефіцієнт: (1 / ймовірність_виграшу) × 0.99
// Гра в кубики socket.emit('playDice', { amount: 100, // Сума ставки (в центах) target: 50, // Цільове число (1-98) prediction: 'over', // 'over' або 'under' paymentMethod: 1 // ID методу платежа (опціонально, за замовчуванням 1) }); // Обробка результату socket.on('diceResult', (result) => { console.log('Результат:', result); // result.number - випале число // result.win - чи виграв гравець // result.payout - виплата });

Гра в кубики

⚽ Гра в М'ячики

Правила гри

  • Оберіть від 1 до 9 чисел з діапазону 1-10
  • Коефіцієнт: (10 / кількість_обраних) × 0.95
  • Перемагаєте, якщо випале число серед обраних
// Гра в м'ячики socket.emit('balls:play', { amount: 100, // Сума ставки numbers: [1, 5, 7, 9], // Обрані числа (1-9 чисел) paymentMethod: 1 // ID методу платежа (опціонально) }); // Обробка результату socket.on('ballsResult', (result) => { console.log('Результат:', result); // result.drawnNumber - випале число // result.win - чи виграв гравець // result.payout - виплата });

Гра в м'ячики

Оберіть числа (1-9 чисел):

🎰 Рулетка

Типи ставок

  • Пряма (35:1): Одне число
  • Спліт (17:1): Два сусідніх числа
  • Стріт (11:1): Три числа в ряд
  • Кутова (8:1): Чотири числа
  • Лінія (5:1): Шість чисел
  • Дюжина/Колонка (2:1): 12 чисел
  • Рівні шанси (1:1): Червоне/Чорне, Парне/Непарне
// Рулетка socket.emit('roulette:play', { bets: [ { type: 'straight', // Тип ставки numbers: [7], // Числа amount: 50 // Сума на цю ставку }, { type: 'red', // Ставка на червоне amount: 50 } ], paymentMethod: 1 // ID методу платежа (опціонально) }); // Обробка результату socket.on('rouletteResult', (result) => { console.log('Результат:', result); // result.number - випале число // result.color - колір числа // result.totalPayout - загальна виплата });

Рулетка

📝 Повні приклади коду

Повна інтеграція

class GameClient { constructor(serverUrl, token) { this.socket = io(serverUrl, { auth: { token: token } }); this.setupEventHandlers(); } setupEventHandlers() { this.socket.on('connect', () => { console.log('Підключено до ігрового сервера'); }); this.socket.on('diceResult', this.handleDiceResult.bind(this)); this.socket.on('ballsResult', this.handleBallsResult.bind(this)); this.socket.on('rouletteResult', this.handleRouletteResult.bind(this)); this.socket.on('error', (error) => { console.error('Помилка:', error); }); } playDice(amount, target, prediction) { this.socket.emit('playDice', { amount: amount, target: target, prediction: prediction }); } playBalls(amount, numbers) { this.socket.emit('balls:play', { amount: amount, numbers: numbers }); } playRoulette(bets) { this.socket.emit('roulette:play', { bets: bets }); } handleDiceResult(result) { console.log('Dice:', result); } handleBallsResult(result) { console.log('Balls:', result); } handleRouletteResult(result) { console.log('Roulette:', result); } } // Використання const gameClient = new GameClient('https://game.luckygames.app:8443', 'YOUR_TOKEN');