Game trên Steam phải công khai anti-cheat cấp kernel trên trang cửa hàng
(gamingonlinux.com)- Valve yêu cầu các nhà phát triển Steam hiển thị rõ trên trang cửa hàng việc game có sử dụng anti-cheat cấp kernel hay không, giúp người mua dễ kiểm tra thông tin bảo mật và tương thích trước khi mua
- Phạm vi áp dụng không chỉ giới hạn ở các game mới phát hành mà còn bao gồm cả những game đã được đăng ký trên Steam, đồng thời được đưa vào quy trình phát hành mới
- Nghĩa vụ công khai chỉ giới hạn ở anti-cheat cấp kernel, nhưng Valve cho rằng cũng nên thông báo cho người chơi về anti-cheat phía client và phía server
- Với phần hiển thị trên cửa hàng, Valve sẽ kiểm tra cả sự tồn tại và độ chính xác của thông báo anti-cheat; việc này cũng có thể xử lý vấn đề các mục còn sót lại sau khi gỡ cài đặt ở một số game cũ
- Người dùng Steam Deck và Desktop Linux sẽ có khả năng lọc trước khi mua các game mà nhà phát triển chặn chạy qua Proton
Thay đổi hiển thị anti-cheat trên Steam Store
- Valve yêu cầu các game trên Steam phải hiển thị rõ trên trang cửa hàng việc có sử dụng anti-cheat cấp kernel hay không
- Theo bài đăng Steamworks Developer, các nhà phát triển đang tìm cách chia sẻ thông tin anti-cheat với người chơi, trong khi người chơi cũng yêu cầu mức độ minh bạch cao hơn về các dịch vụ anti-cheat được dùng trong game và phần mềm cài đặt bổ sung
Phạm vi áp dụng bao gồm cả game hiện có
- Yêu cầu này không chỉ áp dụng cho các game dự kiến phát hành mới
- Những game đã được đăng ký trên Steam cũng phải bổ sung thông tin này
- Yêu cầu cũng được đưa vào quy trình phát hành mới
- Valve sẽ tiến hành kiểm tra xem trang game có thông báo hay không và nội dung có chính xác không
Phân biệt công khai bắt buộc và công khai tùy chọn
- Hạng mục bắt buộc phải công khai là anti-cheat cấp kernel
- Nếu chỉ sử dụng anti-cheat phía client hoặc phía server, việc công khai là tùy chọn
- Valve cho rằng sẽ hữu ích nếu mọi game sử dụng công nghệ anti-cheat đều thông báo điều đó cho người chơi
Cũng có thể hiển thị thông tin liên quan đến gỡ cài đặt
- Một số game không gỡ bỏ đúng cách các mục đã cài đặt khi bị xóa
- Valve cho biết việc này xảy ra ở các game cũ
- Phần hiển thị trên cửa hàng cũng có thể bao gồm thông tin liên quan đến việc gỡ bỏ
Tác động với người dùng Linux và Steam Deck
- Người dùng Steam Deck và Desktop Linux có thể dễ dàng hơn trong việc判断 game nào nên tránh
- Các game dùng anti-cheat cấp kernel thường bị nhà phát triển chặn chạy qua Proton
Các thay đổi gần đây liên quan đến Steam
- Gần đây Valve đã thực hiện nhiều thay đổi trên Steam
- Ứng phó với spam banner của nhà phát hành
- Cải thiện game Native Linux
- Hiển thị rõ khi mua game rằng đó là giấy phép, không phải quyền sở hữu
- Phản ánh việc loại bỏ nhu cầu trọng tài riêng lẻ
1 bình luận
Ý kiến trên Hacker News
Tuần trước tôi cài lại GTA V, và khá bất ngờ khi biết rằng giờ muốn chạy thì phải cài một rootkit
Thật vô lý khi họ thêm một phần mở rộng kernel bắt buộc vào một trò chơi tôi mua 10 năm trước, lại còn là trò tôi chỉ muốn chơi đơn
Như thường lệ, có lẽ bản lậu mới là trải nghiệm tốt hơn
-nobattleyevào tùy chọn khởi chạy của Steam thì có thể chơi chế độ đơn mà không cần cài thêmRockstar lẽ ra nên làm nó thành một tùy chọn khởi chạy riêng như các game khác
GTA V thì tôi mua trên PlayStation, và ở đó có thể chơi single-player mà không cần tài khoản Rockstar. Có lẽ Sony đã buộc họ phải làm vậy, chứ tôi không nghĩ Rockstar tự nguyện vì thiện chí
Tuy nhiên mỗi lần mở game lại hiện màn hình dụ vào multiplayer, và sau một lần tôi bấm vào tùy chọn liên quan đến multiplayer, suốt vài tuần sau đó dù không chạy game, hệ thống PlayStation vẫn liên tục đẩy thông báo sự kiện GTA Online
Vậy nên tôi chia tay Rockstar. Các game của họ cũng đã phình to đến mức có cảm giác chính họ không còn tự kiểm soát nổi
“Các công ty này dường như đều do những CEO lấy MBA ở Đại học Darth Vader điều hành, và buổi học đầu tiên là ‘Ta đã thay đổi điều khoản giao dịch. Hãy cầu là ta không thay đổi thêm nữa’”
https://pluralistic.net/2023/12/08/playstationed
Đáng tiếc là trải nghiệm dùng bản lậu đúng là tốt hơn, dù tôi nghĩ điều này thường không áp dụng với game indie
Ít nhất là khi chúng còn là indie. Gần đây, sau rất lâu tôi cài lại Minecraft và phát hiện Microsoft yêu cầu xác minh số điện thoại để chơi một game tôi đã mua hơn 10 năm trước
Họ không quan tâm liệu tôi chỉ muốn chơi single-player như vụ rootkit của GTA V hay không. Bị chặn ở launcher là hết, và cũng chẳng có ai giúp
Nhìn vào việc thị giác máy tính và trí tuệ nhân tạo tiếp tục phát triển, tôi nghĩ chẳng bao lâu nữa sẽ xuất hiện các thiết bị ngoại vi gian lận hoạt động hoàn toàn bên ngoài và rất khó phát hiện
Kiểu như chụp hình trực tiếp từ đầu ra màn hình, rồi giả lập thiết bị nhập USB để truyền thao tác vào
Nó sẽ không cung cấp được mọi chức năng như nhìn xuyên tường giống các cheat bám vào tiến trình game, nhưng theo cách này hoàn toàn có thể tạo aimbot vượt khả năng con người
Hiện đã có cả cheat “radar” bên ngoài dùng âm thanh stereo của game để cho biết hướng phát ra các âm thanh cụ thể như tiếng bước chân
Có cả sản phẩm bán sẵn như kmbox, hoặc cũng có thể tự làm
Tuy nhiên điểm quan trọng là tỷ lệ cheater trong game đủ cố chấp để mua cả phần cứng là cực kỳ nhỏ. Nó đắt và phiền hơn rất nhiều so với việc nhấp đúp vào một file thực thi để được thỏa mãn ngay
Vì vậy, chỉ riêng việc khiến họ phải bỏ công như thế để tránh bị khóa tài khoản thực ra đã được xem là thành công
Chỉ là phần lớn người chơi chơi trung thực để giải trí nên không quá bận tâm
Nói nghiêm túc thì tôi nghe nói các thiết bị như vậy đã tồn tại rồi
Sau bước đầu tiên, cần phải cấm các trò chơi có anti-cheat cấp kernel
Trên Linux thì không thể chấp nhận được, và Apple trong tương lai cũng sẽ không cho phép những thứ như vậy nữa. Tuy nhiên, Apple đã mất ảnh hưởng trong mảng game sau Mantle và các bộ xử lý M, cả hai đều gây ra vấn đề tương thích lớn
Microsoft cũng đang hối hận về mọi lựa chọn liên quan đến chuyện này
https://www.theverge.com/2024/9/12/24242947/microsoft-window...
Như mọi khi, khi Microsoft đưa ra quyết định tệ, tất cả mọi người đều phải chịu khổ. Ngay cả Linux cũng vậy. Có lý do khiến các module kernel mã nguồn đóng đánh dấu Linux ở trạng thái tainted, và hệ thống đó không đáng tin cậy
Làm cho trò chơi an toàn là trách nhiệm của nhà phát triển game, chứ không phải can thiệp vào thiết bị của người dùng. Việc không đạt được mục tiêu theo cách an toàn không phải là lý do để ép người dùng làm những việc ngu ngốc và nguy hiểm
Ngay từ đầu, chi phí thuê kỹ sư có thể xây dựng thành phần kernel cũng rất lớn. Đây là lĩnh vực chuyên môn hẹp và không thể thuê rẻ
Các công ty game dùng anti-cheat cấp kernel không phải vì lười, mà vì nhu cầu tuyệt đối, đặc biệt trong các game như FPS, nơi chỉ dùng phương pháp thuần phía server thì không thể chặn hoàn toàn
Học máy cũng đã được thử, nhưng có nhiều báo động nhầm và bỏ sót nhiều kiểu cheat tinh vi làm hại trải nghiệm người chơi. Anti-cheat trước đây chỉ nằm ở user mode, rồi cheat chuyển xuống kernel khiến việc phát hiện và chặn trở nên khó hơn
Để duy trì hiệu quả, anti-cheat cũng buộc phải theo kịp. Phương án còn lại chỉ là nhường sân cho cheater và nhìn trò chơi được phát triển, vận hành bằng nguồn lực khổng lồ biến thành địa ngục cheat khiến người chơi bình thường rời bỏ
Tôi đồng ý rằng nếu không có những thứ này thì sẽ tốt hơn cho tất cả, nhưng cái tâm lý đặc quyền tin rằng doanh nghiệp tư nhân phải vận hành theo mong muốn cá nhân và nhà phát triển có “nghĩa vụ” chỉ làm theo cách mình muốn thật đáng kinh ngạc
Mà là vì họ không muốn để một lượng lớn con người làm lực lượng xét duyệt và quyết định một cách bất ổn rằng “người kia có cheat hay không”
Anti-cheat cấp kernel về cơ bản có khiếm khuyết. Kết quả là các cheat DMA và cheat dựa trên thị giác máy tính đang tăng lên, vẫn đem lại cho cheater lợi thế lớn và còn khó phát hiện hơn
Dù vậy, nó vẫn hiệu quả trong việc chặn các cheat lộ liễu và phần lớn cheat tinh vi
Việc server phát hiện cheat sau khi nhận input là cực kỳ khó để làm một cách ổn định. Người mới nhập lệnh chậm và có độ trễ, còn cao thủ phản ứng nhanh hơn nhiều lần, thậm chí phản ứng nhanh hơn tưởng tượng nhờ trí nhớ cơ bắp
Muốn tạo cheat không thể phát hiện, chỉ cần đưa vào mã giới hạn thời gian phản ứng ở mức con người và khiến mọi input trông thực tế
Rốt cuộc, bằng các phương pháp thống kê phía server, vẫn có thể tạo ra cheat mang lại lợi thế lớn mà thực tế không bị phát hiện
Ở đây sẽ rất muốn dùng trí tuệ nhân tạo, nhưng chắc chắn cần có con người giám sát, nếu không sẽ có báo động nhầm
Cực đoan hơn, ngay cả khi thiết kế game xoay quanh rendering phía server và xử lý input phía server để người chơi về cơ bản chơi qua kết nối remote desktop, tạm bỏ qua vấn đề độ trễ, các cheat như tự động snap vào đầu, bù giật, tự động bắn vẫn ảnh hưởng lớn đến game
Thậm chí còn có thể triển khai wallhack thô sơ bằng âm thanh, vốn phải đủ chính xác để con người xác định vị trí địch
Vì bản chất của game FPS là như vậy nên các công ty mới đưa anti-cheat cấp kernel vào những game này. Muốn làm một FPS không thể cheat thì phải làm một trò chơi khác mà về mặt hình thức việc cheat khó hơn hoặc không thể
Nếu muốn FPS không có cheater, cần khuyến khích lại matchmaking tự quản, tự host server và tự quản trị. Nhưng khi đó lại nảy sinh vấn đề “không mở rộng được”. Việc con người review cũng vậy, rendering phía server cũng vậy, đều không mở rộng được
Lý do cốt lõi khiến các công ty game dùng anti-cheat cấp kernel là người chơi trả tiền cho game có nó, nhưng không trả tiền cho game không có nó
Tôi nghĩ Microsoft là một trong những công ty tệ nhất, nhưng trong trường hợp này, tôi thấy khó trách Microsoft hay các nhà phát triển anti-cheat cấp kernel. Các nhà phát triển đang làm điều người chơi muốn, còn Microsoft chỉ cho phép thứ mà người dùng cuối muốn được phép dùng
Nếu Microsoft loại bỏ anti-cheat cấp kernel, có khả năng họ sẽ không giết khái niệm anti-cheat xâm nhập, mà thay bằng mã ở user space có hỗ trợ chứng thực phần cứng. Microsoft chỉ đang thiết kế lại công cụ để tránh trách nhiệm của mình
Về cơ bản, anti-cheat cấp kernel đã đẩy cheat sang lĩnh vực DMA và thị giác máy tính. Vì vậy, những cheat lộ liễu và khó chịu hơn, không bị cả anti-cheat cấp kernel phát hiện, có thể sớm trở nên phổ biến hơn
Lựa chọn tiếp theo có thể chỉ còn là game độc quyền trên console với phần cứng được chứng nhận và chứng thực phần cứng. Ngay cả điều đó cũng vẫn có khiếm khuyết
Cuối cùng, có thể sẽ trở nên bất khả thi để chơi game trên server công khai mà không có cheat. Tôi không biết điều này sẽ khiến mọi người rời xa loại game này hay dồn họ vào các lobby riêng tư
Chắc hẳn không chỉ mình tôi nghĩ đến chuyện này
Tôi hoàn toàn không thích việc trao quyền truy cập kernel ở mức mà game tự ý lấy đi mà không xin phép
Tuy nhiên, gian lận là mối đe dọa hiện hữu đối với việc duy trì trải nghiệm chơi game tốt trên mạng, và tôi cũng không biết rõ giải pháp nào khác
Điều đặc biệt gây bực bội trong vài năm qua là do thói quen xấu của một số nhà phát triển game để anti-cheat vẫn chạy hoặc nằm chờ ngay cả khi không chơi game, khiến các game khác chẳng liên quan gì đến game tôi đang chơi gặp vấn đề
Là người chơi nhiều game cạnh tranh, giải pháp thỏa hiệp của tôi là dành riêng một laptop cho game, và trong đó thậm chí tôi cũng không đăng nhập tài khoản email. Chỉ để Steam, game và vài phần mềm video cần thiết
Không hay ho gì lắm, nhưng ít nhất tôi nghĩ việc này phải được công khai. Thật lạ là chuyện này trước đây chưa phải là tiêu chuẩn. Dù vậy, nếu công khai quá nhiều thì kẻ gian lận cũng có thể lợi dụng, nên đúng là khó
Anti-cheat chỉ là một cuộc chạy đua vũ trang, và vẫn có những cách tiếp cận khác. Ví dụ như một kiểu KYC nhẹ, yêu cầu số điện thoại cho chế độ xếp hạng
Deadlock có vẻ đang làm điều thú vị với hệ thống early access chỉ qua lời mời. Về thực chất, họ đang tạo ra đồ thị xã hội của người chơi, và có thể tận dụng nó để nhận diện “tổ chức gian lận” hoặc tài khoản bị chiếm đoạt, hoặc xây dựng hệ thống danh tiếng xã hội trong cộng đồng
Như tôi đã nói ở một thread khác, có lẽ do giờ tôi đã lớn tuổi, nhưng tôi chưa bao giờ thật sự bận tâm liệu người chơi khác có dùng cheat hay không
Trước đây việc gặp người dùng aimbot hoặc wallhack cũng khá phổ biến
Nếu nó thật sự làm mất vui thì chỉ cần đổi server hoặc vào lobby khác là được
Chỉ anti-cheat cấp kernel thôi là chưa đủ
Phải tin tưởng input từ client, nhưng lại không có chứng minh nguồn gốc, và kernel không thể nhìn thấy input
Hiện tôi đang phát hành một game matchmaking 100 người. Client chạy tick ở 360Hz, server ở 120Hz. Công bằng tới mức ping 60 và phủ toàn bộ một châu lục
Server là máy vật lý chứ không phải máy ảo, dùng EPYC 4244P với băng thông gửi ra 2Gbps, mỗi trận 15 phút dùng 1 server. Tất cả client và server đều dùng
mitigations=off,nosmtTôi thích Steam, nhưng sẽ không phát hành game này trên đó
Muốn chơi thì phải khởi động lại. Đó là một ISO Arch Linux đã chỉnh sửa, boot thẳng từ USB drive vào game
Không chỉ kernel, mà cả hệ điều hành và mọi chương trình đang chạy đều được kiểm soát. Không có Cortana, không Discord, không Spotify, chỉ có game. Trong lúc chơi, PC biến thành một máy arcade
Nhưng như vậy vẫn chưa đủ
Muốn chơi xếp hạng thì phải lắp camera quay tay từ phía trên vai trái. Phải thấy được hướng đầu, hai tay, toàn bộ mousepad và màn hình. Cũng phải dùng tốc độ chuột, kích thước mousepad và kích thước màn hình cố định
Vì mọi người đều chơi với cùng thiết lập và cấu hình, nên khi xem lại input của bất kỳ người chơi nào cũng sẽ trông quen thuộc
Anti-cheat kernel là chưa đủ; cần một môi trường hệ điều hành hoàn chỉnh có thể tái tạo, bao gồm cả chương trình thực thi và kết nối mạng
Như thế vẫn chưa đủ. Cần nối thẳng chứng minh nguồn gốc input của người dùng vào hệ thống replay của game, để tôi hoặc bất kỳ ai có thể xem lại tình huống giao tranh từ góc nhìn của mọi bên
Tất nhiên mọi thứ phải là tùy chọn. Không phải ai cũng muốn chơi xếp hạng, và chỉ riêng anti-cheat ở mức toàn bộ OS cũng đã giúp được phần nào dù không có chứng minh nguồn gốc input
Đã bao giờ bạn tự hỏi mình bị một kẻ gian lận giết, hay bị một vị thần giết chưa. Bạn không muốn phải tự hỏi câu đó nữa sao. Tôi thì có, và sắp tới sẽ được như vậy
Nhưng nói thật, ngăn gian lận là bất khả thi. Cách duy nhất là chơi với bạn bè, hoặc thay đổi phần thưởng của game để cheat kém hấp dẫn hơn
Ví dụ Counter-Strike cho phép kiếm và bán skin, nên chắc chắn sẽ có nhiều kẻ gian lận. Game quá phổ biến nên cũng có nhiều người chơi mua cheat
Thiết kế game và thiết kế engine cũng có thể giúp chống cheat
Không thể giải quyết sự tha hóa; phải thay đổi game hoặc người chơi
Cộng đồng Counter-Strike khá độc hại, nhưng lại cực kỳ sinh lợi cho Valve, nên tôi nghĩ Valve không quan tâm dù người chơi cư xử tệ
CS là một game hay, nhưng bản chất con người là vậy. Khó tìm được người chơi CS nào đáng để giới thiệu, và phần lớn game thủ thấy việc tương tác với cộng đồng đó quá khủng khiếp nên chuyển sang thứ khác
Tôi muốn thử game, nhưng vấn đề của tôi là những người muốn chiếm quyền kiểm soát máy tính của tôi. Tôi sẽ không giải quyết vấn đề đó bằng cách để bạn chiếm quyền máy tính của tôi
Nói về yêu cầu hệ thống, liệu một cái laptop cũ nát bỏ đi có chạy được không?
Về lý thuyết ở đó cũng có kẻ gian lận, nhưng trong các game PS5 của tôi thì không nhiều đến mức ảnh hưởng đến trải nghiệm người dùng
Bản thân kế hoạch game điên rồ đó thì rất ấn tượng. Chỉ là chắc sẽ khó được các streamer Twitch marketing cho
Tôi đã dựng một máy Arch Linux riêng chỉ để chơi game Steam
Trên máy đó tôi tuyệt đối không đăng nhập email, ngân hàng hay các tài khoản nhạy cảm khác
Vì là laptop Framework nên có thể tách vật lý camera và micro ra. Về cơ bản tôi xem nó như một thiết bị công cộng
Nếu vậy thì mọi thứ cài trên PC đều đáng nghi. Việc cài
sshcòn khiến tôi thấy đáng sợ hơn nhiều so với một game Steam ngẫu nhiênNếu hoàn toàn không chơi game multiplayer online thì có thể khá phù hợp
Có thể gắn GPU rời vào không?
Sẽ tốt hơn nếu có tag. Vì đã có tag “Cần tài khoản bên thứ ba”, nên tôi cũng muốn có thể lọc các game kiểu đó để chúng hoàn toàn không hiện ra
Ngoài ra còn có nhiều tính năng hữu ích khác
[0]: https://github.com/IsThereAnyDeal/AugmentedSteam
Tôi chưa từng thấy game nào yêu cầu quyền root, và nghĩ rằng để cài thứ gì đó ở cấp kernel thì sẽ cần quyền như vậy
Trong các binary của Steam cũng không có cái nào được đặt
setuidhay capabilitiesTôi tò mò không biết có ai từng thấy game yêu cầu quyền root chưa
Nhìn vào bài này[1] và việc các gói liên quan đến Wine không có kernel module, cũng như các file thực thi trong những gói đó không có
setuidhay capabilities, thì đây có vẻ là vấn đề của Windows chứ không phải Linux[1] https://www.reddit.com/r/linux_gaming/comments/gjzkzk/will_w...
Lý do nó liên quan đến gaming trên Linux là vì dù Wine/Proton chạy tốt phần ở user space, những game như vậy vẫn không hoạt động trên Linux
Nó chạy một phiên bản nhẹ chạy với quyền người dùng thông thường, nhằm cung cấp mức bảo vệ tối thiểu kiểu xác minh file game hoặc phát hiện những thứ rõ ràng bất thường
Đương nhiên nó không có quyền xem mọi thứ đang chạy trên hệ thống hay cài kernel module
Vì vậy cheater có thể dễ lách hơn trên Linux, nên các anti-cheat như EAC để hỗ trợ Linux dưới dạng tùy chọn bật/tắt, và một số nhà phát triển không bật nó
Có thể hiểu được khi Valve vẫn luôn nói rằng anti-cheat cấp kernel là không cần thiết và cũng không đưa nó vào game của chính họ
Nhưng nói thật, trong CS có nhiều lúc bạn phải nghi ngờ không biết đối thủ hôm nay phong độ tốt hay đang hack, còn trong Valorant thì không như vậy — hẳn là có lý do
Các nhà phát triển càng sớm nhận ra rằng họ phải làm tốt phía server thì càng tốt
Ví dụ như macro, aimbot, theo dõi thời gian hồi chiêu, tự động hex, v.v.
Không thể chặn mọi thứ ở phía server