Tôi sẽ xem liệu tôi có thể trả lời điều này tốt nhất có thể không:
Mức độ thường xuyên của mô hình máy chủ lắng nghe được sử dụng trong ngành công nghiệp trò chơi?
Khi nói đến hầu hết các trò chơi trực tuyến, bạn sẽ thấy rằng phần lớn các trò chơi sử dụng kiến trúc máy khách-máy chủ, mặc dù không phải lúc nào cũng theo cách bạn nghĩ. Lấy bất kỳ trò chơi Nguồn nào, ví dụ. Hầu hết sẽ sử dụng một máy chủ-máy khách tiêu chuẩn có kiến trúc máy chủ chính (để liệt kê các trò chơi có sẵn), trong đó một người sẽ lưu trữ một máy chủ chuyên dụng và bất kỳ ai có máy khách đều có thể tham gia.
Tuy nhiên, bạn có một số trò chơi và dịch vụ, ví dụ như Left 4 Dead, Liên minh huyền thoại và một số trò chơi XBox Live, có cách tiếp cận hơi khác. Tất cả đều sử dụng kiến trúc máy khách-máy chủ với máy chủ điều khiển. Ý tưởng chính ở đây là ai đó tạo ra một máy chủ chuyên dụng không "chạy" bất kỳ trò chơi nào. Máy chủ điều khiển sẽ tạo ra một "sảnh" sắp xếp và khi trò chơi bắt đầu, máy chủ điều khiển sẽ thêm chúng vào hàng đợi và khi đến lượt của sảnh đó, nó sẽ chọn một máy chủ chuyên dụng phù hợp (về vị trí / tốc độ, tính sẵn có, nhiều yếu tố) và chỉ định người chơi cho máy chủ đó. Chỉ sau đó, máy chủ mới thực sự "chạy" trò chơi. Đó là ý tưởng tương tự, nhưng đơn giản hơn một chút, vì khách hàng không cần phải "chọn" máy chủ,
Tất nhiên, mô hình máy khách-máy chủ lớn nhất là mô hình MMO, trong đó một hoặc nhiều máy chủ vận hành một thế giới bền bỉ xử lý hầu hết tất cả dữ liệu và logic. Một số trò chơi nổi tiếng sử dụng mô hình này là World of Warcraft, Everquest, bất cứ điều gì tương tự.
Vì vậy, một máy chủ lắng nghe phù hợp ở đây? Thành thật mà nói, không thực sự tốt như vậy, tuy nhiên, bạn vẫn sẽ tìm thấy nhiều trò chơi sử dụng nó. Chẳng hạn, hầu hết các trò chơi Nguồn đều cho phép tạo máy chủ nghe và nhiều trò chơi XBox Live cũng vậy (đã được một thời gian, nhưng tôi tin rằng Counter Strike đã làm, cũng như Quake 4 và nhiều game khác). Tuy nhiên, nhìn chung, chúng dường như được tán thành do những lợi thế của mô hình máy khách-máy chủ, đưa chúng ta đến điểm tiếp theo.
Những lợi thế (dis) của nó là gì?
Đầu tiên và quan trọng nhất: hiệu suất. Trong mô hình máy khách-máy chủ, máy khách sẽ xử lý các thay đổi cục bộ (như đầu vào, đồ họa, âm thanh, v.v.) trên mỗi chu kỳ của trò chơi. Vào cuối chu kỳ, nó sẽ đóng gói các dữ liệu liên quan (chẳng hạn như người chơi đã di chuyển? Nếu vậy, ở đâu? Bây giờ họ đang tìm kiếm ở đâu? Vận tốc? Họ đã bắn? Nếu vậy, thông tin về viên đạn. Vv) và gửi nó đến máy chủ để xử lý. Máy chủ sẽ lấy dữ liệu này và xác định xem mọi thứ có hợp lệ không, chẳng hạn như người dùng đang di chuyển theo cách chỉ ra hack (nhiều hơn về sau), liệu di chuyển có hợp lệ (có cách nào không?), Có phải viên đạn từ người chơi 1 người chơi đánh 2?, Và hơn thế nữa. Sau đó, máy chủ sẽ đóng gói và gửi nó cho khách hàng, sau đó cập nhật mọi thứ cần thiết, chẳng hạn như điều chỉnh sức khỏe nếu người chơi bị bắn, đá người chơi nếu xác định rằng họ đang hack, v.v.
Tuy nhiên, một máy chủ lắng nghe phải giải quyết tất cả những điều này cùng một lúc. Vì tôi cho rằng bạn đã quen thuộc với lập trình, nên bạn có thể nhận ra trò chơi có thể cướp được bao nhiêu năng lượng từ máy tính, đặc biệt là một trò chơi được thiết kế kém. Thêm vào xử lý mạng, xử lý bảo mật và hơn thế nữa là trò chơi của khách hàng, bạn có thể thấy hiệu suất sẽ ảnh hưởng nghiêm trọng đến mức nào, ít nhất là cho đến khi xử lý tiêu chuẩn. Hơn nữa, hầu hết các máy chủ chạy trên các mạng nhanh và là các máy chủ được thiết kế để chịu được lưu lượng mạng. Nếu mạng của máy chủ nghe chậm, toàn bộ trò chơi sẽ bị ảnh hưởng.
Bảo mật thứ hai , như đã nêu trước đó, một trong những điều chính mà máy chủ sẽ làm là xác định xem người chơi có khai thác trò chơi hay không. Bạn có thể đã xem chúng như Punkbuster, VAC, v.v. Có một bộ quy tắc rất phức tạp chạy các chương trình này, ví dụ, xác định sự khác biệt giữa một hacker và chỉ là một người chơi rất giỏi. Sẽ rất tệ cho trò chơi của bạn nếu bạn không thể bắt được tin tặc, nhưng thậm chí còn tệ hơn nếu bạn thực hiện hành động chống lại một kẻ bị cáo buộc sai.
Nói chung, một máy chủ lắng nghe sẽ không thể xử lý trò chơi của máy khách, xử lý máy chủ và phát hiện hack và trong hầu hết các trường hợp, các máy dò như Punkbuster rất khó, nếu không thể chạy trên máy chủ nghe, vì nó không thể khó có thể hoạt động chính xác mà không có sức mạnh xử lý cần thiết, vì nhìn chung logic trò chơi được ưu tiên hơn bảo mật và nếu trình phát hiện không được phép xử lý cho một khung hình, nó có thể mất dữ liệu cần thiết để kết tội ai đó.
Cuối cùng là lối chơi . Điều lớn nhất về máy chủ là chúng bền bỉ, có nghĩa là ngay cả khi mọi người rời đi, máy chủ sẽ tiếp tục chạy. Điều này rất hữu ích nếu bạn có một máy chủ phổ biến không có nhiều hoạt động vào ban đêm, mọi người vẫn có thể tham gia khi họ sẵn sàng chơi và không phải chờ đợi để đưa nó trở lại trực tuyến.
Trong một máy chủ lắng nghe, nhược điểm chính là ngay khi máy khách lưu trữ máy chủ lắng nghe rời khỏi, trò chơi phải được chuyển sang một người chơi khác (tạo một lul trong trò chơi có thể kéo dài vài phút trong một số trường hợp) hoặc phải kết thúc hoàn toàn . Điều này không thích hợp trên một máy chủ lớn, vì máy chủ phải trực tuyến (lãng phí một khe cắm trong máy chủ và sức mạnh máy tính của anh ấy / cô ấy cũng có thể làm chậm trò chơi) hoặc kết thúc trò chơi cho mọi người.
Tuy nhiên, mặc dù những vấn đề này, máy chủ lắng nghe có một vài lợi thế.
Dễ dàng thiết lập : Hầu hết các máy chủ lắng nghe không gì khác hơn là nhấn "Trò chơi mới" và cho phép mọi người tham gia. Điều này dễ dàng đối với những người chỉ muốn chơi với bạn bè của họ và không muốn phải cố gắng tìm một máy chủ chuyên dụng trống hoặc chơi với người khác.
Tốt cho thử nghiệm : Nếu một người sở hữu một máy chủ chuyên dụng và muốn thay đổi cấu hình của nó, thì nói chung nên thử nghiệmcấu hình đầu tiên. Người dùng sẽ phải tạo một bản sao lưu của máy chủ chuyên dụng và mù quáng vào các thay đổi, với tùy chọn duy nhất là quay ngược lại nếu có sự cố, tạo một máy chủ chuyên dụng mới để kiểm tra chúng, chỉ cần tạo một máy chủ lắng nghe đơn giản để kiểm tra chúng Và với điểm 1, chúng thường dễ dàng khởi động và cấu hình hơn. Điều này đặc biệt đúng, vì hầu hết các máy chủ chuyên dụng không nằm trong quyền truy cập của quản trị viên (hầu hết các máy chủ chuyên dụng được thuê từ một địa điểm từ xa). Sẽ mất nhiều thời gian hơn để đẩy các thay đổi cấu hình, cũng như các lệnh để khởi động lại, v.v., đến một vị trí từ xa so với máy mà quản trị viên hiện đang bật.
Ít tài nguyên hơn : Trong hầu hết các máy chủ chuyên dụng, người dùng có cùng IP không thể kết nối với máy chủ chuyên dụng (nghĩa là máy khách phải lưu trữ máy chủ hoặc chơi, họ không thể thực hiện cả hai). Nếu khách hàng muốn chơi trên máy chủ của riêng họ, họ thường sẽ cần một máy thứ hai để lưu trữ máy chủ hoặc mua hoặc thuê một máy chủ chuyên dụng để họ thực sự có thể chơi trên đó. Một máy chủ lắng nghe chỉ cần một máy, đó có thể là điều duy nhất khách hàng có thể sử dụng.
Trong cả hai trường hợp, cả hai đều có ưu điểm và nhược điểm, và bạn cần cân nhắc chúng với những gì bạn sẵn sàng thiết kế và thực hiện. Từ kinh nghiệm của tôi, tôi tin rằng nếu bạn triển khai một máy chủ lắng nghe thì nó sẽ được sử dụng, nếu không có gì khác ngoài một vài người dùng muốn chơi xung quanh với bạn bè hoặc cài đặt thử nghiệm.
Cuối cùng:
Tôi có những lựa chọn nào khác?
Đây là một lon giun công nghiệp. Trong thực tế, bất kỳ loại kiến trúc mạng có thể được áp dụng cho các trò chơi video. Tuy nhiên, từ những gì tôi đã thấy, giống như hầu hết các giao tiếp trên internet, hầu hết đều tập trung vào một số dạng mô hình máy khách-máy chủ.
Vui lòng cho tôi biết nếu tôi không trả lời câu hỏi của bạn hoặc nếu bạn cần một cái gì đó mở rộng và tôi sẽ xem những gì tôi có thể làm.