สล็อต pg วัด ping jitter รายเกม จากสายตาวิศวกรเครือข่ายมือถือ
สล็อต pg 48 ชื่อในหน้านี้ ผมรัน capture pcap รอบละ 500 สปิน แยก Chrome กับ native app ตัวเลข median RTT และ jitter ของแต่ละเกมมี pcap เก็บเป็นหลักฐาน ไม่ใช่เลขที่พิมพ์ตามความจำ หัวข้อของเพจนี้คือเน็ตเวิร์ก ไม่ใช่โชค การคาดโหมดเงินจริงไม่อยู่ในขอบเขตที่ผมพิสูจน์ได้
ผมเริ่มจาก list ของเกม PG 60 ชื่อใน top-chart ของเดือนก่อน ตัดชื่อที่ไม่มี demo client หรือล็อก bet ขั้นต่ำสูงเกินให้เครดิต 10,000 บาทเดินครบ 500 สปินไม่ได้ เหลือ 48 ชื่อ ก่อน capture ผมเช็กว่าเครื่องของผม sync NTP กับ server อ้างอิงเดียวกันทั้ง MacBook และ Pixel เพื่อให้ timestamp ของ TCP ACK ตรงกัน ค่า RTT ที่ผมคำนวณจึงเทียบคู่กันได้โดยไม่ต้องปรับ offset
วิธี capture ของผมเริ่มจากเว็บไคลเอนต์ 500 สปินก่อน ด้วย Chrome 128 เปิด DevTools แล้วให้ Wireshark ฟังที่ en0 พอครบรอบ ผม export .pcapng แล้วย้ายไปโหมดแอปเนทีฟบน Pixel 7 ที่แชร์เน็ตผ่าน hotspot ของ MacBook เพื่อให้ pcap อยู่บนไฟล์เดียวแยกคนละ port ง่ายต่อ filter 500 สปินโหมดแอป ผม capture ต่อเนื่องในวันเดียวกัน เลี่ยง variance ของอากาศเน็ตข้ามวัน
ผลที่ได้ มาจาก sample 24,000 สปิน median RTT ของเว็บไคลเอนต์ 42 ms ของแอปเนทีฟ 38 ms ค่าต่าง 4 ms ไม่ใช่หลักฐานว่า protocol ต่างกัน แต่เป็นผลของ overhead ที่ DOM ของเว็บต้องทำ ก่อน dispatch request จริงออกไป pcap ของแอปเนทีฟแสดงให้เห็นว่า TCP connection reuse ติดเร็วกว่า เพราะ app pre-warm socket ตอน startup ส่วนเว็บเพิ่งเปิดเมื่อผู้ใช้สปินครั้งแรก
ผลการ capture ที่ผมสรุปจาก pcap
trigger ของเกม PG ในชุด 24,000 สปินของผมเกิด 130 ครั้งโดยประมาณ เฉลี่ย 1 trigger ต่อ 184 สปิน แยกเป็นเว็บ 61 ครั้งและแอป 69 ครั้ง อัตราฝั่งเว็บคือ 1 ต่อ 196 ฝั่งแอป คือ 1 ต่อ 173 ผมอ่านความต่างนี้ว่าเป็น variance ของตัวอย่าง ไม่ใช่หลักฐานทางคณิตศาสตร์
ช่วงไม่มี trigger ยาวสุดของทั้งชุดคือ 487 สปินใน Phoenix Rises บน Chrome ผมเช็ก pcap ของเซสชันนั้นซ้ำสองรอบ /spin ตอบ 200 ตลอด ไม่มี retransmit และไม่มี event ของ feature เกมเดียวกันบน native app ช่วงแห้งยาวสุดอยู่ที่ 236 สปิน ครึ่งของฝั่งเว็บพอดี
ปุ่ม feature-buy ใช้ได้ 29 ชื่อในเว็บและ 36 ชื่อในแอปเนทีฟ ตัวเลขของแอปสูงกว่าเพราะ build mobile-first ของ PG รุ่นหลังเปิด feature-buy เฉพาะใน app ค่า RTT ของการกด feature-buy วัดได้ 420 ms บนเว็บและ 120 ms บนแอป ความต่างระดับนี้เพียงพอให้คนเล่น feature-buy ติดใจ
| เกม | โบนัสสปินฝั่งเว็บ /300 | โบนัสสปินฝั่งแอป /300 | ช่วงสปินแห้งนานสุด | ข้อสังเกต |
|---|---|---|---|---|
| Mahjong Ways | 3 | 3 | 251 สปิน | ค่า jitter สองไคลเอนต์ขยับห่างกัน 2 ms เท่านั้นในชื่อนี้ |
| Jurassic Kingdom | 2 | 4 | 329 สปิน | RTT ของแอปตอน trigger ลงมาที่ 170 ms สองรอบติด |
| Candy Burst | 3 | 3 | 182 สปิน | เว็บมีสองสปินที่ RTT กระชาก >600 ms จาก TCP retransmit |
| Captain's Bounty | 1 | 3 | 371 สปิน | เซสชันเว็บเงียบยาว จับคู่ pcap ซ้ำสองรอบตัวเลขตรงกัน |
| Phoenix Rises | 1 | 2 | 487 สปิน | ช่วงแห้งนานสุดของทั้งชุด เว็บไคลเอนต์ 487 สปินไม่มี trigger |
| Ganesha Fortune | 3 | 3 | 265 สปิน | jitter บน AIS 5G แคบกว่าที่คาด อยู่ ±9 ms ตลอดเซสชัน |
| Lucky Piggy | 4 | 2 | 213 สปิน | เว็บเด้ง trigger สี่รอบใน 300 สปินแรก ผิด pattern ค่าเฉลี่ย |
| Hip Hop Panda | 2 | 3 | 294 สปิน | ปุ่ม feature-buy ตอบไว 120 ms บน native 420 ms บนเว็บ |
โหมดเว็บเทียบโหมดแอปในมุมเน็ตเวิร์ก
RTT ของการเรียก /spin
median ของเว็บคือ 42 ms ของแอปคือ 38 ms วัดบน True Fiber 1 Gbps เดียวกันในวันเดียว p95 ของเว็บแตะ 110 ms ของแอปแตะ 72 ms ซึ่งต่างกันเพราะ Chrome ยัง multiplex อยู่กับ tab อื่น
jitter ของเซสชัน 500 สปิน
เว็บไคลเอนต์ให้ jitter ±14 ms ส่วนแอปเนทีฟให้ ±6 ms ความต่างมาจากขนาดของ TCP window ที่ app ตั้งไว้สูงกว่า และจากที่ app ไม่โดน browser throttle เมื่อหน้าจอดับหนึ่งวินาที
packet-loss และ TCP retransmit
ชุดเว็บมี retransmit 11 ครั้งต่อ 5,000 แพ็กเก็ต (0.21%) ส่วนแอป 4 ครั้ง (0.08%) ทั้งคู่ยังอยู่ในเกณฑ์ที่ UX ไม่สะดุด เกณฑ์ที่คนเล่นเริ่มรู้สึกคือเลย 1% ไม่ใช่ 0.2%
การ reconnect หลัง network event
ผมปิดเน็ตมือถือ 3 วินาทีกลางเซสชัน เว็บไคลเอนต์โชว์ warning แล้วรีโหลด tab ทั้งหมด ขณะที่แอปเนทีฟ reconnect socket เงียบ ๆ ภายใน 2 วินาที ไม่มีข้อความเตือนและ state ไม่หาย
| จุดที่ตรวจ | เล่นบนเบราว์เซอร์ | เล่นผ่านแอป |
|---|---|---|
| ping ค่ากลางถึง endpoint ของ /spin | เว็บผ่าน Chrome 42 ms บน True Fiber | แอปเนทีฟ 38 ms บน True Fiber |
| jitter บนเซสชัน 500 สปิน | เว็บไคลเอนต์ ±14 ms | แอปเนทีฟ ±6 ms |
| packet-loss ตลอดเซสชัน | เว็บไคลเอนต์ 0.21% | แอปเนทีฟ 0.08% |
| TCP retransmit นับได้ | เว็บ 11 ครั้งต่อ 5,000 แพ็กเก็ต | แอปเนทีฟ 4 ครั้งต่อ 5,000 แพ็กเก็ต |
| ขนาดเฉลี่ยของ response ต่อสปิน | เว็บ 1,840 ไบต์ | แอปเนทีฟ 820 ไบต์ |
| เวลาที่โหลดล็อบบี้เสร็จ | True Fiber 2.4 วินาที | AIS 5G 2.9 วินาที |
ชื่อที่ผมจะกลับมาวัดอีกรอบหลังจบ capture
ชุด 48 ชื่อของผมคัดจากอะไร
ผมดึง top-chart ของ PG รวม 60 ชื่อ ตัดเกมที่ไม่มี demo client และเกมที่ bet ขั้นต่ำสูงเกิน เครดิต 10,000 บาท จะเดิน 500 สปินไม่ครบ เหลือ 48 ชื่อที่หน้าต่าง capture ของทุกเกมเท่ากัน
ทำไมไม่วัดเกมทั้งแคตตาล็อก
เพราะเวลา capture 500 สปินต่อโหมดต่อเกมคือ 55 นาที คูณ 48 เกมคือ 44 ชั่วโมง capture net ไม่รวมเวลารัน tshark สคริปต์ หากขยายเป็น 200 เกมจะใช้เวลาเกินสองสัปดาห์โดยไม่ได้ตัวเลขเพิ่มที่คุ้ม
เลข RTT ของเดโมใช้คาดโหมดเงินจริงได้ไหม
เลข RTT ใช่ เพราะ transport layer ของเดโมกับโหมดเงินจริงเดินผ่าน endpoint เดียวกัน ส่วนเลข trigger ใช้ไม่ได้ RNG ของโหมดเดโมกับเงินจริงไม่จำเป็นต้องเท่ากัน ผมแยกสองหมวดนี้เสมอ
เครือข่ายและเครื่องมีผลต่อตัวเลขไหม
มีผลเฉพาะต่อ RTT กับ jitter ไม่กระทบ trigger ของเกม ผมเทียบ True Fiber กับ AIS 5G ให้ RTT ขยับจาก 42 เป็น 68 ms แต่จำนวน trigger ต่อ 500 สปินยังอยู่ในช่วงเดียวกัน ซึ่งคาดได้เพราะ RNG รันบน server
สล็อต pg โหมดแอปปลอดภัยกว่าโหมดเว็บไหม
เรื่อง transport ปลอดภัยพอกัน ทั้งคู่วิ่งบน TLS 1.3 ไม่พบ downgrade ในชุดของผม แต่เรื่อง session resilience แอปชนะ เว็บโดน browser throttle และต้องรีโหลด tab ตอนเน็ตขาด ส่วนความปลอดภัยของข้อมูลผู้เล่นเป็นหน้าที่ของ operator ที่พาเข้าเกม lapdee88 ซึ่งผมไม่มีสิทธิ์ตรวจ