Có bất kỳ khuôn khổ hiện có nào tôi có thể xây dựng không? Tôi có nên tự xây dựng? Làm thế nào tôi có thể ngăn chặn điểm giả mạo được đăng lên nó?
Có bất kỳ khuôn khổ hiện có nào tôi có thể xây dựng không? Tôi có nên tự xây dựng? Làm thế nào tôi có thể ngăn chặn điểm giả mạo được đăng lên nó?
Câu trả lời:
ScoreLoop có sẵn cho nền tảng Android.
Bạn cũng có thể sử dụng ScoreNinja . ScoreNinja cung cấp một cách dễ dàng để thực hiện điểm toàn cầu nhưng yêu cầu phải xem điểm của bạn trong ứng dụng ScoreNinja.
Nếu không, Cocos iphone cung cấp điểm số toàn cầu với CocosLive . Bạn có thể sử dụng CocosLive.net hoặc sử dụng máy ảo GoogleApp Engine của riêng bạn. CocosLive không có sẵn trên nền tảng Android nhưng giao thức là REST với JSON và có thể dễ dàng chuyển.
Giải pháp hiện tại của tôi là CocosLive cho Android và iPhone với VM của riêng tôi nhưng tôi sẽ sử dụng ScoreLoop trong trò chơi tiếp theo để tích hợp mạng xã hội.
Tôi không chắc chắn có một khung bao gồm nhiều nền tảng nhưng chắc chắn có các khung cụ thể cho nền tảng. Hai cái mà tôi nghĩ đến cho iPhone là Scoreloop và OpenFeint .
Hãy xem OpenFeint : Bắt đầu với OpenFeint SDK cho Android 1.8 Dễ dàng bắt đầu!
Làm như sau:
(1) Người dùng được điểm trong trò chơi.
(2) Tạo chuỗi "Tên người dùng, điểm số, dấu thời gian" hoặc một cái gì đó tương tự.
(3) Nối một muối (chuỗi bí mật) vào chuỗi này: "tên người dùng, điểm số, dấu thời gian, SALTSTRING"
(4) Tính toán hàm băm của chuỗi này bằng thuật toán yêu thích của bạn, (MD5, SHA ...).
(5) Đăng "Tên người dùng, điểm số, dấu thời gian" cùng với hàm băm bạn đã tính toán trên trang web của mình: www.yoursite.com?str=username,score,timestamp&hash=MYHASH hoặc một cái gì đó tương tự
(6) Trên máy chủ của bạn, làm lại phép tính, nghĩa là tạo "tên người dùng, điểm số, dấu thời gian, SALTSTRING" và sau đó so sánh với hàm băm mà người dùng đã gửi. Nếu không có trận đấu, thì một cái gì đó đã bị giả mạo.
Lưu ý, nếu người dùng có thể có được các tệp lớp, thì chúng có thể được dịch ngược và do đó có thể nhìn thấy muối. Tuy nhiên, nếu người dùng có thể dịch ngược chương trình của bạn, không có cách nào để ngăn chặn điểm cao sai: người dùng có thể sửa đổi mã để làm cho trò chơi dễ dàng hơn và sử dụng phiên bản đó. Bạn sẽ không có cách nào để kiểm tra điều đó.