Đăng nhập Steam chạy được, còn game thì không: kiểm tra từng đường đi
Đăng nhập Steam, một bản tải xuống và một phiên ghép trận có thể đi theo những đường khác nhau. Lần theo danh sách kiểm tra theo thứ tự và ghi lại bước nào thực sự thất bại.
Khởi chạy Steam, đăng nhập, và mọi thứ trông khỏe mạnh cho đến khi game không tìm thấy phiên. Hãy coi đó là ba câu hỏi mạng riêng biệt chứ không phải một. Cửa hàng và các màn hình tài khoản, quá trình tải nội dung và phiên game đều có thể đến những điểm cuối khác nhau qua những phương thức vận chuyển khác nhau. Thực hiện các kiểm tra này theo thứ tự và dừng ở lần đầu tiên thất bại, vì mọi thứ sau đó chỉ là phỏng đoán.
Bước 1: xác nhận rằng đăng nhập là thứ duy nhất hoạt động
Đăng nhập chứng minh rằng tài khoản đã đến dịch vụ danh tính với thông tin xác thực và bất kỳ yếu tố thứ hai nào mà tài khoản yêu cầu. Nó không nói gì về việc phân phối nội dung và không nói gì về cách tự lưu trữ của game. Ghi lại thao tác nào trong ba thao tác mà bạn thực sự đã thử, vì người ta thường báo cáo game hỏng sau khi chỉ thử trình khởi chạy.
Đọc văn bản lỗi trước khi xem mạng. Một game báo rằng không có máy chủ nào khả dụng đang nói với bạn điều khác với một trình khởi chạy không đến được cửa hàng. Hai lỗi đến từ các tầng khác nhau và hiếm khi cùng nghĩa. Sự khác biệt này quyết định lần kiểm tra tiếp theo liên quan đến phân giải tên, UDP hay cài đặt khu vực.
Ghi lại tài khoản, khu vực, game và thời điểm. Không có bốn giá trị đó, một so sánh sau này là giữa hai phép thử khác nhau tình cờ có cùng tên.
Bước 2: gọi tên phương thức vận chuyển cho từng thao tác
Việc phân phối nội dung hoạt động như một lần truyền HTTP lớn và chịu độ trễ tốt hơn nhiều so với mất mát. Ghép trận và các phiên trong game thường dùng UDP, nơi một đường làm rơi gói tin trông như game hỏng chứ không phải tải chậm. Hai hồ sơ đó thất bại khác nhau trên cùng một đường hầm, vì thế một bản tải nhanh không dự đoán được phiên hoạt động.
Hãy kiểm tra các điểm đến và các socket đang hoạt động trước danh sách cổng của nhà cung cấp. Danh sách cho biết nền tảng được dùng gì, còn socket cho biết ứng dụng khách này đang làm gì ngay lúc này.
nslookup api.steampowered.com
ss -uanp | head -20
curl -sS -o /dev/null -w '%{http_code} %{time_total}\n' https://store.steampowered.com/Nếu tiến trình game giữ một socket UDP có lưu lượng trong khi đường truyền tốt, lỗi nằm ở phần UDP. Điều này thu hẹp vấn đề vào cách đường hầm xử lý UDP chứ không phải tài khoản hay cửa hàng.
Bước 3: kiểm tra chính sách bao gồm trước danh sách cổng
Nhiều ứng dụng khách VPN áp dụng chính sách theo từng ứng dụng, từng dải địa chỉ hoặc từng họ địa chỉ thay vì cho toàn bộ máy. Trình khởi chạy có thể nằm trong đường hầm trong khi tệp nhị phân của game được chạy riêng nằm ngoài, và khi đó hai bên không thống nhất về thế giới. Bao gồm ở cấp ứng dụng là thủ phạm thường gặp trên laptop chơi game có cài ứng dụng khách của nhà cung cấp. Hãy đọc chính sách thực sự có hiệu lực, không phải hồ sơ bạn lưu tháng trước.
Xem bảng định tuyến và giao diện sở hữu tuyến mặc định. Một quy tắc đường hầm chia tách dựa trên tiền tố đích sẽ xuất hiện ở đó, còn một ngoại lệ ở cấp ứng dụng thì không. Khác biệt đó đáng để biết trước khi thay đổi bất kỳ cái nào.
ip route show default
ip -brief addr
Get-NetAdapter | Select-Object Name, Status, InterfaceDescriptionNếu lưu lượng của game đi ra qua bộ điều hợp vật lý trong khi cửa hàng đi qua đường hầm, chính sách bao gồm là phát hiện. Không ngoại lệ cổng nào sửa được quyết định định tuyến, và thêm một cái chỉ mở rộng bề mặt.
Bước 4: loại trừ một đường SOCKS không thể chở UDP
Tor cung cấp proxy SOCKS, và hỗ trợ SOCKS trong toàn hệ sinh thái không nhất quán về UDP. Hành vi được ghi chép của Tor không triển khai UDP ASSOCIATE, nên một game có lưu lượng phiên là UDP không thể dùng đường đó, dù ứng dụng khách có được hướng tới đó thế nào. Một trình duyệt hoạt động qua proxy chỉ chứng minh rằng các luồng TCP của trình duyệt hoạt động.
Hãy thử tuyên bố chứ không phải ý định. Nếu game vẫn báo phiên không khả dụng trong khi một phép thử chỉ TCP qua cùng proxy thành công, đường proxy không chở lưu lượng mà game cần.
Hãy coi một VPN được định tuyến và một proxy SOCKS là những công cụ khác nhau với khả năng khác nhau. Đổi cái này lấy cái kia là thay đổi thiết kế, không phải sở thích cấu hình.
Đối chiếu bản ghi với thỏa thuận
Khả năng tiếp cận mạng và quyền của tài khoản là hai câu hỏi riêng, và chỉ câu thứ nhất được một đường hầm hoạt động trả lời. Hạn chế liên quan đến ý định đằng sau việc proxy chứ không phải giao thức bạn chọn. Thỏa thuận có hiệu lực giới hạn việc proxy IP với mục đích che giấu nơi chủ tài khoản sinh sống, nên một đường hoạt động vẫn có thể nằm ngoài các điều khoản bạn đã chấp nhận. Hãy đọc thỏa thuận thay vì coi kết nối là sự chấp thuận.
Để so sánh trung thực, chỉ thay đổi một biến mỗi lần và giữ nguyên game, khu vực máy chủ, tài khoản và thao tác. Sau đó kiểm tra kết quả trên đúng bốn thao tác bạn đã ghi lúc đầu.
tracert -h 12 store.steampowered.com
ss -uanp | grep -i -E 'game|steam'
curl -sS -o /dev/null -w '%{remote_ip} %{time_connect}\n' https://store.steampowered.com/Khi bản ghi cho thấy đăng nhập chạy, tải xuống chạy và phiên thất bại, câu hỏi còn lại là về UDP trên đường đi. Khi cả ba đều chạy, khiếu nại ban đầu là về thứ khác, và bước hữu ích tiếp theo là nhật ký của chính game chứ không phải đường hầm. Dù thế nào, danh sách kiểm tra đã thay một cuộc tranh cãi bằng một quan sát cụ thể.