- Valve ने Steam डेवलपर्स से यह स्पष्ट रूप से स्टोर पेज पर दिखाने की मांग की है कि उनका गेम kernel-level anti-cheat इस्तेमाल करता है या नहीं, जिससे खरीदने से पहले सुरक्षा और compatibility से जुड़ी जानकारी जांचना आसान होगा
- इसका दायरा केवल नई रिलीज तक सीमित नहीं है, बल्कि Steam पर पहले से लिस्टेड गेम्स भी इसमें शामिल हैं, और इसे नए रिलीज प्रोसेस में भी जोड़ा गया है
- खुलासा करने की अनिवार्यता केवल kernel-level anti-cheat तक सीमित है, लेकिन Valve का मानना है कि client-side और server-side anti-cheat के बारे में भी players को बताना बेहतर है
- स्टोर पर दिखने वाली जानकारी में anti-cheat नोटिस की मौजूदगी और सटीकता तक Valve जांचेगा, और कुछ पुराने गेम्स में uninstall के बाद बची हुई items की समस्या को भी साथ में संभाला जा सकता है
- Steam Deck और Desktop Linux यूजर्स के लिए खरीदारी से पहले उन गेम्स को छांट पाना आसान हो सकता है जिनमें डेवलपर Proton पर चलने से रोकते हैं
Steam स्टोर में anti-cheat डिस्प्ले में बदलाव
- Valve ने Steam पर गेम्स द्वारा इस्तेमाल किए जाने वाले kernel-level anti-cheat को स्टोर पेज पर स्पष्ट रूप से दिखाना अनिवार्य किया है
- Steamworks Developer पोस्ट के अनुसार, डेवलपर्स players के साथ anti-cheat जानकारी साझा करने के तरीके खोज रहे हैं, और players भी गेम में इस्तेमाल होने वाली anti-cheat सेवाओं व अतिरिक्त install होने वाले software को लेकर अधिक transparency मांगते रहे हैं
मौजूदा गेम्स तक शामिल दायरा
- यह requirement केवल आने वाली नई रिलीज़ गेम्स पर लागू नहीं होती
- Steam पर पहले से लिस्टेड गेम्स को भी यह जानकारी जोड़नी होगी
- इसे नई रिलीज़ प्रक्रिया में भी शामिल किया गया है
- Valve गेम पेज पर नोटिस मौजूद है या नहीं और उसकी सामग्री सही है या नहीं, इसकी जांच करेगा
अनिवार्य और वैकल्पिक खुलासे में फर्क
- जिस चीज़ का खुलासा अनिवार्य है, वह kernel-level anti-cheat है
- अगर कोई गेम केवल client-side या server-side anti-cheat इस्तेमाल करता है, तो खुलासा वैकल्पिक है
- Valve का मानना है कि anti-cheat technology इस्तेमाल करने वाले सभी गेम्स अगर players को इसकी जानकारी दें, तो यह मददगार होगा
Uninstall से जुड़ी जानकारी भी दिखाई जा सकती है
- कुछ गेम्स uninstall करते समय install की गई items को ठीक से हटाते नहीं हैं
- Valve ने बताया कि ऐसा पुराने गेम्स में होता है
- स्टोर डिस्प्ले में removal से जुड़ी जानकारी भी शामिल हो सकती है
Linux और Steam Deck यूजर्स पर असर
- Steam Deck और Desktop Linux यूजर्स अधिक आसानी से तय कर पाएंगे कि किन गेम्स से बचना है
- kernel-level anti-cheat वाले गेम्स में आमतौर पर डेवलपर Proton पर चलने से रोकते हैं
Steam से जुड़े हालिया बदलाव
- Valve ने हाल में Steam में कई बदलाव किए हैं
- publisher banner spam से निपटना
- Native Linux गेम्स में सुधार
- गेम खरीदते समय यह स्पष्ट दिखाना कि यह ownership नहीं, license है
- अलग-अलग arbitration की जरूरत हटाने को लागू करना
1 टिप्पणियां
Hacker News की राय
पिछले हफ्ते मैंने GTA V फिर से इंस्टॉल किया, और यह जानकर काफ़ी हैरानी हुई कि अब इसे चलाने के लिए rootkit इंस्टॉल करना पड़ता है
10 साल पहले खरीदे गए गेम में, वह भी सिर्फ़ single-player खेलने के लिए, अनिवार्य kernel extension जोड़ना बिल्कुल समझ से बाहर है
हमेशा की तरह, शायद pirated version बेहतर अनुभव देता
-nobattleyeडालें तो अतिरिक्त इंस्टॉलेशन के बिना single-player खेल सकते हैंRockstar को दूसरे games की तरह इसे अलग launch option के तौर पर रखना चाहिए था
GTA V मैंने PlayStation पर खरीदा, और वहाँ Rockstar account के बिना single-player खेलना संभव था। शायद Sony ने उन्हें ऐसा करने के लिए मजबूर किया होगा, मुझे नहीं लगता कि Rockstar ने यह सद्भावना में किया
हालांकि हर बार game चालू करने पर multiplayer की ओर धकेलने वाली screen आती थी, और एक बार मैंने multiplayer से जुड़ा option दबा दिया तो उसके बाद कई हफ्तों तक, game न चलाने पर भी, PlayStation system notifications के जरिए GTA Online events लगातार भेजे जाते रहे
इसलिए Rockstar को अलविदा। उनके games भी अब इतने बड़े हो चुके हैं कि लगता है वे खुद उन्हें संभाल नहीं पा रहे
“इन कंपनियों को ऐसे CEO चला रहे हैं जिन्होंने लगता है Darth Vader University से MBA किया है, जहां पहली class होती है: ‘मैंने सौदे की शर्तें बदल दी हैं। दुआ करो कि मैं उन्हें और न बदलूं’”
https://pluralistic.net/2023/12/08/playstationed
अफ़सोस की बात है, लेकिन piracy वाकई बेहतर अनुभव देती है; हालांकि मेरे हिसाब से यह आम तौर पर indie games पर लागू नहीं होता
कम-से-कम जब तक वे indie बने रहते हैं। कुछ समय पहले मैंने बहुत दिनों बाद Minecraft फिर से इंस्टॉल किया, तो पता चला कि Microsoft 10 साल से भी ज़्यादा पहले खरीदे गए game को खेलने के लिए phone number verification मांग रहा है
GTA V के rootkit की तरह, उन्हें परवाह नहीं कि आप सिर्फ़ single-player खेलना चाहते हैं या नहीं। launcher पर अटक गए तो बस खत्म, और मदद करने वाला कोई नहीं
computer vision और artificial intelligence लगातार आगे बढ़ रहे हैं, इसे देखते हुए लगता है कि जल्द ही ऐसे cheat peripherals आएंगे जो पूरी तरह external device की तरह काम करेंगे और detect करना मुश्किल होगा
वे screen output से सीधे video capture करेंगे और USB input device की नकल करके input भेजेंगे
game process से जुड़ने वाले cheats की तरह wallhack जैसी सारी सुविधाएं तो नहीं दे पाएंगे, लेकिन इस तरीके से superhuman aiming bot बनाया जा सकता है
पहले से ऐसे external “radar” cheats भी हैं जो game के stereo sound का इस्तेमाल करके footsteps जैसी खास आवाज़ किस दिशा से आई, यह बताते हैं
kmbox जैसे off-the-shelf products भी हैं और खुद भी बनाया जा सकता है
हालांकि अहम बात यह है कि game cheaters में hardware खरीदने जितने जुनूनी लोगों का अनुपात बेहद छोटा है। executable को double-click करके तुरंत संतुष्टि पाने की तुलना में यह कहीं महंगा और झंझट वाला है
इसलिए account ban से बचने के लिए उन्हें इतनी मेहनत करवाना ही व्यावहारिक तौर पर सफलता माना जाता है
ज़्यादातर खिलाड़ी ईमानदारी से मज़े के लिए खेलते हैं, इसलिए इस पर ज़्यादा ध्यान नहीं देते
गंभीरता से कहूं तो, मैंने सुना है कि ऐसे devices पहले से मौजूद हैं
पहले कदम के बाद, kernel-level anti-cheat वाले गेम्स पर प्रतिबंध लगना चाहिए
Linux पर यह स्वीकार्य नहीं है, और Apple भी आगे ऐसी चीज़ों को अब और अनुमति नहीं देगा। हालांकि Apple ने Mantle और M processors के बाद गेमिंग में अपना प्रभाव खो दिया, और दोनों ने compatibility समस्याएँ काफ़ी बढ़ा दीं
Microsoft भी इससे जुड़ी अपनी सभी choices पर पछता रहा है
https://www.theverge.com/2024/9/12/24242947/microsoft-window...
हमेशा की तरह, जब Microsoft खराब फैसला लेता है तो सबको भुगतना पड़ता है। Linux को भी। Closed-source kernel modules Linux को tainted state में mark करते हैं, इसकी वजह है, और वह system भरोसेमंद नहीं है
गेम को सुरक्षित बनाना game developer की जिम्मेदारी है, user के device से छेड़छाड़ करना नहीं। सिर्फ़ इसलिए कि वे सुरक्षित तरीके से अपना लक्ष्य हासिल नहीं कर पाते, बेवकूफी भरे और खतरनाक काम जबरन करवाने की कोई वजह नहीं है
शुरू से kernel components बना सकने वाले engineers को hire करने की लागत भी बड़ी होती है। यह narrow specialization है और सस्ते में नहीं मिलता
Game companies आलसी होने की वजह से kernel-level anti-cheat नहीं इस्तेमाल करतीं, बल्कि खासकर FPS जैसे games में, जहाँ केवल pure server-side तरीकों से पूरी तरह रोकना संभव नहीं, वे इसे absolute necessity की वजह से इस्तेमाल करती हैं
Machine learning भी आज़माई गई है, लेकिन false positives बहुत हैं, और यह player experience को नुकसान पहुँचाने वाले कई subtle cheats छोड़ देती है। पुराने anti-cheat सिर्फ़ user mode में थे, तो cheats kernel में चले गए, जिससे detection और blocking मुश्किल हो गई
प्रभाव बनाए रखने के लिए anti-cheat को भी पीछे-पीछे जाना ही पड़ा। विकल्प सिर्फ़ इतना था कि जगह cheaters को सौंप दी जाए, और भारी resources से develop और operate किया गया game cheat hell बन जाए जहाँ normal players छोड़कर चले जाते हैं
मैं मानता हूँ कि ऐसी चीज़ें न हों तो सभी के लिए बेहतर है, लेकिन यह entitlement कि private companies को व्यक्ति की इच्छा के अनुसार चलना चाहिए और developers का “फर्ज़” है कि वे केवल उसी तरीके से बनाएं जैसा आप चाहते हैं, हैरान करने वाला है
वजह यह है कि वे नहीं चाहतीं कि बड़ी संख्या में लोग judgment staff बनकर अस्थिर तरीके से तय करें कि “वह व्यक्ति cheat कर रहा है या नहीं”
Kernel-level anti-cheat मूल रूप से flawed है। नतीजतन DMA cheats और computer vision-based cheats और बढ़ रहे हैं, और cheaters को अब भी बड़ा तथा detect करना और कठिन advantage देते हैं
फिर भी यह blatant cheats और अधिकतर subtle cheats रोकने में effective है
Server के input receive करने के बाद cheat detect करना reliably करना बहुत मुश्किल है। Beginners धीमे और delayed inputs देते हैं, जबकि high-skill players की reactions कई गुना तेज़ होती हैं और muscle memory की वजह से वे अपेक्षा से भी तेज़ react कर सकते हैं
Undetectable cheat बनाने के लिए code में human-level reaction time limits डाल दें और सभी inputs को realistic दिखाएँ, बस
आखिर server के statistical methods से ऐसा cheat बनाया जा सकता है जो वास्तव में detect न हो, फिर भी बड़ा advantage दे
यहाँ AI इस्तेमाल करने का मन होगा, लेकिन निश्चित रूप से human supervision चाहिए, वरना false positives आएँगे
चरम स्थिति में, game को server-side rendering और server-side input processing के इर्द-गिर्द design कर दें ताकि player लगभग remote desktop connection से खेल रहा हो—latency issue को थोड़ी देर के लिए अनदेखा करें तो भी—head auto-snap, recoil compensation, auto-fire जैसे cheats game पर बड़ा असर डालते रहेंगे
यहाँ तक कि ऐसी sounds का इस्तेमाल करके primitive wallhack भी implement किया जा सकता है जो इंसान को enemy position समझने लायक accurate होनी चाहिए
FPS games की प्रकृति ही ऐसी है, इसलिए companies इन games में kernel-level anti-cheat डालती हैं। ऐसा FPS बनाना जिसमें cheating असंभव हो, इसके लिए practically कोई अलग game बनाना होगा जहाँ format के कारण cheating कठिन या असंभव हो
अगर cheater-free FPS चाहिए, तो direct matchmaking, direct server hosting और direct moderation को फिर से बढ़ावा देना होगा। लेकिन फिर “scalability नहीं है” वाली समस्या आती है। Human review भी scalable नहीं है, server-side rendering भी नहीं
Game companies kernel-level anti-cheat का इस्तेमाल इसलिए करती हैं क्योंकि players ऐसे games के लिए पैसे देते हैं जिनमें यह होता है, लेकिन जिनमें नहीं होता उनके लिए नहीं देते
मुझे लगता है Microsoft सबसे खराब companies में से एक है, लेकिन इस मामले में Microsoft या kernel-level anti-cheat developers को दोष देना कठिन है। Developers वही कर रहे हैं जो players ने चाहा, और Microsoft बस वही अनुमति देता है जिसे end users allow करना चाहते हैं
अगर Microsoft kernel-level anti-cheat हटा दे, तो वह intrusive anti-cheat की अवधारणा को खत्म करने के बजाय शायद इसे hardware attestation support वाले user-space code से replace करेगा। Microsoft सिर्फ़ अपनी liability से बचने के लिए tools को फिर से design कर रहा है
मूल रूप से kernel-level anti-cheat ने cheating को DMA और computer vision के क्षेत्र में धकेल दिया है। इसलिए kernel-level anti-cheat से भी detect न होने वाले अधिक blatant और परेशान करने वाले cheats जल्द ही ज़्यादा आम हो सकते हैं
अगला विकल्प शायद केवल certified hardware और hardware attestation वाले console-only games ही हों। उनमें भी flaws होंगे
आखिरकार public servers पर बिना cheating के game खेलना शायद असंभव हो जाए। यह लोगों को इस तरह के games से दूर करेगा या private lobbies की ओर धकेलेगा, पता नहीं
यह सोचने वाला शायद मैं अकेला नहीं हूँ
गेम द्वारा बिना अनुमति ले लिए जाने वाले इस स्तर के kernel access देने का मुझे बिल्कुल शौक नहीं है
लेकिन ऑनलाइन अच्छा gaming experience बनाए रखने के लिए cheating एक वास्तविक अस्तित्वगत खतरा है, और मुझे कोई बेहतर समाधान नहीं पता
कई वर्षों से खास तौर पर परेशान करने वाली बात यह रही है कि कुछ game developers की बुरी आदत के कारण, जहाँ game न खेलने पर भी anti-cheat चलता रहता है या idle state में पड़ा रहता है, मेरे खेले जा रहे game से बिल्कुल असंबंधित दूसरे games में समस्याएँ आती थीं
competitive games ज़्यादा खेलने वाले के रूप में मैंने compromise के तौर पर अलग gaming-only laptop रखा है, और उस पर email account में भी login नहीं करता। उसमें बस Steam, games और ज़रूरी video software रखता हूँ
यह बहुत अच्छा नहीं है, लेकिन कम-से-कम disclosure तो होना ही चाहिए। यह अजीब है कि यह पहले से standard नहीं था। हालांकि बहुत ज़्यादा disclosure करने पर cheaters उसका दुरुपयोग कर सकते हैं, इसलिए मामला कठिन है
Anti-cheat बस arms race है, और दूसरे तरीके भी हैं। जैसे ranked mode के लिए phone number माँगना, यानी weak KYC जैसा तरीका
Deadlock invite-only early access system के साथ कुछ दिलचस्प करता दिख रहा है। असल में वह players का social graph बना रहा है, और इसका इस्तेमाल “cheating organizations” या hijacked accounts की पहचान करने, या community के भीतर social reputation system बनाने में किया जा सकता है
जैसा मैंने दूसरे thread में भी कहा था, शायद अब मेरी उम्र हो गई है, लेकिन मुझे कभी परवाह नहीं रही कि कोई दूसरा player cheat कर रहा है या नहीं
पहले aim bot या wallhack जैसे cheats इस्तेमाल करने वालों से मिलना काफी आम था
अगर सच में मज़ा खराब होता था, तो server बदल लेते थे या किसी दूसरी lobby में चले जाते थे
सिर्फ kernel-level anti-cheat काफी नहीं है
Client input पर भरोसा करना पड़ता है, लेकिन provenance proof नहीं होता, और kernel input नहीं देख सकता
अभी मैं 100-player matchmaking game launch कर रहा हूँ। Clients 360Hz पर tick करते हैं, server 120Hz पर। 60 ping तक fair है और पूरा continent cover करता है
Server virtual machine नहीं, physical server है; EPYC 4244P पर 2Gbps egress, 15-minute game के लिए 1 server। सभी clients और servers पर
mitigations=off,nosmtइस्तेमाल करता हूँमुझे Steam पसंद है, लेकिन यह game वहाँ release नहीं करूँगा
खेलने के लिए reboot करना होगा। यह modified Arch Linux ISO है जो USB drive से सीधे game में boot होता है
सिर्फ kernel ही नहीं, बल्कि operating system और चल रहे सभी programs को control करता हूँ। न Cortana, न Discord, न Spotify—सिर्फ game। खेलते समय PC arcade machine बन जाता है
फिर भी यह काफी नहीं है
Ranked खेलने के लिए बाएँ कंधे के ऊपर handcam लगाना होगा। सिर की दिशा, दोनों हाथ, पूरा mousepad और screen दिखनी चाहिए। fixed mouse speed, mousepad size और monitor size भी इस्तेमाल करना होगा
सभी लोग समान settings और configuration के साथ खेलेंगे, इसलिए किसी भी player का input review करने पर परिचित लगेगा
Kernel anti-cheat काफी नहीं; executable और network connection सहित reproducible full operating system environment चाहिए
वह भी काफी नहीं। user input के provenance proof को सीधे game replay system से जोड़ना होगा, ताकि मैं या कोई भी सभी पक्षों के perspective से engagement review कर सके
जाहिर है, यह सब optional होना चाहिए। हर कोई ranked नहीं खेलना चाहता, और full OS anti-cheat भी input provenance proof के बिना कुछ हद तक मदद करेगा
क्या आपको कभी यह जानने की उत्सुकता हुई है कि आपको cheater ने मारा या किसी god ने? क्या आप फिर कभी ऐसा सवाल नहीं रखना चाहते? मैं तो चाहता हूँ, और जल्द ही ऐसा होगा
लेकिन सच कहूँ तो cheaters को रोकना नामुमकिन है। तरीका बस दोस्तों के साथ खेलना है, या game के rewards बदलना ताकि cheat करना कम आकर्षक लगे
उदाहरण के लिए Counter-Strike में skins कमाकर बेच सकते हैं, इसलिए cheaters बहुत होंगे ही। game इतना popular है कि cheats खरीदने वाले players भी बहुत हैं
Game design और engine design भी cheat prevention में मदद कर सकते हैं
Corruption को solve नहीं किया जा सकता; game या players को बदलना होगा
Counter-Strike community काफी toxic है, लेकिन Valve के लिए बहुत profitable है, इसलिए मुझे लगता है कि players बुरा व्यवहार करें तो भी Valve को फर्क नहीं पड़ता
CS अच्छा game है, लेकिन human nature ऐसी ही है। CS खेलने वालों में recommend करने लायक लोग ढूँढना मुश्किल है, और ज्यादातर gamers के लिए उस community से interact करना इतना भयानक है कि वे कुछ और खेलते हैं
game try करना चाहूँगा, लेकिन मेरी समस्या वे लोग हैं जो मेरे computer पर कब्ज़ा करना चाहते हैं। आपको मेरे computer पर कब्ज़ा करने देकर मैं वह समस्या solve नहीं करूँगा
system requirements की बात करें तो, क्या यह किसी पुराने, कबाड़ laptop पर चल पाएगा?
theoretically वहाँ भी cheaters होंगे, लेकिन मेरे PS5 games में इतने नहीं कि user experience पर असर पड़े
पागलपन भरा game plan अपने-आप में कमाल है। बस Twitch streamers से marketing करवाना मुश्किल होगा
सिर्फ Steam games के लिए अलग Arch Linux machine बनाई है
उस machine पर email, banking वगैरह sensitive accounts में कभी login नहीं करूँगा
Framework laptop है, इसलिए camera और mic को physically disconnect रख सकता हूँ। असल में इसे public terminal जैसा treat करता हूँ
अगर ऐसा है, तो PC पर install की जाने वाली हर चीज़ suspect हो जाती है। random Steam game की तुलना में
sshinstall करना कहीं ज़्यादा डरावना लगता हैअगर online multiplayer games बिल्कुल नहीं खेलते, तो शायद ठीक बैठे
क्या उसमें dedicated GPU लगाया जा सकता है?
अच्छा हो अगर कोई टैग आ जाए। “थर्ड-पार्टी अकाउंट आवश्यक” वाला टैग भी हो, ताकि ऐसे गेम्स को फ़िल्टर करके बिल्कुल न दिखाया जा सके
इसके अलावा भी इसमें कई उपयोगी फीचर हैं
[0]: https://github.com/IsThereAnyDeal/AugmentedSteam
मैंने कभी किसी गेम को root permission मांगते नहीं देखा, और मुझे लगता है कि kernel-level कुछ इंस्टॉल करने के लिए ऐसी permission चाहिए होगी
Steam binaries में भी
setuidया capabilities सेट नहीं हैंजानना चाहता हूं कि क्या किसी ने ऐसा गेम देखा है जो root permission मांगता हो
इस पोस्ट[1] और यह तथ्य कि Wine से जुड़े पैकेजों में kernel module नहीं है और उन पैकेजों के executables में भी
setuidया capabilities नहीं हैं, देखकर यह Linux की समस्या नहीं बल्कि Windows की समस्या लगती है[1] https://www.reddit.com/r/linux_gaming/comments/gjzkzk/will_w...
Linux gaming से इसका संबंध इसलिए है कि Wine/Proton user-space वाले हिस्से को अच्छे से चला भी दें, फिर भी ऐसे गेम Linux पर काम नहीं करते
यह सामान्य user permissions के साथ चलने वाला lightweight version चलाता है, और गेम फ़ाइल verification या साफ़ तौर पर अजीब चीज़ों की detection जैसी न्यूनतम सुरक्षा देने की कोशिश करता है
ज़ाहिर है, इसके पास सिस्टम में चल रही हर चीज़ देखने या kernel module install करने की permission नहीं होती
इसलिए cheaters शायद Linux पर इसे आसानी से bypass कर सकते हैं, इसलिए EAC जैसे anti-cheat Linux support को optional toggle रखते हैं और कुछ developers इसे enable नहीं करते
यह समझ में आता है, क्योंकि Valve लगातार कहता आया है कि kernel-level anti-cheat की ज़रूरत नहीं है और उसने अपने games में भी इसे नहीं डाला
लेकिन सच कहूं तो CS में अक्सर शक होता है कि सामने वाला आज बस बहुत अच्छा खेल रहा है या hack कर रहा है, जबकि Valorant में ऐसा नहीं लगता—इसकी कोई वजह है
developers जितनी जल्दी समझें कि server-side ठीक से करना चाहिए, उतना बेहतर
macros, aim bots, cooldown tracking, auto hex जैसी चीज़ें
हर चीज़ server-side से नहीं रोकी जा सकती