engineeringfairnessmultiplayer
ಸರ್ವರ್ ಅಧಿಕಾರ ಎಂದರೆ ಲೆಕ್ಕಕ್ಕೆ ಬರುವ ಆಟದ ಏಕೈಕ ಪ್ರತಿ ಸರ್ವರ್ ಬಳಿ ಇರುತ್ತದೆ. ನೀವು ಆಡಬಯಸುವ ನಡೆಯನ್ನು ನಿಮ್ಮ ಸಾಧನ ಕಳುಹಿಸುತ್ತದೆ, ಸರ್ವರ್ ಅದನ್ನು ತನ್ನದೇ ದಾಳಗಳ ಎದುರು ಮತ್ತು ತನ್ನದೇ ನಿಯಮಗಳ ಎದುರು ಪರೀಕ್ಷಿಸುತ್ತದೆ, ಆಗಷ್ಟೇ ಹಲಗೆ ಬದಲಾಗುತ್ತದೆ. ಬದಲಾದ ಆ್ಯಪ್ ಏನನ್ನಾದರೂ ಹೇಳಿಕೊಳ್ಳಬಹುದು: ಸತ್ಯ ಅದರ ಕೈ ಎಟುಕದ ಕಡೆ ವಾಸಿಸುತ್ತದೆ.
ಬ್ಯಾಕ್ಗ್ಯಾಮನ್ ಆ ಕಟ್ಟುನಿಟ್ಟಿಗೆ ಅರ್ಹ. ಇದು ಏಣಿ ಮತ್ತು ಪಾತ್ರೆ ಇರುವ ದಾಳದ ಆಟ, ಅಂದರೆ ಮೋಸ ಮಾಡಲು ಎರಡು ದಾರಿ: ನಡೆಗಳನ್ನು ನಕಲಿ ಮಾಡುವುದು ಅಥವಾ ಉರುಳಿಕೆಗಳನ್ನು ಬಗ್ಗಿಸುವುದು. ನ್ಯಾಯಯುತ ಸರ್ವರ್ ಎರಡೂ ಬಾಗಿಲುಗಳನ್ನು ಮುಚ್ಚಬೇಕು. ಎರಡನೇ ಬಾಗಿಲಿನಲ್ಲಿ ನಾವೂ ಸೇರಿದ್ದೇವೆ, ಅಲ್ಲಿಗೂ ಬರುತ್ತೇವೆ.
ಸರ್ವರ್ ಅಧಿಕಾರ ಎಂದರೆ ನಿಜವಾಗಿ ಏನು?
Orion ನ ನಡೆಯುತ್ತಿರುವ ಪ್ರತಿ ಆಟವೂ ಒಂದೇ ಕಡೆ ಇರುತ್ತದೆ: ನಮ್ಮ ಸರ್ವರ್ನಲ್ಲಿ. ನಿಮ್ಮ ಫೋನಿನ ಹಲಗೆ ಒಂದು ಕಿಟಕಿ, ಆಟವಲ್ಲ. ನೀವು ಕಾಯಿಯನ್ನು ಎಳೆದಾಗ ಆ್ಯಪ್ ಅದನ್ನು ಸರಿಸುವುದಿಲ್ಲ. ನಾನು ಇದನ್ನು ಆಡಬಯಸುತ್ತೇನೆ ಎಂದು ಹೇಳುವ ಚಿಕ್ಕ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ. ಸರ್ವರ್ ಆ ಉದ್ದೇಶವನ್ನು ತನ್ನದೇ ಹಲಗೆಯ ಮೇಲೆ, ತನ್ನದೇ ನಿಯಮ ಎಂಜಿನ್ನಿಂದ, ಆ ಸರದಿಗಾಗಿ ತಾನೇ ಉರುಳಿಸಿದ ದಾಳಗಳೊಂದಿಗೆ ಮತ್ತೆ ನಡೆಸುತ್ತದೆ. ಸಿಂಧು ನಡೆಗಳು ಆಟವನ್ನು ಮುಂದೆ ಒಯ್ಯುತ್ತವೆ, ಮತ್ತು ಇಬ್ಬರೂ ಆಟಗಾರರಿಗೆ ಅದೇ ಹೊಸ ಸ್ಥಾನ ಸಿಗುತ್ತದೆ. ಅಸಿಂಧು ನಡೆಗಳು ಎಂದಿಗೂ ನಡೆದೇ ಇಲ್ಲ.
ಇದು ಎಲ್ಲರಿಗೂ ಒಂದೇ ಸರ್ವರ್. iOS ಆ್ಯಪ್ ಸ್ಥಳೀಯ SwiftUI, Android ಆ್ಯಪ್ ಸ್ಥಳೀಯ Jetpack Compose, ಮತ್ತು ಎರಡೂ ಅದೇ ಬ್ಯಾಕೆಂಡ್ನ ಮತ್ತು ಅದೇ ಆಟಗಾರ ಸಮೂಹದ ಕಿಟಕಿಗಳು. ಗಾಜು ಬೇರೆ, ಸತ್ಯ ಒಂದೇ.
ಕ್ಲೈಂಟ್ ಅನ್ನು ನಂಬುವ ಆಟಗಳಲ್ಲಿ ಮೋಸ ಏಕೆ ನಡೆಯುತ್ತದೆ?
ಏಕೆಂದರೆ ನಿಮ್ಮ ಎದುರಾಳಿಯ ಸಾಧನ ನಿಮ್ಮ ಎದುರಾಳಿಯದೇ. ಅದರಲ್ಲಿ ಓಡುವ ಎಲ್ಲವನ್ನೂ ಬದಲಿಸಬಹುದು. ತೇಪೆ ಹಾಕಿದ ಕ್ಲೈಂಟ್ ಎಂದಿಗೂ ಸಿಂಧುವಾಗಿರದ ನಡೆಗಳನ್ನು ಕಳುಹಿಸಬಹುದು. ಮೆಮೊರಿ ಸಂಪಾದಕ ಸ್ಥಳದಲ್ಲೇ ಒಂದು ಸಂಖ್ಯೆಯನ್ನು ಮತ್ತೆ ಬರೆಯಬಹುದು, ಮತ್ತು ಪರದೆ ಆ ಸುಳ್ಳನ್ನು ನಿಷ್ಠೆಯಿಂದ ತೋರಿಸುತ್ತದೆ. ಇವುಗಳಲ್ಲಿ ಯಾವುದೂ ಅಪರೂಪವಲ್ಲ. ಸಾಧನಗಳು ಉಚಿತ, ದಾಖಲಾಗಿವೆ ಮತ್ತು ಸ್ಮಾರ್ಟ್ಫೋನ್ಗಿಂತ ಹಳೆಯವು.
ಕ್ಲೈಂಟ್ ಅನ್ನು ನಂಬುವ ಆಟ ಪ್ರತಿ ಆಟಗಾರನಿಂದಲೂ ಬಾನೆಟ್ ಕೆಳಗೆ ಇಣುಕುವುದಿಲ್ಲ ಎಂಬ ಭರವಸೆ ಕೇಳುತ್ತದೆ. ಕೆಲವರು ಇಣುಕುತ್ತಾರೆ. ಆದ್ದರಿಂದ ನಾವು ಕ್ಲೈಂಟ್ನ ಅಭಿಪ್ರಾಯವನ್ನೇ ಅಪ್ರಸ್ತುತಗೊಳಿಸಿದೆವು. Orion ನಲ್ಲಿ ಆ್ಯಪ್ಗೆ ನಿಖರವಾಗಿ ಮೂರು ಕೆಲಸ:
- ಬಿಡಿಸುವುದು: ಹಲಗೆ, ಕಾಯಿಗಳು, ಘನ, ಗಡಿಯಾರ.
- ಕೇಳುವುದು: ನಡೆ ಆಡಲು ಸರ್ವರ್ಗೆ ಹೇಳುವುದು, ದುಪ್ಪಟ್ಟು ನೀಡುವುದು, ಸೋಲೊಪ್ಪುವುದು.
- ಪಡೆಯುವುದು: ಸರ್ವರ್ ನಿಜವೆಂದು ಕರೆಯುವ ಸ್ಥಾನವನ್ನು ತೋರಿಸುವುದು.
ದಾಳ ಉರುಳಿಸುವುದು, ಸಿಂಧುತ್ವ ನಿರ್ಧರಿಸುವುದು ಮತ್ತು ಒಂದೇ ಒಂದು ನಾಣ್ಯ ಸರಿಸುವುದು ಆ ಪಟ್ಟಿಯಲ್ಲಿ ಇಲ್ಲ. ಫಲಿತಾಂಶವನ್ನು ನಿರ್ಧರಿಸುವ ಯಾವುದೂ ಸಾಧನದಲ್ಲಿ ಹುಟ್ಟುವುದಿಲ್ಲ.
ನಾನು ಒಂದು ನಡೆ ಆಡಿದಾಗ ಏನಾಗುತ್ತದೆ?
ನೀವು ಆಡುತ್ತೀರಿ.. ನಿಮ್ಮ ಆ್ಯಪ್ ಉದ್ದೇಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ: ಈ ಕಾಯಿ, ಈ ಬಿಂದುಗಳು. ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಯಾವುದೂ ನಿಜವಾದ ಹಲಗೆಯನ್ನು ಬದಲಿಸುವುದಿಲ್ಲ.
ಸರ್ವರ್ ಅದನ್ನು ಮತ್ತೆ ನಡೆಸುತ್ತದೆ.. ನಮ್ಮ ನಿಯಮ ಎಂಜಿನ್ ಆ ನಡೆಯನ್ನು ಸರ್ವರ್ನ ಹಲಗೆಯ ಎದುರು ಮತ್ತು ಸರ್ವರ್ನ ದಾಳಗಳ ಎದುರು ಓಡಿಸುತ್ತದೆ. ಸಿಂಧುವಾದರೆ ಆಟ ಮುಂದೆ ಸಾಗುತ್ತದೆ. ಇಲ್ಲದಿದ್ದರೆ ಯಾವ ಆ್ಯಪ್ ಕಳುಹಿಸಿದರೂ ಅದು ಮೂಲದಲ್ಲೇ ತಿರಸ್ಕೃತವಾಗುತ್ತದೆ.
ಎರಡೂ ಕಡೆಗೆ ಅದೇ ಸತ್ಯ ಸಿಗುತ್ತದೆ.. ಹೊಸ ಸ್ಥಾನ ಇಬ್ಬರೂ ಆಟಗಾರರಿಗೆ ಹೋಗುತ್ತದೆ. ನಿಮ್ಮ ಸಂಪರ್ಕ ತಪ್ಪಿದರೆ, ಸರದಿ ಗಡಿಯಾರದ ಮರುಸಂಪರ್ಕದ ಅವಧಿ ನಿಮ್ಮ ಜಾಗವನ್ನು ಕಾಯುತ್ತದೆ, ಮತ್ತು ಹಲಗೆ ನಿಜವಾಗಿ ಹೇಗಿದೆಯೋ ಹಾಗೆಯೇ ನೀವು ಮರಳುತ್ತೀರಿ, ನಿಮ್ಮ ಫೋನ್ ಕೊನೆಗೆ ನೆನಪಿಟ್ಟಂತೆ ಅಲ್ಲ.
ಪಣಗಳೂ ಅದೇ ನಿಯಮ ಪಾಲಿಸುತ್ತವೆ. ಪ್ರವೇಶ ಶುಲ್ಕದ ಆಟ ಆರಂಭವಾದಾಗ ಸರ್ವರ್ ಇಬ್ಬರ ಶುಲ್ಕವನ್ನೂ ತನ್ನ ವಶದಲ್ಲಿ ಇಡುತ್ತದೆ. ಪಾತ್ರೆ ಒಂದೇ ಲೆಕ್ಕ ಪುಸ್ತಕದಲ್ಲಿ ಇರುತ್ತದೆ, ಸರ್ವರ್ನಲ್ಲಿ, ಮತ್ತು ಆಟ ಮುಗಿದಾಗ ಅಲ್ಲೇ ಇತ್ಯರ್ಥವಾಗುತ್ತದೆ. ತಾನು ಎಷ್ಟು ಗೆದ್ದೆ ಎಂದು ಭಾವಿಸುತ್ತದೆ ಎಂದು ಯಾವ ಕ್ಲೈಂಟ್ ಅನ್ನೂ ಎಂದಿಗೂ ಕೇಳಲಾಗುವುದಿಲ್ಲ. ನಾಣ್ಯಗಳು ಮತ್ತು ರತ್ನಗಳು ವರ್ಚುವಲ್, ನಿಜ ಜಗತ್ತಿನಲ್ಲಿ ಅವಕ್ಕೆ ಬೆಲೆ ಇಲ್ಲ ಮತ್ತು ಅವನ್ನು ನಗದಾಗಿಸಲಾಗದು, ಆದರೂ ಆ ಲೆಕ್ಕ ಪುಸ್ತಕವನ್ನು ಏನೋ ಬೆಲೆಬಾಳುವುದು ಇರುವಂತೆಯೇ ನಾವು ಕಾಪಾಡುತ್ತೇವೆ, ಏಕೆಂದರೆ ಇದೆ: ಹಲಗೆಯ ಸ್ಥಾನದ ಮೇಲಿನ ನಿಮ್ಮ ನಂಬಿಕೆ.
ಸರ್ವರ್ ಸ್ವತಃ ಮೋಸ ಮಾಡದಂತೆ ಏನು ತಡೆಯುತ್ತದೆ?
ಇದೇ ಸರಿಯಾದ ಪ್ರಶ್ನೆ, ಮತ್ತು ಬಹುತೇಕ ಆಟಗಳು ನೀವು ಅದನ್ನು ಎಂದಿಗೂ ಕೇಳಬಾರದು ಎಂದು ಆಶಿಸುತ್ತವೆ. ರಹಸ್ಯವಾಗಿ ದಾಳ ಉರುಳಿಸುವ ಸರ್ವರ್, ತಾನು ಒಲವು ತೋರುವವರಿಗಾಗಿ ದಯಾಳು ಉರುಳಿಕೆ ಹಾಕಬಹುದು, ಮತ್ತು ನಿಮಗೆ ಅದು ಎಂದಿಗೂ ಕಾಣುವುದಿಲ್ಲ. ಪ್ರತಿ ಉರುಳಿಕೆಯೂ ನಂಬಬಹುದಾದಂತೆ ಕಾಣುತ್ತದೆ. ದಾಳಗಳು ಹಾಗೆಯೇ.
ಆದ್ದರಿಂದ ಆ ಅಧಿಕಾರವನ್ನು ನಾವು ನಮ್ಮಿಂದಲೇ ಕಿತ್ತುಕೊಂಡೆವು. ಆಟ ಆರಂಭವಾಗುವ ಮೊದಲು ಸರ್ವರ್ ಒಂದು ರಹಸ್ಯ ಬೀಜವನ್ನು ಸೃಷ್ಟಿಸಿ ಅದರ SHA-256 ಬದ್ಧತೆಯನ್ನು ಪ್ರಕಟಿಸುತ್ತದೆ. ನಂತರ ಪ್ರತಿ ಉರುಳಿಕೆಯೂ ಆ ಬೀಜದಿಂದ HMAC-SHA256 ಮೂಲಕ ಪಡೆಯಲ್ಪಡುತ್ತದೆ, ಒಂದೊಂದಾಗಿ, ಕ್ರಮವಾಗಿ. ಆಟ ಮುಗಿದಾಗ ಸರ್ವರ್ ಬೀಜವನ್ನು ಬಹಿರಂಗಪಡಿಸುತ್ತದೆ. ಮೊದಲ ಉರುಳಿಕೆಗೂ ಮೊದಲು ನೀಡಿದ ಬದ್ಧತೆಗೆ ಬೀಜ ಹೊಂದುತ್ತದೆಯೇ ಮತ್ತು ಆಟದ ಪ್ರತಿ ಉರುಳಿಕೆಯೂ ಅದರಿಂದಲೇ ಬರುತ್ತದೆಯೇ ಎಂದು ಯಾರಾದರೂ ಪರಿಶೀಲಿಸಬಹುದು. ಗೂಢಲಿಪಿಯ ಅರ್ಥದಲ್ಲಿ, ಇಬ್ಬರೂ ಆಟಗಾರರಲ್ಲಿ ಯಾರೂ ಕಾಯಿ ಮುಟ್ಟುವ ಮೊದಲೇ ನಿಮ್ಮ ದಾಳಗಳು ನಿಗದಿಯಾಗಿದ್ದವು. ಶೂನ್ಯನೇ ಉರುಳಿಕೆಯಲ್ಲಿ ನಾವು ಪ್ರಕಟಿಸಿದ ಭರವಸೆಯನ್ನು ಮುರಿಯದೆ ಹನ್ನೆರಡನೇ ಉರುಳಿಕೆಯನ್ನು ಬಗ್ಗಿಸಲು ನಮಗೆ ಸಾಧ್ಯವೇ ಇರಲಿಲ್ಲ.
ಇವುಗಳಲ್ಲಿ ಯಾವುದಕ್ಕೂ ನಮ್ಮ ಮಾತನ್ನು ನಂಬಬೇಕಿಲ್ಲ. orion.arthea.ai/verify ನ ಪರಿಶೀಲನೆ ಇಡೀ ಸರಪಳಿಯನ್ನು ನಿಮ್ಮ ಬ್ರೌಸರ್ನಲ್ಲಿ, Web Crypto ನಿಂದ, ನಿಮ್ಮ ಯಂತ್ರದಲ್ಲಿ, ಆಟದ ಸಾರ್ವಜನಿಕ ದಾಖಲೆಯಿಂದ ಮತ್ತೆ ಲೆಕ್ಕ ಹಾಕುತ್ತದೆ. ಖಾತೆ ಇಲ್ಲ, ಅಳವಡಿಕೆ ಇಲ್ಲ. orion.arthea.ai/go ನ ಬಾಗಿಲು App Store ಮತ್ತು Google Play ಕೊಂಡಿಗಳನ್ನು ಹೊತ್ತು ನಿಂತಿದೆ ಹಾಗೂ ಈಗ ಏನು ಲಭ್ಯವಿದೆ ಎಂಬುದನ್ನು ಯಾವಾಗಲೂ ತೋರಿಸುತ್ತದೆ.