Làm thế nào để bảo vệ game bắn súng trực tuyến thời gian thực của bạn khỏi các bot tiềm năng


14

Tôi đang tìm cách tạo ra một game bắn súng từ trên xuống nhiều người chơi. Trong khi tôi đã đọc về các chủ đề khác nhau, tôi có thể thấy chúng Tôi đã có một số thách thức thực sự ở phía trước, nhưng tôi hoàn toàn sẵn sàng cho nó.

Một điều tôi không thể hiểu là làm thế nào tôi có thể bảo vệ trò chơi khỏi những người cố gắng tạo bot?

Ý tôi là, theo như tôi hiểu, không thể bảo vệ lưu lượng mạng theo cách mà người chơi sẽ không thể tạo ra các chương trình lắng nghe những gì đang diễn ra và hiểu nó.

Vì vậy, điều khiến tôi lo lắng là mọi người có thể tạo ra các bot lắng nghe vị trí hiện tại của người chơi đối thủ và gửi thông tin bắt chước như thể người chơi đang bắn vào vị trí "hoàn hảo" chính xác để giành chiến thắng trong trận đấu đó.

Vậy loại kỹ thuật nào được sử dụng để bảo vệ các trò chơi thời gian thực khỏi các bot như vậy?

Ngoài ra, tôi muốn đề cập rằng tôi đã cố gắng tìm kiếm các cuộc thảo luận (vì điều này nghe có vẻ giống như nhiều người đấu tranh), nhưng không thể tìm thấy bất cứ điều gì về nó một cách cụ thể, chỉ là một phần của câu hỏi rộng hơn về kết nối mạng trong các trò chơi thời gian thực . Nếu tôi trông có vẻ khó khăn hơn, hãy đặt tôi vào vị trí của mình :)


Punkbuster, hehe .. Có một lý do có một ứng dụng bên thứ ba phát hiện các ứng dụng và thay đổi của bên thứ ba :)
James

Tại sao bạn lo lắng nếu mọi người tạo bot? Có lẽ bạn có thể làm việc xung quanh nó, vì vậy nó không phải là một vấn đề.
Beska

@James Punkbuster thật kinh khủng. Tôi là nhiều người khác đã có những trải nghiệm tồi tệ khi cố gắng chơi các trò chơi mới khi họ ra mắt. Liên tục bị đá vì một số lỗi punkbuster, không vui vẻ.
Tấn

@Beska: tuyệt như âm thanh đó, tôi cần một số thuyết phục nghiêm túc rằng các bot sẽ không phá hủy trò chơi cho những người chơi không phải bot. Tôi chắc rằng một trò chơi có thể được thiết kế để các bot không phá hỏng trải nghiệm. Tôi khá chắc chắn rằng đối với hầu hết các trò chơi nhiều người chơi trực tuyến, việc chứng minh bot cơ học trò chơi là không tầm thường.
deft_code

@AttackingHobo Tất cả những gì tôi muốn chỉ ra là có toàn bộ các công ty không làm gì ngoài việc cố gắng tìm ra giải pháp cho vấn đề này. PunkBuster chỉ là một trong những phần mềm được biết đến nhiều hơn để cố gắng làm điều này, tốt hay xấu :)
James

Câu trả lời:


8

Có hai cách tiếp cận để chống lại bot. Họ là bảo vệ phía khách hàng và phân tích phía máy chủ.

Bảo vệ phía khách hàng là cách tiếp cận rõ ràng nhất - theo nghĩa bạo lực. Bạn thực hiện tất cả các nỗ lực để đảm bảo rằng ứng dụng khách trò chơi hoàn toàn hợp pháp, không bị giả mạo và không có chương trình nào khác ảnh hưởng đến nó. Bây giờ đây là một vấn đề khó khăn, và không thể giải quyết đầy đủ. Nhưng nhiều trò chơi thử, và có một số thành công với phương pháp này. Tôi biết có tồn tại một số giải pháp được thực hiện để bảo vệ khách hàng và đề nghị bạn tìm kiếm chúng. Thực hiện một mình là một nhiệm vụ khó khăn.

Ngoài việc ít hiệu quả hơn 100%, bảo vệ phía khách hàng còn có nhược điểm là cực kỳ khó chịu cho người chơi của bạn. Thông thường, nó bao hàm những thứ như vô hiệu hóa chuyển đổi tác vụ tab alt, chương trình chống vi-rút, v.v.

Phân tích phía máy chủ là ít xâm nhập. Trong phương pháp này, bạn có một số mã máy chủ phân tích các mẫu trong hành vi của người chơi. Thông thường, các bot chơi khác nhau. Ví dụ, người chơi của con người có thời gian khác nhau giữa các hành động (chẳng hạn như bắn súng) và lần này tuân theo phân phối đường cong hình chuông. Các bot nguyên thủy sẽ có thời gian không đổi, hoặc phân phối đều trong một khoảng thời gian. Sự thật thú vị: sử dụng phương pháp này, chúng tôi đã từng bắt gặp một người chơi với bot cơ học - một thiết bị thông minh nhấn nút trên bàn phím vật lý của anh ta. Không cần phải nói, không phải số lượng bảo vệ khách hàng có thể nắm bắt được điều đó . Tuy nhiên, phân tích này không hoàn hảo. Các bot nâng cao hơn sẽ đánh lừa các hệ thống của bạn và bạn càng thực hiện nhiều kiểm tra hơn, các bot tiên tiến hơn sẽ trở thành.

Để bảo vệ tốt nhất, bạn có thể kết hợp cả hai phương pháp này. Bảo vệ khách hàng sẽ khiến việc phát triển bot trở nên khó khăn hơn và phân tích máy chủ sẽ ngăn chặn các bot đơn giản được phát triển nhanh chóng. Nhưng bất cứ điều gì bạn làm, bạn không bao giờ có thể dừng bot hoàn toàn. Chà, trừ khi bạn gửi đại diện của mình đến nhà của người chơi, để giám sát việc họ chơi và báo cáo vi phạm. (Nhân tiện, điều này không phải là chưa từng nghe thấy. Tôi chắc chắn đã đọc một câu chuyện về công ty poker trực tuyến gửi người đến nhà của một người chơi rất thành công, để xác nhận rằng anh ta đang chơi hợp pháp. Nhưng dường như tôi không thể tìm thấy ngay bây giờ.)

Có hai khuyến nghị đáng ngờ hơn cho các bot chiến đấu. Một, mã hóa lưu lượng mạng của bạn. Tôi không nghĩ rằng nó sẽ làm việc. Với khách hàng của bạn trong tay kẻ thù, lưu lượng truy cập có thể và sẽ được giải mã ... hoặc khách hàng của bạn sẽ được sử dụng để mã hóa. Mặt khác, mã hóa làm tăng độ trễ và điều đó thực sự tồi tệ đối với một "game bắn súng thời gian thực". Đề xuất thứ hai là "chỉ thiết kế trò chơi của bạn xung quanh này". Mặc dù đây có vẻ là một ý tưởng âm thanh, tôi vẫn chưa thấy một trò chơi duy nhất quản lý điều này.


1
Tôi nghi ngờ bạn tìm thấy một anh chàng với bot cơ khí. Có nhiều khả năng là một bot phần mềm mô phỏng bàn phím phần cứng cho các đầu vào.
Tấn

2
Không, bot cơ học thực tế. Các tác giả đã gửi cho chúng tôi hình ảnh. Thật không may, họ đã bị xóa khỏi máy chủ (nó đã trở lại vào năm 2007!), Vì vậy bạn sẽ phải chú ý đến nó.
Nevermind

Cảm ơn vì sự trả lời. Tôi cho rằng mã hóa có thể "nâng tầm" lên một chút và che chắn khỏi nhiều tin tặc. Nhưng liệu bất kỳ mã hóa truyền thông thực tế nào sẽ trở nên thiết thực trong các trò chơi quan trọng về thời gian như game bắn súng, hoặc thậm chí là MMO?
Zaky Đức

Không có trò chơi nào tôi làm việc về mã hóa được sử dụng ở bất cứ đâu ngoại trừ chuỗi đăng nhập, vì vậy tôi không biết nó ảnh hưởng đến độ trễ như thế nào. Phụ thuộc vào thuật toán mã hóa, tôi đoán.
Nevermind

2

Tôi sẽ không mong đợi bất kỳ người chơi lớn nào nói về những gì họ làm để bảo vệ trò chơi của họ. Càng ít người biết về những gì họ đang làm, mọi người càng khó làm việc xung quanh nó. Tôi nghĩ rằng một phần của những gì Steam làm là tìm kiếm một số ứng dụng đang chạy trong danh sách đen.

Cá nhân tôi đã thử và mã hóa và làm xáo trộn giao tiếp nhiều nhất có thể giữa các máy giao tiếp, có thể đáng để đọc về cách hoạt động của https / ssl để có một số ý tưởng. Nếu máy chủ lưu trữ khóa công khai / khóa riêng ngẫu nhiên và chỉ gửi phần chung ra cho các khách hàng khác thì sẽ không thể dễ dàng chặn và thay đổi nội dung của các gói được gửi, mặc dù nếu bạn có quyền truy cập vào máy khách Máy sau đó không có gì là hoàn toàn an toàn.

Bạn cũng cần đảm bảo rằng exe của khách hàng không bị giả mạo.


1

Thiết kế trò chơi của bạn để làm việc nhóm và các quyết định thông minh thực tế quan trọng hơn là có thể nhắm hoàn hảo. Nó trở nên khó khăn hơn theo cấp số nhân để làm cho bot tốt.


Tôi nghĩ rằng các trò chơi phụ thuộc vào tinh thần đồng đội và sự chuẩn bị, và các trò chơi phụ thuộc vào kỹ năng co giật thuần túy có vị trí của chúng. Tuy nhiên, tôi không nghĩ rằng bất kỳ ai cũng nên điều chỉnh các lựa chọn thiết kế trò chơi của mình cho các chướng ngại vật kỹ thuật
Zaky German

@Zaky: Tôi đã từng tạo ra một trò chơi kiểu giun trong khi chết đột ngột, màn hình sẽ từ từ chứa đầy chất lỏng SPH. Nó trông thực sự mát mẻ cho đến khi trò chơi bị trì hoãn đến chết. Tôi nghĩ rằng nhiều quyết định thiết kế trò chơi bị ảnh hưởng bởi những trở ngại kỹ thuật.
deft_code

@deft_code Ý tôi là thiết kế trò chơi như trong cơ chế chơi trò chơi, không phải thiết kế nghệ thuật hay đồ họa
Zaky German

Việc sử dụng SPH của tôi cũng nhiều như một cơ chế trò chơi giống như cái chết chảy nước trong giun. Tôi chỉ thay đổi cách nước tương tác với trò chơi.
deft_code

0

Và tự hỏi bản thân tất cả các câu hỏi quan trọng về việc nó có đáng để gặp rắc rối không. Kẻ gian lận và người đóng chai có thể làm 2 việc:

  1. phá hủy trò chơi cho chính họ. Họ không thể chơi mà không có bot, họ nhanh chóng mất hứng thú và rời đi vì điều đó không vui.
  2. phá hủy trò chơi cho người khác. Họ trở nên quá mạnh mẽ thông qua bot của họ, do đó khiến bạn mất khách hàng. Điều này thường đi kèm với một người chơi điều khiển nhiều bot từ cùng một máy tính vật lý (hoặc sử dụng nhiều máy tính hơn nhiều so với một người chơi có thể điều khiển bằng tay).

Tất nhiên cả hai không loại trừ lẫn nhau.

Thông thường, vấn đề lớn nhất là 3+ (như một con người có thể đào tạo sử dụng 2 bàn phím hoặc các thiết bị đầu vào khác cùng một lúc, nhưng không nhiều hơn vì anh ta chỉ có 2 tay) các khách hàng từ cùng một địa chỉ IP (hoặc MAC) địa chỉ) hoạt động đồng nhất trực tiếp, thực hiện các lệnh trong vòng một phần nghìn giây của nhau. Vì vậy, nếu bạn phát hiện ra rằng 5 máy khách có nguồn gốc từ cùng một địa chỉ IP, tất cả đều đưa ra các lệnh với tốc độ cao bất thường và phối hợp chặt chẽ bất thường, bạn có thể đã tìm thấy botter của mình. Thông thường, điều này sẽ gây tổn hại nhiều nhất trong các kịch bản pvp trong đó đội quân bot này có thể chi phối một cuộc giao chiến chống lại một số lượng toons do con người kiểm soát tương tự do sự phối hợp và tốc độ cao hơn. Trong các kịch bản pve, thông thường có giới hạn thiệt hại cho trò chơi (ngoại trừ việc nó cho phép một người huấn luyện nhiều toons lên cấp độ nhanh hơn,

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.