Оригінальний картковий батл для 2–4 друзів, натхненний механіками UNO.
У кожного 7 карт. Чотири кольори: синій Е, жовтий К, червоний Д і зелений Л.
Збігається колір або значення? Викладай. Або зіграй дозволений джокер. Немає ходу — візьми одну карту й передай хід.
Час минув? Сервер додає карту й передає хід. Перший без карт — переможець.
Вони змінюють усе. Крім чесних правил.
Порядок ходів змінюється. У грі вдвох суперник пропускає хід.
Наступний гравець пропускає хід. Передавай привіт своїм.
Наступний учасник бере 2 карти й пропускає хід. Штрафи не складаються.
Можна зіграти на будь-яку карту. Обери колір, з якого продовжиться батл.
Дозволено, тільки якщо в руці немає активного кольору. Суперник бере 4 й пропускає хід.
Перед розіграшем із двох карт натисни «ЕКДЛ!». Якщо після твого ходу залишилася одна карта без оголошення, сервер одразу додає штрафні 2 карти. Кнопка також доступна з однією картою; оголошення скидається після твого розіграшу або добору.
Ні. Штрафні карти беруться одразу, після чого оштрафований гравець пропускає хід. +4 без перевірки активного кольору сервер не прийме.
Гравець бере одну карту, і хід одразу передається далі. Щойно взяту карту можна буде зіграти на своєму наступному ході.
Створи приватну кімнату, поділися кодом і дочекайся всіх друзів. Власник натискає «Почати батл». За прямим запрошенням удвох матч запускається автоматично.
Сайт повторно читає стан сервера після відновлення мережі, повернення у вкладку та кожні 20 секунд. Твоя рука не губиться. Таймер не зупиняється; прострочений хід застосовується під час наступного звернення до сервера.
Партія завершується технічно. Перемогу отримує поточний гравець; якщо виходить саме він, перемога дістається іншому учаснику. Перед виходом сайт просить підтвердження.
Ні. У лобі тільки профілі реальних людей, створені на сервері. Якщо нікого немає, запроси друга на іншому пристрої.
Інтерфейс і серверна логіка готові. Для гри між пристроями потрібне підключене серверне сховище.
На поточному плані керована база даних GenMB недоступна — це функція Pro. Зараз доступні вбудоване ключ-значення сховище та Realtime. Для справжньої бази є два варіанти: перейти на Pro або безкоштовно підключити власний Supabase у панелі Database. Ця гра підготовлена для другого варіанта.
У панелі Database вибери підключення свого проєкту Supabase. Не вставляй секретні ключі у форми гри.
Виконай файл database/setup.sql у SQL Editor Supabase. Він створює профілі, хеші паролів, сесії, кімнати та запрошення, вмикає RLS і закриває прямий доступ браузерам.
Задай SUPABASE_URL та SUPABASE_SERVICE_ROLE_KEY у Secrets GenMB. Якщо потрібен мережевий дозвіл, додай домен свого Supabase до дозволених для серверних функцій.
У панелі Add-ons увімкни серверні функції та розгорни functions/battle.ts разом із functions/engine.ts та functions/types.ts. Потім відкрий гру на 2–4 пристроях, увійди різними ніками й приєднайся за кодом.
Без секретів у клієнті. Паролі хешуються bcrypt на сервері, токени зберігаються там лише як SHA-256. Суперник бачить тільки кількість твоїх карт. Кожен хід і кожну перемогу перевіряє сервер.
Вбудований KV використовується лише для налаштування звуку; це не захищена база профілів. Повна інструкція та обмеження є у файлі SETUP.md. До налаштування сайт не імітує мультиплеєр.
Перевір колоду, спеціальні карти, штрафи та повну партію для 2, 3 і 4 учасників. Це локальні програмні тести правил — не реальний мультиплеєр і не гравці в лобі. Міжпристроєву синхронізацію потрібно перевірити після підключення сервера.