10 साल पुराना Steam बग
(blog.freudenjmp.com)Valve की 10 साल पुरानी Steam समस्या, क्या सभी लोग Valve से ज़्यादा तेज़ हैं?
- Valve कभी-कभी कम्युनिटी फीडबैक और bug reports पर प्रतिक्रिया नहीं देता हुआ दिखता है.
- 10 साल पुराने bug की कहानी.
tl;dr
- 10 साल से अधिक समय से जारी Counter-Strike के
No user logonमुद्दे को ठीक करने के लिए कुछ लोकप्रिय समाधान वास्तव में मूल कारण को हल नहीं करते. - अगर आपको यह लेख Google के ज़रिए मिला है, तो निम्नलिखित समाधान न आज़माएँ:
- गेम दोबारा इंस्टॉल करना
- गेम फ़ाइलों का verification
- Steam रीस्टार्ट करना
- कंप्यूटर रीस्टार्ट करना
- WiFi बंद करना
Introduction
- Counter-Strike, Valve द्वारा विकसित एक प्रसिद्ध गेम है.
- हाल ही में Counter-Strike 2 (CS2) रिलीज़ हुआ, जिसने Counter-Strike: Global Offensive (CS:GO) की जगह ली.
- CS2 में कई bugs हैं, जिनकी वजह से गेम का अनुभव अच्छा नहीं रहता.
- Valve ने CS2 को HackerOne bug bounty program में शामिल नहीं किया है, इसलिए CS2 से जुड़े bug reports पर इनाम नहीं दिया जाता.
No user logon
- कम्युनिटी ने जिन bugs की वर्षों से रिपोर्ट की है, वे अब भी ठीक नहीं हुए हैं और CS2 में भी मौजूद हैं.
No user logonerror गेम के दौरान रैंडम तरीके से होता है.- इस समस्या की कई बार कई forums और Valve के official support forum में रिपोर्ट की गई है.
- सुझाए गए समाधान वास्तव में समस्या को हल नहीं करते.
Esportal specific
- Esportal में भी यह समस्या कई सालों से रही है, और वास्तव में इसे ठीक नहीं किया जा सका, केवल इसकी आवृत्ति कम की जा सकी.
- CS2 में शुरुआत में लगा कि समस्या ठीक हो गई है, लेकिन जनवरी 2024 के पहले हफ्ते में इस समस्या की रिपोर्ट फिर बढ़ गई.
The symptoms
No user logonerror खिलाड़ी के गेम से जुड़ने के 2-3 मिनट बाद होता है.- यह उस स्थिति से जुड़ा हो सकता है जिसमें skins गेम शुरू होने के कुछ मिनट बाद ही दिखाई देते हैं.
Validation of the hypothesis
- यह Steam authentication से जुड़ी समस्या होने की संभावना अधिक है.
STEAM USERID validatedके सफलतापूर्वक पूरा होने में लगने वाला समय 3 जनवरी से पहले 2-3 सेकंड था, लेकिन उसके बाद यह बढ़कर लगभग 1 मिनट 20 सेकंड हो गया.
NETWORK_DISCONNECT_STEAM_LOGON
- यह Steam authentication से जुड़ा bug लगता है.
STEAMAUTH: Client Bob received failure code 8नाम का log मिला.
Steam3 validation
- Steam3 server उपयोगकर्ता authentication के लिए ज़िम्मेदार है.
- गेम server, Steam3 server से Steam ID की वैधता जाँचने का अनुरोध करता है.
- Steam3 server जब तक वैधता जाँचता रहता है, खिलाड़ी गेम जारी रख सकता है, लेकिन skins assign नहीं होते.
Making it trustable
CS2.exeके trusted होने की पुष्टि करने की प्रक्रिया आवश्यक है.Steam.exeको वर्तमान में लॉग-इन account की जानकारी होती है, और वह जाँचता है कि क्या यहCS2.exeसे भेजी गई Steam ID से मेल खाता है.
NETWORK_DISCONNECT_LOOPSHUTDOWN
NETWORK_DISCONNECT_LOOPSHUTDOWNनाम का एक और disconnect reason है.- इसका मतलब है कि गेम खुद ही अपने द्वारा automatic reconnect attempt कर रहा है.
Loops in the Source engine
- Source engine में ऐसे loops होते हैं जो किसी विशेष लक्ष्य के पूरा होने तक चलते हैं.
CS2.exeकई loops चलाता है, और अंत मेंgameloop चलता है.
The disconnection
- जब loop बंद हो जाता है, तो
NETWORK_DISCONNECT_LOOPSHUTDOWNकी वजह से disconnect हो सकता है.
CS2 startup procedure
CS2.exeशुरू होते समय कई loops चलाता है, औरlevelloadloop,gameloop में बदलने से पहले Steam ID validation शुरू करता है.
GN⁺ की राय:
- यह लेख Valve के गेम Counter-Strike series में लंबे समय से अनसुलझे
No user logonbug का गहन विश्लेषण देता है. इससे गेम development और maintenance की कठिनाइयों को समझने में मदद मिलती है. - Valve का कम्युनिटी फीडबैक और bug reports पर उचित प्रतिक्रिया न देना, गेम developers और users के बीच संचार के महत्व को रेखांकित करता है.
- यह लेख software engineering की जटिलता और bug tracking व resolution process की चुनौतियों को अच्छी तरह दिखाता है. यह bugs को हल करने के लिए व्यवस्थित approach की आवश्यकता पर ज़ोर देता है.
1 टिप्पणियां
Hacker News टिप्पणियाँ
पहली टिप्पणी Steam के session ticket system की व्याख्या करती है, जिसमें कहा गया है कि game client Steam server से session ticket का अनुरोध करता है और उसे game server को देकर Steam ID साबित करता है। game server को इस ticket को Steam के web API के ज़रिए verify करना चाहिए, और यह बताया गया है कि CS2 client session ticket पाने में delay होने पर उसे सही तरह handle नहीं कर पाता।
दूसरी टिप्पणी कहती है कि लेख का निष्कर्ष स्पष्ट नहीं है, और Counter-Strike के startup तरीके की समस्या तथा Washington में maintenance work के कारण दुनिया भर के players के लिए समस्या पैदा होने की संभावना का ज़िक्र करती है। साथ ही, यह समझाती है कि Steam ID verification game loop शुरू होने से पहले आख़िरी चरण में होता है, इसलिए maintenance के दौरान server धीमा होने पर game start रुक सकता है।
तीसरी टिप्पणी इस bug की ओर इशारा करती है कि multiplayer game शुरू करने से पहले authentication पूरा होना अनिवार्य नहीं है।
चौथी टिप्पणी पूछती है कि क्या game client के अप्रत्याशित crash होने के कारण की भी इसी तरह जाँच की जा सकती है, और GTA V के loading time कम करने पर किए गए research का ज़िक्र करती है।
पाँचवीं टिप्पणी कहती है कि लेखन शैली बहुत बढ़ा-चढ़ाकर लिखी गई है और सुझाव देती है कि मुख्य बिंदु पर जल्दी पहुँचना चाहिए।
छठी टिप्पणी सुझाव देती है कि लेख की शुरुआत में problem solving के लिए एक छोटा summary जोड़ा जाए।
सातवीं टिप्पणी पूछती है कि क्या
levelloadloopसिर्फ़ game start होने पर चलता है, या server से connect करते समय और map load करते समय भी चलता है।आठवीं टिप्पणी macOS पर Steam app की performance बेहतर होने की उम्मीद जताती है।
नौवीं टिप्पणी Valve की security problems की ओर इशारा करती है और यह बताती है कि CS:GO को नई report के लिए scope से बाहर रखा गया था।
आख़िरी टिप्पणी अतीत में server list और active players के scores दिखाने वाला tool बनाने का अनुभव साझा करती है, और यह संभावना उठाती है कि पुराने bug अब भी मौजूद हो सकते हैं।