Hạn chế của trò chơi nhiều người chơi p2p so với máy khách-máy chủ [đã đóng]


12

Tôi đang đọc lên kiến ​​trúc trò chơi nhiều người chơi.

Cho đến nay hầu hết các bài viết tôi đã tìm thấy thỏa thuận với mô hình máy khách-máy chủ.

Tôi muốn biết những hạn chế khi sử dụng kiến ​​trúc p2p là gì? "lớp" trò chơi nào có thể (hoặc phổ biến hơn) để thực hiện bằng cách sử dụng nó? cái nào không và nói chung, những khác biệt và hạn chế chính của nó đối với mô hình máy khách-máy chủ.



Để biết ví dụ về một trò chơi P2P thực sự, bạn có thể xem Gunz: The Duel, trò chơi có nhiều vấn đề lớn trong phần chơi mạng và hack vì điều này.
fhyve

Câu trả lời:


11

Đây là hai xu của tôi:

P2P :

  • Ưu điểm:
    • Không cần một máy chủ trung tâm : điều này làm cho nó rẻ hơn nhiều, và khả thi hơn cho các trò chơi độc lập với ngân sách thấp.
    • Cân rất tốt (đến một điểm nhất định khi khách hàng trung bình không thể xử lý băng thông).
    • Rất tốt để phân phối dữ liệu : Phù hợp với các trò chơi có nội dung do người dùng tạo được đồng bộ hóa động (ví dụ: torrents).
    • Ổn định hơn: Không bao giờ có thể xảy ra việc máy chủ gặp sự cố và không ai có thể chơi (phụ thuộc vào việc thực hiện).
  • Nhược điểm:
    • Khó thực hiện : khó hơn nhiều để tạo một kiến ​​trúc P2P vững chắc, hơn máy chủ-máy khách.
    • Rất khó để ngăn chặn gian lận trong một hệ thống như vậy, trừ khi bạn chỉ định một đồng nghiệp có thẩm quyền (điều này sẽ cản trở bất kỳ lợi ích nào của việc nhân rộng tốt từ P2P).
    • An ninh là khó để đạt được.
    • Kết nối internet của khách hàng cũng có thể ảnh hưởng đến trò chơi cho những người khác.
    • Độ trễ thường lớn hơn nhiều (mặc dù có thể tốt hơn khi tham gia trò chơi internet có nhiều người từ mạng LAN chẳng hạn).
    • Có thể yêu cầu chuyển tiếp cổng : P2P qua Internet yêu cầu chuyển tiếp cổng và không phải ai cũng đủ thiên về kỹ thuật để làm điều đó. Ngoài ra, ISP có thể ngăn chuyển tiếp cổng và nó làm tăng rào cản gia nhập.

Máy chủ-Máy khách :

  • Ưu điểm:
    • Dễ dàng thực hiện: Nó đơn giản như nó được.
    • Nếu được triển khai tốt, quy mô cực kỳ tốt (nếu công việc có thể được phân phối trên nhiều máy chủ).
    • Gian lận có thể tránh được một cách dễ dàng (so với P2P).
    • Độ trễ thấp hơn : Nếu máy chủ có kết nối chắc chắn, độ trễ có thể cực kỳ thấp.
    • Kết nối internet của người chơi không bao giờ ảnh hưởng đến trò chơi của người khác.
  • Nhược điểm:
    • Chi phí bạn bỏ ra để chạy các máy chủ : chắc chắn không phù hợp với trò chơi miễn phí (trừ khi bạn cho phép người chơi thiết lập máy chủ chuyên dụng, nhưng đó có thể là vấn đề bảo mật).
    • Nếu máy chủ có vấn đề, tất cả mọi người làm.

Tôi sẽ coi P2P là một lựa chọn tốt vì kết nối internet trung bình ngày càng tốt hơn, trong tương lai độ trễ P2P có thể không phải là vấn đề. Cũng nhiều về P2P phụ thuộc vào việc thực hiện cụ thể.

Ngoài ra còn có một số kiến ​​trúc kết hợp P2P với Máy khách-máy khách.


P2P Con: Ghép đôi, trừ khi đó là trò chơi LAN, bạn không biết cách tìm bạn bè. CS: Độ trễ thấp hơn không phải là khi một người chơi ở, giả sử, người Đức và người kia ở Úc. Nó vẫn là một vấn đề 6y sau đó. CS: Chi phí tiền của bạn không nhiều, thực sự. Máy chủ trở nên khá rẻ. Ngoài ra, bạn có thể bắt đầu bằng cách lưu trữ trò chơi trên PC của mình bằng cách sử dụng một số proxy web để trỏ đến trò chơi.
badunius

2

Một rủi ro lớn của các trò chơi ngang hàng là không có cơ quan trung ương dưới dạng máy chủ trung lập, không có cách nào để ngăn chặn gian lận. Mỗi khách hàng có thể giải thích kết quả của trò chơi theo cách họ muốn. Một số trò chơi tuyên bố một trong những khách hàng là chủ nhà và để anh ta làm giám khảo, nhưng khi khách hàng đó là một kẻ lừa dối, họ quyết định kết quả của toàn bộ trò chơi.

Với các trò chơi yêu cầu độ trễ thấp và băng thông cao, như bất kỳ trò chơi nào cần phản ứng nhanh từ người chơi, bạn cũng gặp vấn đề là chủ nhà chỉ sử dụng kết nối internet ở cấp độ người tiêu dùng, không ngồi trong trung tâm dữ liệu với đường trục hiệu suất cao kết nối. Điều đó có nghĩa là trải nghiệm người dùng sẽ bị ảnh hưởng. Đây không phải là quá nhiều vấn đề trong các trò chơi "chậm hơn" theo định hướng chiến lược.


Sử dụng mô hình đồng thuận, gian lận không còn là vấn đề nữa so với mô hình máy khách-máy chủ.
Jeroen

1

Việc triển khai các trò chơi nhiều người chơi ngang hàng là không dễ dàng và không thể áp dụng vào lúc này.

Vấn đề bạn gặp phải là, không ai trong số các đồng nghiệp biết tất cả các đồng nghiệp khác để bạn có nhiều bước nhảy cho mỗi thông báo dẫn đến độ trễ cao hơn so với mô hình máy chủ máy khách. Xem bài viết này để biết thêm chi tiết.

Các trò chơi dựa trên vòng có thể dễ dàng sử dụng một giao thức như vậy vì chúng không phụ thuộc vào độ trễ quá nhiều. Ngoài ra, họ thường chỉ có một vài máy chủ lưu trữ trong một phiên để người ta có thể phát mọi tin nhắn cho tất cả người chơi khác.

Các trò chơi khác sử dụng ngang hàng chỉ cần chọn một trong số các Máy ngang hàng để lưu trữ trò chơi (ví dụ CoD MW2), dẫn đến các vấn đề như di chuyển máy chủ nếu máy chủ ngắt kết nối.


3
Bạn có nghĩa là "không áp dụng tại thời điểm này"? Có rất nhiều trò chơi sử dụng P2P để kết nối mạng. Ngoài ra, "không ai trong số các đồng nghiệp biết tất cả các đồng nghiệp khác" là từ sai. Mặc dù trong các rơle thực tế cần được hỗ trợ để cải thiện độ bền, nhưng hoàn toàn có thể có một cấu trúc liên kết mạng hoàn hảo giữa mọi người với nhau, đặc biệt là với số lượng nhỏ ngang hàng hoặc trong mạng LAN nơi không có bộ định tuyến NAT can thiệp.
Tapio

@Tapio Tất nhiên có thể xây dựng mạng p2p cho các trò chơi nhưng nó sẽ bị hạn chế về độ trễ, số lượng người dùng hoặc môi trường sử dụng. Vì lý do đó, hầu hết các trò chơi không sử dụng cách tiếp cận p2p.
Horstinator

@Horstinator Tôi biết một trò chơi sử dụng P2P cho trò chơi FPS, nó hỗ trợ mạnh mẽ cho 50 - 100 người chơi mà không gặp vấn đề về độ trễ nào. (Nó được gọi là chiến tranh stickman cho bất cứ ai quan tâm)
akaltar 22/12/13

@akaltar Có phải là nguồn mở? Id muốn xem làm thế nào họ làm điều đó.
Horstinator

@Horstinator Quá tệ, nhưng theo tôi biết thì không. Bạn có thể hỏi người tạo trên diễn đàn (đây là một dự án rất nhỏ, vì vậy ai đó nên trả lời).
akaltar
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.