백개먼 – 투명성 및 보안
서버 권한 방식이란?
서버가 모든 게임 동작을 검증해. 네 기기는 게임 상태만 표시하며 결과를 바꾸거나 영향을 줄 수 없어.
서버가 제어하는 것:
- 주사위 생성
- 이동 검증
- 타이머 관리
플레이어가 제어하는 것:
- 주사위가 생성되는 시점
- 말의 이동
주사위는 어떻게 생성돼?
모든 주사위 굴림은 Rust의 rand 크레이트를 사용하여 서버에서 생성돼:
- 각 주사위는 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에서 가장 신뢰받는 난수 라이브러리 (다운로드 5억 회 이상)
누가 먼저 시작해?
서버가 누가 먼저 시작할지 무작위로 정해:
- 무작위 불리언(참/거짓)으로 시작 플레이어 선택
- 각 플레이어가 정확히 50% 확률로 시작
- 어느 플레이어도 먼저 시작할 확률이 더 높지 않음
왜 중요해?
- 부정행위 불가능 - 모든 게임 로직이 서버에서 실행
- 모든 결정(주사위, 이동, 승리)을 서버에서 검증
- 네 기기는 서버가 알려준 것만 표시
- 서버의 판정이 유일한 기준 - 누구도 결과를 조작할 수 없음
유료 콘텐츠
차나 기물 스킨 같은 아이템은 개인 취향을 위한 거야.
- 플레이로 획득하거나 구매 가능
- 게임 결과에 영향 없음