تخته نرد – شفافیت و امنیت
Server-Authoritative چیست؟
سرور تمام حرکات بازی را تأیید میکند. دستگاهت فقط وضعیت بازی را نمایش میدهد - نمیتواند نتایج را تغییر یا تحت تأثیر قرار دهد.
سرور کنترل میکند:
- تولید تاس
- اعتبارسنجی حرکت
- مدیریت تایمر
بازیکن کنترل میکند:
- زمان تولید تاس
- حرکت مهرهها
چگونه تاسها تولید میشوند؟
تمام پرتابهای تاس روی سرور با استفاده از rand crate زبان Rust تولید میشوند:
- هر تاس یک عدد تصادفی از ۱ تا ۶ تولید میکند
- تاسهای بیطرفانه - احتمال برابر برای همه مقادیر (۱-۶)
- RNG از نظر رمزنگاری امن (مبتنی بر ChaCha، همان کلاسی که در TLS استفاده میشود)
- با آنتروپی سیستمعامل مقداردهی میشود — استاندارد طلایی تصادفی بودن
- از مولد اعداد تصادفی استاندارد Rust (rand crate v0.10) استفاده میکند
مشاهده کد منبع
// engine/src/manager/dice_manager.rs
let value = rand::rng().random_range(1..=6);rand 0.10 - معتبرترین کتابخانه اعداد تصادفی Rust (بیش از ۵۰۰ میلیون دانلود)
چه کسی اول شروع میکند؟
سرور به طور تصادفی تصمیم میگیرد که کدام بازیکن اول شروع کند:
- از یک مقدار منطقی تصادفی (درست/نادرست) برای انتخاب بازیکن شروعکننده استفاده میکند
- هر بازیکن دقیقاً ۵۰٪ شانس برای شروع دارد
- هیچ بازیکنی برتری ندارد
چرا این مهم است؟
- تقلب ممکن نیست - تمام منطق بازی روی سرور اجرا میشود
- هر تصمیم (تاس، حرکات، بردها) در سمت سرور اعتبارسنجی میشود
- دستگاهت فقط آنچه را که سرور به آن میگوید نمایش میدهد
- سرور تنها منبع حقیقت است - هیچکس نمیتواند نتایج را دستکاری کند
محتوای پولی
مواردی مانند چای و طرح مهرهها به سلیقه شخصی مربوط میشوند.
- با بازی به دست میآیند یا خریداری میشوند
- بدون تأثیر بر نتایج بازی