Bean Network Tester

गेम लैग और पैकेट लॉस का सिमुलेशन

नेटकोड 1 ms पिंग वाले लोकल कनेक्शन पर लिखा जाता है और होटल के वाई-फ़ाई पर खिलाड़ी उसे परखते हैं। यह टूल उस फ़ासले को आपकी अपनी मशीन पर पाटता है, सिर्फ़ गेम प्रोसेस पर, जबकि बाकी कंप्यूटर इस्तेमाल लायक रहता है।

यहाँ से शुरू करें

गेम क्लाइंट को निशाना बनाएँ, उसे एक यथार्थवादी खराब कनेक्शन दें, और पाँच मिनट बाद उसे खुद रुकने दें:

BeanNetworkTester.exe --latency 120 --jitter 60 --loss 3 --target mygame.exe --duration 300

इसके लिए एक तैयार टाइमलाइन भी है: scenarios फ़ोल्डर में overloaded-game-server.json कनेक्शन को भीड़ में ले जाती है और वापस निकालती है, ताकि आप देख सकें कि क्लाइंट बदलाव की दोनों दिशाओं को कैसे सँभालता है। समय आधारित सिनेरियो देखें।

गेम में पैकेट लॉस क्यों दिखता है जबकि ब्राउज़र में नहीं

ज़्यादातर गेम ट्रैफ़िक UDP है, और UDP के पास पैकेट लॉस छिपाने की कोई जगह नहीं। TCP पर वेब पेज चुपचाप दोबारा भेजता है और बस ज़्यादा समय लेता है, इसीलिए 5% पैकेट लॉस पर ब्राउज़र ठीक लग सकता है जबकि उसी 5% पर मैच अटकता है, किरदार को पीछे खींचता है और सिंक से बाहर हो जाता है।

इसी से गेम पैकेट लॉस परखने की ईमानदार जगह बन जाता है: जो आप तय करते हैं, क्लाइंट असल में वही झेलता है।

क्या तय करें, और वह क्या उजागर करता है

सेटिंगआज़माएँयह क्या उजागर करता है
लेटेंसी80 से 250 msप्रेडिक्शन और इंटरपोलेशन। क्या गोली चलने के बाद आपका किरदार पीछे खिसक जाता है?
जिटर40 से 100 msबफ़रिंग। लगातार 200 ms को छिपाना उस पिंग से आसान है जो बदलती रहती है।
पैकेट लॉस2 से 10%गायब स्टेट अपडेट, और यह कि क्लाइंट सँभलता है या भटक जाता है।
झटके1 सेकंड, कभी-कभारवह ठहराव जो टावर बदलने से होता है। आम तौर पर सबसे बदसूरत।
लिंक चालू और बंद10 s चक्र, 30% बंददोबारा जुड़ना और फिर से शामिल होना।

जिटर को औसत के बजाय 95वें पर्सेंटाइल और मीडियन के बीच के फ़ासले से मापें: जिटर औसत को मुश्किल से हिलाता है, इसीलिए कोई रन कागज़ पर एक जैसा दिख सकता है और खेलने में अलग लगता है।

दो बिल्ड की तुलना के लिए seed चाहिए

यादृच्छिक पैकेट लॉस दो रन को अलग बना देता है, इसलिए “नया बिल्ड बदतर लग रहा है” कोई सबूत नहीं। वही seed वही पैकेट लॉस और वही जिटर दोहराता है, जो एहसास को तुलना में बदल देता है:

BeanNetworkTester.exe --latency 120 --jitter 60 --loss 5 --seed 42 --target mygame.exe --duration 180

यह क्या नहीं कर सकता

यह आपकी मशीन के ट्रैफ़िक को आकार देता है। यह सर्वर को धीमा नहीं करता, उसकी टिक रेट नहीं बदलता और दूसरे खिलाड़ियों को खराब कनेक्शन पर नहीं डालता, इसलिए यह आपके क्लाइंट को खराब लिंक के सामने परखता है, लोड में आपके सर्वर को नहीं। सर्वर की ओर के लिए आपको लोड टेस्टिंग चाहिए, और खराब कनेक्शनों से भरे लॉबी के लिए एक से ज़्यादा मशीन।

आगे

क्या आप अपने ही नेटवर्क को जानबूझकर बिगाड़ने के लिए तैयार हैं?

Windows के लिए डाउनलोड करें