2012-10-13 24 views
5

Tôi đang triển khai ứng dụng trò chơi dựa trên cocos2d-x. Để ngăn chặn gian lận về mặt kỹ thuật, một trong những ý tưởng cần làm là sử dụng HTTPS cho tất cả giao tiếp giữa máy khách và máy chủ, điều này khiến cho khó có được định dạng dữ liệu/logic trò chơi và gửi yêu cầu sửa đổi để gian lận. (Tôi biết "ngăn chặn" là thực sự không thể, nhưng để tăng chi phí làm gian lận trò chơi nó ok:). Câu hỏi của tôi là,HTTPS trên Cocos2d-x

  1. Trong Cocos2d-x, cách thực hiện yêu cầu HTTPS? Khả thi?
  2. Trong trường hợp tổng quát hơn, về mặt kỹ thuật phải làm gì để giảm thiểu sự xâm nhập trò chơi như vậy? Chiến lược giữ gì?

Trả lời

0

bằng cách sử dụng thư viện curl, bạn có thể thực hiện kết nối https. nếu bạn muốn bảo vệ kỹ thuật trò chơi của mình, bạn sở hữu kỹ thuật mã hóa mạnh mẽ.

Cảm ơn

2

Đối với mạng đa nền tảng C++ bạn có thể cân nhắc sử dụng thư viện Boost C++. Boost.Asio là một trong những được sử dụng cho mạng.

Boost.Asio liên kết: http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio.html

Boost.Asio hướng dẫn liên kết: http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio/tutorial.html

Mặc dù chưa chính thức được hỗ trợ (chỉ do thiếu kiểm tra hồi quy trên iOS và Android), Boost chạy mà không có bất kỳ vấn đề trên iOS và Android (và có lẽ các nền tảng di động dựa trên C++ khác).

Để ngăn gian lận bạn thường dựa vào nguồn bên ngoài (có thể là máy chủ trò chơi của bạn), ví dụ: nếu trò chơi của bạn dựa vào thời gian trong ngày, bạn có thể nhận được thời gian tạo thành một máy chủ bên ngoài. Bạn có thể sử dụng thư viện mã hóa để truyền dữ liệu ở phía máy khách và phía máy chủ.

+0

Cảm ơn rất nhiều dù đây không phải là bài đăng mới. :) –

+1

Có, tôi nhận ra rằng nó không phải là một bài mới, tôi vẫn cảm thấy cần phải trả lời câu hỏi này vì mọi người thường gặp vấn đề với việc kết nối nền tảng chéo trong C++. –

0

Xin chào, đây là sự cố mà chúng tôi gặp phải mọi lúc. Nếu gian lận được giới hạn trong trường hợp của kẻ lừa đảo, các câu hỏi là học thuật và nên được nghiên cứu vào thời gian rảnh rỗi của bạn. Mặt khác khi thu nhập của bạn bị ảnh hưởng hoặc khi hành động của kẻ lừa đảo ảnh hưởng đến người chơi khác và làm suy giảm trải nghiệm trò chơi, bạn nên nỗ lực thử nghiệm trạng thái trò chơi vì không nhất quán, bảo đảm giao dịch của khách hàng/máy chủ và xử lý gian lận những cách rất tinh tế để tránh làm ảnh hưởng đến sự thích thú của nhà hát.

Triển khai C++ https khả dụng với curl và tăng.

Về dữ liệu trò chơi, cách đơn giản nhất để kiểm tra tính không nhất quán là điểm số. Bạn có thể thêm một vài chỉ số để tránh gây ô nhiễm cho bảng xếp hạng của mình. Bạn có thể thêm tổng kiểm tra đặc biệt dựa trên các thành phần của điểm (thời gian trong trò chơi, số lượng up sức mạnh và số nhân nhận được ...) nếu bạn có thể tính lại điểm số trên máy chủ và nếu không nhất quán được phát hiện, bạn có thể giải quyết nó.

Ngoài ra, bạn có thể lấy các phiên bản của trạng thái trò chơi và một vài lệnh, mã hóa và phát lại các chuỗi trên máy chủ để kiểm tra sự mâu thuẫn. Đối phó với cheaters tuy nhiên bạn thích.

Khi phát trên máy chủ, hãy để máy chủ quản lý trò chơi và không cho phép thay đổi trạng thái trò chơi phía máy khách sẽ ảnh hưởng đến người chơi. Kiểm tra tính nhất quán đầu vào, v.v ...

Khi sử dụng giao dịch vi mô, mỗi giao dịch vi mô cần được xác minh với máy chủ của nhà cung cấp trước khi được cam kết hoàn toàn với tài khoản của người chơi.

Ngay cả khi các giấy tờ này 1, 2 từ van tham khảo trò chơi fps, chúng sẽ cung cấp cho bạn một số gợi ý về cách xử lý sự mâu thuẫn của nhà nước (được giới thiệu bởi sự chậm trễ liên lạc). Nó sẽ giúp tránh giả mạo tích cực và làm hỏng kinh nghiệm cho không gian lận.

Các vấn đề liên quan