Нарды – Прозрачность и безопасность
Что значит «всё решает сервер»?
Сервер проверяет все игровые действия. Твоё устройство только показывает состояние игры — оно не может ни изменить результаты, ни повлиять на них.
Сервер контролирует:
- Броски костей
- Проверка ходов
- Отсчёт времени
Игрок контролирует:
- Момент броска костей
- Какими шашками ходить
Как генерируются броски костей?
Все броски костей генерируются на сервере с помощью библиотеки rand для Rust:
- На каждой кости выпадает случайное число от 1 до 6
- Без перекосов — каждое число (1–6) выпадает с равной вероятностью
- Криптографически стойкий генератор (на базе ChaCha — того же класса, что используется в TLS)
- Инициализируется энтропией операционной системы — золотой стандарт случайности
- Использует стандартный генератор случайных чисел Rust (библиотека rand v0.10)
Исходный код
// engine/src/manager/dice_manager.rs
let value = rand::rng().random_range(1..=6);rand 0.10 — самая надёжная библиотека случайных чисел для Rust (более 500 млн загрузок)
Кто ходит первым?
Сервер случайным образом решает, какой игрок ходит первым:
- Использует случайное булево значение (истина/ложь) для выбора начинающего игрока
- У каждого игрока ровно 50% шансов ходить первым
- Жребий не отдаёт предпочтения ни одному игроку
Почему это важно?
- Читерство невозможно — вся игровая логика работает на сервере
- Каждое решение (кости, ходы, победы) проверяется на сервере
- Твоё устройство только показывает то, что передаёт сервер
- Сервер — единственный источник истины: никто не может подделать результаты
Платный контент
Такие вещи, как чай и скины шашек, — это вопрос личного стиля.
- Зарабатываются в игре или доступны для покупки
- Не влияют на результаты игры