Chống gian lận cho các vấn đề và giải pháp MMO? [đóng cửa]


14

Hầu hết các trò chơi trực tuyến đều gặp phải vấn đề này và có một số công ty phần mềm ngoài kia để giải quyết vấn đề này nhưng gần đây từ những gì tôi thấy hầu hết các công ty đang cố gắng tránh các chương trình đó tạo ra hệ thống của riêng họ (blizzard với warden, aion bằng cách tự kiểm tra, v.v. ...) nhưng đó là một trường hợp rất khó để ngăn chặn ...

Chỉ muốn nói rằng tôi đã tạo một chủ đề câu hỏi khác như wiki cộng đồng cụ thể để đăng các ứng dụng và đó là các tính năng và ý tưởng đằng sau câu hỏi này không phải là liệt kê những vấn đề đó mà thay vào đó để biết thêm về những nỗ lực của bạn, vấn đề dọc đường và các giải pháp khả thi , đoạn mã nếu ứng dụng và vv.

Các bạn sử dụng loại bảo vệ nào để (cố gắng) ngăn chặn các hành vi đó:

  1. Phần mềm chống gian lận? (vui lòng nêu rõ vấn đề nào, tại sao và có thể xảy ra với bạn, ví dụ aion đã ngừng sử dụng GameGuard ở giai đoạn beta do một số lượng lớn vấn đề tương thích và phàn nàn từ người dùng của họ)
  2. Mã của riêng bạn? (bạn thường chạy loại xác minh nào để đảm bảo những người chơi không có thiện chí, ví dụ như speedhack, xác minh vị trí mới so với tốc độ + vị trí cuối cùng, v.v ...)
  3. Không, tôi không quan tâm? (bất kỳ lý do cá nhân hoặc đầu vào bạn muốn chia sẻ?)

Bất kỳ đoạn mã thú vị nào liên quan đến vấn đề bạn muốn đăng?

Hãy thoải mái làm lại văn bản của tôi


1
Tag thực hiện. Nếu bạn mong muốn điều này có một số lượng lớn câu trả lời, hãy đặt nó vào cộng đồng wiki. Nó sẽ cho phép nhiều người chỉnh sửa các câu trả lời riêng lẻ thay vì mọi người liên tục nghỉ chúng.
Jesse Dorsey

1
Đối với một ví dụ về làm thế nào điều này có thể có lợi. Kiểm tra cái này: gamedev.stackexchange.com/questions/480/ Khăn
Jesse Dorsey

Cảm ơn về nhận xét và các liên kết tôi sẽ kiểm tra ngay bây giờ và xem, theo quan điểm của tôi, loại câu hỏi này để phát triển trò chơi là một điểm rất tốt để thảo luận nhưng hầu hết cho các trò chơi MMO tôi tin vì vậy tôi cũng không chắc cộng đồng khá nhỏ bé và tôi sợ bị phủ nhận vì một câu hỏi như vậy để bắt đầu nên tôi không chắc chắn, cảm ơn vì đã tạo thẻ :)
Prix

Câu trả lời:


22

Thật không may, thật khó để ngăn chặn mọi người gian lận, đó là lý do tại sao phần mềm như Punkbuster được tạo ra để cố gắng bắt một số người trong số họ.

Đối với MMO, điều lớn nhất bạn có thể làm là không tin tưởng bất cứ điều gì khách hàng gửi cho bạn . Máy khách không thể cho bạn biết người chơi đã chuyển đến đâu, mức độ thiệt hại mà họ đã gây ra cho ai, v.v. Thay vào đó, bạn nên gửi đầu vào điều khiển đến máy chủ, xác thực rằng đó là thực tế (nhấn nút "tấn công" Ví dụ, 1000 lần trong 1 giây không hợp lệ), sau đó cập nhật mô phỏng trên máy chủ. Sau đó, bạn sẽ gửi các phần có liên quan của trạng thái mới của trò chơi trở lại máy khách.

Trong khi bạn đang xác thực đầu vào của người dùng, bạn cũng có thể tìm kiếm các xu hướng trong đầu vào của họ. Nếu bạn không cho phép macro, bạn có thể bắt chúng ở đây bằng cách nhận thấy rằng người dùng đã nhấp vào cùng một nút ở cùng tọa độ pixel chính xác trong khoảng thời gian 1 giây hoàn hảo trong 30 phút cuối.

Bản thân khách hàng là nơi chính mà mọi người có thể gian lận, vì vậy các chương trình như Punkbuster có thể cắt giảm các khoản nợ trên tường, aimbots, v.v.


Cảm ơn sự đóng góp của bạn, tôi hy vọng sẽ thấy nhiều người làm đầu vào của họ; Quả thực đây là một vấn đề rất khó đối phó ... Ngoài ra còn có những người phá game để vô hiệu hóa công cụ chống gian lận và nó được gọi từ nó ... khiến mọi thứ trở nên khó khăn hơn ... trừ khi bạn có trực tuyến GM để xác minh rằng người được cung cấp hoặc người khác xác minh như bạn đã nêu. Bạn nghĩ gì về câu hỏi này cho wiki cộng đồng? tôi nên giữ nguyên trạng hoặc thay đổi một cái gì đó để làm cho nó phù hợp với nó;
Giải thưởng

Có lẽ wiki cộng đồng trừ khi bạn đang tìm kiếm một câu trả lời cụ thể.
Sean James

Bất kỳ chi tiết nào về cách Punkbuster hoạt động để có câu trả lời đầy đủ hơn?
Chris Lloyd

Câu trả lời hay - không có "một giải pháp để thống trị tất cả" - hầu hết các trò chơi đều có nhiều "vectơ tấn công". Thông thường, đó là về đánh giá rủi ro nhiều hơn bất cứ điều gì khác, ví dụ như tác động đến cộng đồng là gì nếu ai đó có thể gian lận hệ thống X, v.v.
zebrabox

Tôi tin rằng hack là không thể tránh khỏi, thậm chí có chương trình lừa đảo mạnh nhất. Gian lận là được nếu ngoại tuyến về mặt kỹ thuật nhưng không trực tuyến. Chơi trực tuyến là nhiều hơn về sự công bằng. Là vậy sao?
David Dimalanta

8

Ghi nhật ký. Mọi thứ xảy ra trên máy chủ nên được ghi lại và lý tưởng nhất là mọi thứ xuất phát từ máy khách. Máy khách vốn không đáng tin, nhưng ngay cả việc ghi dữ liệu không đáng tin cậy cũng có thể được chiếu sáng.

Một khi mọi thứ được ghi lại, phát hiện gian lận trở thành vấn đề phân tích dữ liệu. Một số mánh gian lận sẽ rõ ràng (giá trị nằm ngoài phạm vi có thể chấp nhận, ví dụ: có thể di chuyển giữa các điểm nhanh hơn nhiều so với hình đại diện thông thường cho phép), một số khác thì ngấm ngầm hơn (như aimbots cho phép pixel nhắm mục tiêu hoàn hảo trong các khung thời gian ngắn giả tạo). Một số thậm chí còn khó phát hiện hơn (như wallhacks), nhưng ghi lại càng nhiều càng tốt cho phép phát hiện tự động và thủ công. Có nhiều bài viết khác nhau về nó, nhưng nhìn chung các mánh gian lận rất dễ bị phát hiện trong phát hiện tự động vì chúng rất dễ đoán / lặp lại, theo cách chính xác mà người chơi không có.

Vì việc ghi lại hoàn toàn mọi thứ rất có thể là không khả thi, ghi nhật ký theo tầng là hữu ích. Ví dụ: các báo cáo về gian lận của người dùng hoặc ghi nhật ký cơ bản đơn giản phát hiện khả năng gian lận (điểm nằm trên đường cong thống kê), sẽ đủ để gắn cờ một khách hàng / tài khoản / khóa CD cụ thể để ghi nhật ký chi tiết hơn, có thể sau đó được sử dụng để chứng minh vượt quá sự nghi ngờ hợp lý rằng một mánh gian lận đang được sử dụng.

Những gì bạn làm khi bạn phát hiện ra một gian lận là một vấn đề hoàn toàn khác. Tài khoản bị cấm sau khi thực tế là tốt, đặc biệt là khi bạn có một cơ chế phát hiện tự động đủ đáng tin cậy. Cấm sớm cả hai cảnh báo các mánh gian lận mà chúng đang được phát hiện, và cũng có nguy cơ dương tính giả do các cơ chế phát hiện không kết luận. Cấm quá muộn có nguy cơ làm hỏng trải nghiệm trò chơi cho người khác. Đây là một khu vực rất xám và yêu cầu các nhà phát triển thực hiện cuộc gọi phán xét.


2

Giả sử tất cả các công việc quan trọng trong trò chơi của bạn đều xảy ra ở phía máy chủ, sẽ có rất ít hoặc không thể gian lận. Nếu bạn muốn hạn chế macro hoặc khiến mọi người khó chịu khi chỉnh sửa gói, hãy để chương trình của bạn quét định kỳ các mô-đun hoạt động trong quy trình của nó. Nếu bạn tìm thấy ví dụ WpeSpy.dll, bạn sẽ biết họ có WPE kèm theo. Làm như vậy cho các công cụ phổ biến khác. Điều này có thể xảy ra, và là một cuộc chạy đua vũ trang và một nguyên nhân đã mất, nhưng nếu trò chơi của bạn tương đối nhỏ, bạn có thể dễ dàng cắt giảm số lượng người mắc kẹt khoảng 10 ... và điều đó có thể tốt đủ cho bạn.


Cảm ơn sự đóng góp, bạn đã sử dụng bất kỳ phần mềm chống gian lận nào hoặc có vấn đề sắp xếp này mà bạn phải quan tâm? nếu vậy nó sẽ là tốt đẹp để nghe về nó.
Giải thưởng

2
Tôi chưa sử dụng bất kỳ phần mềm chống gian lận của bên thứ ba nào, không. Tuy nhiên, khi tôi lần đầu tiên bắt đầu mã hóa một game nhập vai trực tuyến, máy chủ của tôi chỉ gọi là 'tấn công' khi khách hàng gửi 'tấn công', thay vì đưa yêu cầu vào hàng đợi, đại loại như vậy. Đó là những điều quan trọng nhất để ngăn chặn gian lận. Hack tốc độ, thực hiện tất cả thời gian trên máy chủ để chúng có ít lợi thế, nhưng cũng gửi dấu thời gian và nếu bạn nhận được quá nhiều trôi, bạn sẽ biết họ đang sử dụng một. Đánh dấu tài khoản của họ, nhưng đừng đá họ ngay lập tức - phản hồi ngay lập tức là một cách tuyệt vời để ai đó biết phần mềm của bạn phát hiện ra điều gì.
James Bellinger

1
Tôi thích phần but also send timestamps, and if you get too much drift, you'll know they are using one. Mark their account, but don't kick them immediately -- immediate feedback is a great way for someone to know what your software detects.này gần đây tôi đang xem xét triển khai hệ thống dấu thời gian và cảnh báo từ những người dùng đã đánh dấu, hiện tại điều tôi đã đưa người chơi vào danh sách những gì tôi đang làm bây giờ là nếu một số người sử dụng lạm dụng cao, nó sẽ gửi cảnh báo tới một GM trực tuyến để xác minh ...
Prix
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.