1 điểm bởi GN⁺ 2024-01-14 | 1 bình luận | Chia sẻ qua WhatsApp

Vấn đề Steam 10 năm tuổi của Valve, có phải ai cũng nhanh hơn Valve?

  • Valve đôi khi có vẻ không phản hồi các phản hồi từ cộng đồng và báo cáo lỗi.
  • Câu chuyện về một lỗi đã tồn tại suốt 10 năm.

tl;dr

  • Một số cách khắc phục phổ biến nhằm xử lý vấn đề No user logon trong Counter-Strike, đã kéo dài hơn 10 năm, thực tế không giải quyết được nguyên nhân gốc rễ.
  • Nếu bạn tìm thấy bài viết này qua Google, đừng thử các cách sau:
    • Cài đặt lại game
    • Xác minh tệp game
    • Khởi động lại Steam
    • Khởi động lại máy tính
    • Tắt WiFi

Introduction

  • Counter-Strike là một trò chơi nổi tiếng do Valve phát triển.
  • Gần đây, Counter-Strike 2 (CS2) đã được phát hành để thay thế Counter-Strike: Global Offensive (CS:GO).
  • CS2 chứa nhiều lỗi, khiến trải nghiệm chơi game không tốt.
  • Valve không đưa CS2 vào chương trình săn lỗi HackerOne, nên không trả thưởng cho các báo cáo lỗi liên quan đến CS2.

No user logon

  • Những lỗi mà cộng đồng đã báo cáo suốt nhiều năm vẫn chưa được sửa và vẫn tồn tại trong CS2.
  • Lỗi No user logon xảy ra ngẫu nhiên trong lúc chơi.
  • Vấn đề này đã được báo cáo nhiều lần trên nhiều diễn đàn và cả diễn đàn hỗ trợ chính thức của Valve.
  • Các cách khắc phục được đề xuất thực tế không xử lý được vấn đề.

Esportal specific

  • Esportal cũng đã gặp vấn đề này suốt nhiều năm, và trên thực tế chỉ giảm được tần suất xảy ra chứ không giải quyết được tận gốc.
  • Trong CS2, ban đầu có vẻ như vấn đề đã được khắc phục, nhưng đến tuần đầu tiên của tháng 1 năm 2024 thì số lượng báo cáo lại tăng lên.

The symptoms

  • Lỗi No user logon xuất hiện sau 2-3 phút kể từ khi người chơi kết nối vào game.
  • Có thể nó liên quan đến hiện tượng skin chỉ xuất hiện vài phút sau khi trận đấu bắt đầu.

Validation of the hypothesis

  • Nhiều khả năng đây là vấn đề liên quan đến xác thực Steam.
  • Thời gian để STEAM USERID validated hoàn tất thành công trước ngày 3 tháng 1 là 2-3 giây, nhưng sau đó tăng lên khoảng 1 phút 20 giây.

NETWORK_DISCONNECT_STEAM_LOGON

  • Có vẻ đây là lỗi liên quan đến xác thực Steam.
  • Đã phát hiện log STEAMAUTH: Client Bob received failure code 8.

Steam3 validation

  • Máy chủ Steam3 chịu trách nhiệm xác thực người dùng.
  • Máy chủ game sẽ yêu cầu máy chủ Steam3 xác minh tính hợp lệ của Steam ID.
  • Trong lúc máy chủ Steam3 đang xác minh, người chơi vẫn có thể tiếp tục chơi nhưng skin sẽ chưa được gán.

Making it trustable

  • Cần có một quá trình kiểm tra xem CS2.exe có đáng tin cậy hay không.
  • Steam.exe biết tài khoản hiện đang đăng nhập và kiểm tra xem nó có khớp với Steam ID được gửi từ CS2.exe hay không.

NETWORK_DISCONNECT_LOOPSHUTDOWN

  • Có một lý do ngắt kết nối khác là NETWORK_DISCONNECT_LOOPSHUTDOWN.
  • Điều này có nghĩa là chính trò chơi tự động gây ra việc thử kết nối lại.

Loops in the Source engine

  • Engine Source có các vòng lặp chạy cho đến khi đạt được một mục tiêu nhất định.
  • CS2.exe chạy nhiều vòng lặp, và cuối cùng vòng lặp game sẽ được thực thi.

The disconnection

  • Khi vòng lặp kết thúc, kết nối có thể bị ngắt do NETWORK_DISCONNECT_LOOPSHUTDOWN.

CS2 startup procedure

  • Khi CS2.exe khởi động, nó chạy nhiều vòng lặp, và vòng lặp levelload bắt đầu việc xác minh Steam ID trước khi chuyển sang vòng lặp game.

Ý kiến của GN⁺:

  1. Bài viết này cung cấp một phân tích chuyên sâu về lỗi No user logon đã tồn tại rất lâu trong dòng game Counter-Strike của Valve. Điều này giúp hiểu rõ hơn những khó khăn trong phát triển và bảo trì game.
  2. Việc Valve không phản hồi phù hợp với phản hồi cộng đồng và báo cáo lỗi nhấn mạnh tầm quan trọng của giao tiếp giữa nhà phát triển game và người dùng.
  3. Bài viết cho thấy rõ tính phức tạp của kỹ nghệ phần mềm cùng những thách thức trong quá trình theo dõi và xử lý lỗi. Điều này nhấn mạnh nhu cầu về một cách tiếp cận có hệ thống để giải quyết bug.

1 bình luận

 
GN⁺ 2024-01-14
Ý kiến trên Hacker News
  • Bình luận đầu tiên giải thích hệ thống session ticket của Steam, cho biết game client sẽ yêu cầu session ticket từ máy chủ Steam rồi cung cấp nó cho game server để chứng minh Steam ID. Game server phải xác thực ticket này thông qua web API của Steam, và nhận xét rằng có vẻ client CS2 không xử lý được trường hợp bị chậm khi lấy session ticket.

    "Giải thích hệ thống session ticket của Steam và chỉ ra vấn đề xử lý độ trễ của client CS2"

  • Bình luận thứ hai cho rằng kết luận của bài viết chưa rõ ràng, đồng thời đề cập đến vấn đề trong cách khởi động Counter-Strike và khả năng công việc bảo trì tại Washington có thể gây ra sự cố cho người chơi trên toàn thế giới. Ngoài ra, bình luận giải thích rằng việc xác minh Steam ID diễn ra ở bước cuối cùng trước khi vòng lặp game bắt đầu, nên khi máy chủ chậm trong thời gian bảo trì, điều đó có thể cản trở việc khởi động game.

    "Phân tích cách khởi động Counter-Strike và tác động của công việc bảo trì đến việc phát sinh sự cố"

  • Bình luận thứ ba chỉ ra một lỗi là việc hoàn tất xác thực trước khi bắt đầu game multiplayer không phải là yêu cầu bắt buộc.

    "Chỉ ra việc thiếu tính bắt buộc của hoàn tất xác thực trước khi bắt đầu game multiplayer"

  • Bình luận thứ tư thắc mắc liệu có thể điều tra nguyên nhân game client bị crash ngoài dự kiến theo cùng cách hay không, đồng thời nhắc đến nghiên cứu về việc rút ngắn thời gian tải của GTA V.

    "Nhắc đến việc điều tra nguyên nhân crash của game client và nghiên cứu rút ngắn thời gian tải GTA V"

  • Bình luận thứ năm cho rằng văn phong của bài viết quá cường điệu và đề xuất đi nhanh vào nội dung cốt lõi.

    "Nhấn mạnh sự cường điệu trong văn phong bài viết và tầm quan trọng của việc truyền đạt nội dung cốt lõi"

  • Bình luận thứ sáu đề xuất thêm một phần tóm tắt ngắn ở đầu bài viết để phục vụ việc giải thích cách khắc phục vấn đề.

    "Đề xuất bổ sung tóm tắt ngắn để giải thích cách khắc phục vấn đề"

  • Bình luận thứ bảy đặt câu hỏi liệu levelloadloop chỉ chạy khi game khởi động hay cũng chạy khi kết nối vào server và tải map.

    "Câu hỏi về thời điểm levelloadloop được thực thi"

  • Bình luận thứ tám mong muốn ứng dụng Steam trên macOS được cải thiện hiệu năng.

    "Yêu cầu cải thiện hiệu năng ứng dụng Steam trên macOS"

  • Bình luận thứ chín chỉ ra các vấn đề bảo mật của Valve và nhắc đến việc CS:GO đã bị loại khỏi phạm vi trong một báo cáo mới.

    "Đề cập các vấn đề bảo mật của Valve và việc CS:GO bị loại khỏi phạm vi"

  • Bình luận cuối cùng chia sẻ trải nghiệm từng tạo một công cụ hiển thị danh sách server và điểm số của người chơi đang hoạt động, đồng thời nêu khả năng các lỗi cũ vẫn có thể tiếp tục tồn tại.

    "Chia sẻ kinh nghiệm phát triển công cụ hiển thị danh sách server và khả năng bug cũ vẫn còn tồn tại"