Bean Network Tester

จำลองเกมแล็กและแพ็กเก็ตสูญหาย

เน็ตโค้ดถูกเขียนบนการเชื่อมต่อในเครื่องที่มี ping 1 ms และถูกทดสอบโดยผู้เล่นบน Wi-Fi โรงแรม เครื่องมือนี้ปิดช่องว่างนั้นบนเครื่องของคุณเอง เฉพาะกับโปรเซสของเกม ขณะที่ส่วนที่เหลือของคอมพิวเตอร์ยังใช้งานได้

เริ่มที่นี่

เจาะจงไคลเอนต์เกม ให้มันมีการเชื่อมต่อแย่แบบสมจริง และปล่อยให้มันหยุดเองหลังห้านาที:

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

มีไทม์ไลน์สำเร็จรูปสำหรับเรื่องนี้ด้วย overloaded-game-server.json ในโฟลเดอร์ scenarios พาการเชื่อมต่อเข้าสู่ความคับคั่งแล้วพากลับออกมา คุณจึงเห็นว่าไคลเอนต์รับมือการเปลี่ยนทั้งสองทิศทางอย่างไร ดู สถานการณ์ตามเวลา

ทำไมเกมจึงแสดงการสูญหายในขณะที่เบราว์เซอร์ไม่แสดง

ทราฟฟิกของเกมส่วนใหญ่เป็น UDP และ UDP ไม่มีอะไรให้ซ่อนการสูญหาย หน้าเว็บบน TCP ส่งซ้ำอย่างเงียบ ๆ และใช้เวลานานขึ้นเท่านั้น เบราว์เซอร์จึงรู้สึกปกติได้ที่การสูญหาย 5% ขณะที่แมตช์ที่ 5% เท่ากันกระตุก ดึงตัวละครกลับ และเสียการซิงก์

นั่นทำให้เกมเป็นที่ทดสอบการสูญหายที่ตรงไปตรงมา สิ่งที่คุณตั้งคือสิ่งที่ไคลเอนต์ประสบจริง

ตั้งอะไร และมันเผยอะไร

การตั้งค่าลองเผยอะไร
ความหน่วง80 ถึง 250 msการคาดการณ์และการแทรกค่า ตัวละครของคุณลื่นถอยหลังหลังยิงหรือไม่
จิตเตอร์40 ถึง 100 msการบัฟเฟอร์ 200 ms ที่นิ่งซ่อนง่ายกว่า ping ที่ขยับตลอด
การสูญหาย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