2010-04-26 14 views
6

HTML 5 Gaming có sử dụng Canvas và Javascript không? Làm thế nào để ngăn chặn gian lận trong trường hợp này?HTML 5 Gaming có sử dụng Canvas và Javascript không? Làm thế nào để ngăn chặn gian lận trong trường hợp này?

Ví dụ: điều gì sẽ xảy ra nếu người dùng sử dụng GreaseMonkey hoặc một số công cụ để thay đổi tập lệnh để nó chỉ báo cáo điểm số trò chơi hoàn hảo cho máy chủ mỗi lần?

+2

Chỉ cần nhớ rằng trong hầu hết các trường hợp, bạn hoàn toàn không thể ngăn chặn gian lận của tất cả các loại. Tuy nhiên, trong những trường hợp đó, bạn có thể chỉ đơn giản là làm cho gian lận rất khó khăn để ngăn chặn hầu hết các kịch bản kiddies từ hack trò chơi của bạn. Bạn sẽ không ngăn chặn nó, nhưng bạn có thể làm giảm đáng kể nó. –

+2

@J Lynch: Bạn muốn ngăn chặn gian lận nào? Nếu tôi viết một AI thông minh hơn một con người chơi trò chơi của bạn thì sao? Câu trả lời của S.Mark là tại chỗ: nếu bạn chỉ gửi các hành động đến phía máy chủ, sau đó bạn ngừng chết ** ** rất nhiều phương pháp gian lận rất bình thường. Bây giờ kẻ tấn công đã lập trình một AI để đánh bại trò chơi của bạn. Lưu ý rằng câu hỏi của bạn được hỏi cụ thể về một kẻ lừa đảo báo cáo điểm số hoàn hảo, và sau đó trong nhận xét cho câu trả lời của S. Mark bạn dường như thay đổi ý định của bạn và muốn bảo vệ chống lại bất kỳ loại gian lận, đó là không giống nhau. – SyntaxT3rr0r

Trả lời

13

Tôi sẽ trả lời câu hỏi của bạn bằng câu hỏi của riêng tôi: Tại sao chúng ta không thấy gian lận lan tràn trong World of Warcraft? Hoặc bất kỳ MMORPG nào khác cho vấn đề đó?

Câu trả lời là do nhà sản xuất trò chơi giữ tất cả các máy chủ trạng thái trò chơi.

  • Nếu tôi là khách hàng và tôi chịu trách nhiệm báo cáo thiệt hại thực hiện để kẻ thù, hoặc vị trí của tôi, yeah dĩ nhiên tôi có thể lừa dối và nói với máy chủ tôi đã làm thiệt hại 1 triệu.

  • Mặt khác nếu máy chủ theo dõi trạng thái và tôi chỉ thông báo cho máy chủ thay đổi trạng thái, tất cả những gì tôi có thể làm là thông báo cho máy chủ "Tôi đã di chuyển sang trái" hoặc "Tôi đã bắn súng" < - chống gian lận được xây dựng vào kiến ​​trúc của trò chơi

Tất nhiên, bạn đã đưa ra điểm "hành động hoàn hảo" - trường hợp sẽ là trò chơi hành động, game bắn súng, v.v. xác định và "hành động hoàn hảo" gửi. Và điều đó tôi muốn nói: loại gian lận này đã tồn tại, thực sự. Và nó tồn tại trong nhiều năm. Vì vậy, tôi không thấy làm thế nào bất cứ điều gì thay đổi chỉ vì đây là những trò chơi javascript.

8

Thay vì gửi điểm số từ người dùng, hãy gửi các hành động đến phía máy chủ mọi lúc và tính toán điểm số ở phía máy chủ

+0

nếu đó là trò chơi kẻ xâm lược hoặc Nhà hàng Thành phố ... chúng tôi không thể gửi từng hành động nhỏ đến máy chủ và ngay cả khi chúng tôi làm, chúng tôi có thể gửi tất cả các hành động "hoàn hảo". –

+0

@J Lynch: Tại sao bạn không thể? Đây là loại game gì vậy? Nếu đó là một cái gì đó giống như Invaders, chắc chắn, ai đó có thể tái tạo một "kịch bản hoàn hảo" nhưng điều đó sẽ mất rất nhiều công việc về phía họ, và hầu hết các gian lận sẽ không muốn dành thời gian. :) –

+1

@J Lynch, về các hành động nhỏ, bạn có thể kết hợp và xếp hàng một số hành động và gửi vào khoảng thời gian nhất định để kiểm tra những hành động đó. – YOU

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