By Arnon Puitrakul - 23 มกราคม 2023
เมื่อเราเล่นเกมไป และทำตัวเ_ย ไม่ว่าจะด้วยอะไรก็ตาม ตัวเกม มันก็ออกแบบมาให้มีการลงโทษ เพื่อป้องกันคนเ_ย อยู่ในเกม แล้วทำให้สังคมในเกมมันไม่ดี แน่นอนว่า มันก็จะมีวิธีการแบน หรือ การทำอะไรบางอย่าง เพื่อไม่ให้เราเข้าเล่นเกมได้ หนึ่งในวิธีที่หลาย ๆ คนคิดถึงคือ การ Ban ด้วย IP Address วันนี้เราจะมาคุยกันว่า ทำไมมันเป็นวิธีที่ ไม่ฉลาดเลย และ ทุกวันนี้เขาทำยังไงกันถึง Ban ได้อย่างมีประสิทธิภาพกว่าเดิมมาก ๆ
สำหรับคนที่ยังไม่รู้จัก IP Address เราเคยเขียนไว้แล้ว อ่านที่ลิงค์ด้านบนได้เลย โดยสรุป IP Address คือ ตัวเลขที่ใช้บอกที่อยู่บนโลกของ Computer Network ซึ่งหมายรวมไปถึง Internet ด้วยเช่นกัน (มันก็คือ Computer Network ขนาดใหญ่นั่นแหละ) ถ้าเข้าไปอ่านในบทความของเรา จะเห็นคำ 2 คำที่เป็นเรื่องสำคัญมาก ๆ ในเรื่องนี้คือ Public และ Private IP Address
ISP บางเจ้า เขาก็จะมีความ งก Public IP Address มาก ๆ เขาก็จะใช้วิธีการทำ NAT แล้วแจก Private IP Address ไป ถ้าคนที่อยู่หลัง NAT เข้าไปในเกม ฝั่ง Server เกม ก็จะเห็นว่ามันมาจาก IP Address เดียวกัน นั่นคือ Public IP Address ของ ISP นี่แหละ ปัญหามันเริ่มตรงนี้
เพราะเมื่อ Game เริ่มจะ Ban IP Address มันก็จะเห็น Public IP Address ของ ISP เอง ที่ในนั้น อาจจะประกอบด้วย Private IP Address หลาย ๆ ใช้งานอยู่หลัง NAT นั้น ทำให้เมื่อเกิดการ Ban ผลที่ได้คือ มันจะไม่ได้ Ban คนเดียว แต่มันแบนทุกคนที่ใช้งานอยู่หลัง NAT ที่ใช้ Public IP Address นั้นไปเลย
ความเ_ย มันพีคเข้าไปอีก เราใช้ Public IP Address จาก ISP เลย เช่น เราอาจจะจ่ายเพิ่มเดือนนึงไม่กี่ร้อย พวกนี้ มันจะได้ Public IP Address จริง ๆ ที่ต่อเข้าแล้วถึงบ้านเราเลย ไม่ได้ผ่าน NAT ของ ISP เลย แต่ ISP เขาก็ไม่มี Public IP ให้ทุกคนที่จ่ายพร้อม ๆ กันหรอก ไม่ได้รวยขนาดนั้น ทำให้เมื่อเราปิดเปิดกล่อง Router อะไรของเราใหม่ มันจะวิ่งไปขอ Public IP Address อันใหม่จาก ISP มา ทำให้จริง ๆ แล้ว Public IP Address ของเรามันก็จะวน ๆ เปลี่ยน ๆ ไปเรื่อย ๆ นี่แหละ ทำให้ถึงเราจะมี Public IP Address แล้ว แต่ส่วนใหญ่ มันก็จะเป็นแบบที่เราเปลี่ยนวน หรือเรียกว่า Dynamic Public IP Address
ทำให้เมื่อเกมมัน Ban IP Address ของเราแล้ว เราก็แค่ปิดเปิดกล่องของเราใหม่ บางทีมันอาจจะวิ่งไปขอ Public IP Address ของเราใหม่ เราเข้าเกม มันก็จะใช้งานได้ปกติเลย แล้วเราก็ทำเ_ยอีก เราก็จะวนแบบนี้ไปเรื่อย ๆ แน่นอนว่า ฝั่งเกมมันก็วนไปเรื่อย ๆ เหมือนกัน แต่...... คนอื่นที่ใช้ ISP เดียวกัน อาจจะเล่นเกมเดียวกัน และ อาจจะโดนวนมาใช้ IP Address ที่โดน Ban ไป ก็คือ ซวยสัสเลย ละ ถามว่าเรื่องนี้มันพีคได้ขนาดไหน แนะนำให้ไปอ่านเรื่องที่รัสเซียพยายาม Ban Telegram อันนั้นคือ Scale-up ของการทำแบบนี้แหละ
เกมมันก็แก้ปัญหาด้วยการที่มันจะ Ban เป็นเวลาแทน เช่น อาจจะสั่ง Ban 30 นาที หรือระดับวัน ๆ เช่น 72 ชั่วโมงเอา แต่เห้ย มันก็ไม่ได้แก้ปัญหาทั้งหมดปะ
เพิ่มดีกรีความพีคเข้าไปอีก ถ้าคนเล่น มันเอา VPN เข้ามาเล่นเลยละ เพราะมุมมองของ Server Game มันก็จะเห็นเหมือนกับพวก Private IP Address แต่เป็น IP Address ของ VPN Server แทน ทีนี้แหละ อร่อยเลย Ban ทีแตกยกวงเลยนะ แต่เรื่องนี้พอจะแก้ปัญหาได้ เพราะบางเกม เขาจะมี IP Address List ของพวก VPN Server ไว้ แล้วถ้าเจอ มันก็จะบอกเลยว่า มันไม่ให้เล่นผ่านพวก VPN Server นะ เราว่าเหตุผลใหญ่ ๆ คือ มันเป็น Countermeasure ในการ Ban และ ถ้าเกมจะ Ban VPN Server อีก ก็คือจะเป็นคนเ_ยแทน เสียลูกค้าอีก งั้น ก็ไม่ให้เล่นเลยละกัน
อ่านมาจนถึงตอนนี้น่าจะเริ่มสัมผัสได้แล้วใช่มั้ยว่า การ Ban ด้วย IP Address เป็นวิธีที่ไม่ฉลาดสำหรับ Online Game เท่าไหร่ เพราะ IP Address ของผู้เล่น มันสามารถเปลี่ยนได้ง่าย ๆ ส่วนใหญ่แค่ปิดเปิด Router ที่ต่อกับ ISP ใหม่ก็จบ หรือรอสักพักให้ Leased Time หมด มันก็จะขอ IP Address ใหม่เองก็จบ หรือคนที่ใช้ Private IP Address เองก็ยาก เพราะ Game Server มันไม่เห็นนิ มันมองทะลุ NAT ไม่ได้ ถ้า Ban เลย ก็ต้อง Ban ทั้งหมดที่ใช้ IP Address ตัวนั้น หรือ ถ้าขยับไปใช้ VPN Server ก็หนักกว่าเดิมอีกจากเหตุผลที่เราเล่าไป ปัญหาแมวจับหนู ถ้าหนูมันเ_ย แมว มันก็ต้องพัฒนาสิวะ !
ลองมาคิดเล่น ๆ ดีกว่า ถ้าเราเป็นเจ้าของเกม เราจะทำยังไงกันดี เราว่า อย่างแรกคือ เราอาจจะ Flag Account ที่ก่อเรื่องก่อน เพื่อให้เขาไม่สามารถเข้าถึงจาก Account เดิมได้ ไม่ว่าจะจาก IP Address อะไร นั่นน่า...... จะ.... รอด... แล้วใช่มั้ย Yep for now....
แน่นอนว่า ผู้เล่น ก็ไม่ได้โง่ค่าา ถ้าคนมันอยากจะโยนเกม จริง ๆ เล่นเ_ย ๆ มันก็จะเล่นแบบนั้นแหละ แน่นอนว่า ง่ายจะตาย เราก็ใช้ Countermeasure ของ IP Address ที่เราบอกไป และ สมัคร Account ใหม่แล้วเกรียนต่อ มันก็ได้ใช่ป่ะ Simple เวอร์
งั้นเอางี้ในเมื่อเราทำขนาดนี้แล้ว ยังเข้ามาได้อีก งั้นเราก็มาแบนอะไรที่มันฟิคติดมากกับเครื่องหรืออุปกรณ์บางอย่างเลยมั้ยละ ง่ายที่สุดคือ MAC Address ที่มัน Burn-in ติดมากับพวก NIC ของเราเลย แน่นอนว่ามันเปลี่ยนไม่ได้ แต่แน่นอนว่า เราก็มี Countermeasure กับวิธีนี้อีกคือ ในเครื่องของเรา ส่วนใหญ่เราก็จะมี NIC มากกว่า 1 เช่น เรามีทั้ง Ethernet และ WiFi เราก็แค่ใช้อีกตัวก็จบแล้วใช่ป่ะ หรือ เอาให้พีคกว่านั้นอีกนะ เราสามารถ Setup พวก Virtual NIC ขึ้นมาได้ ซึ่งแน่นอนว่า Generate พวก MAC Address ทิพย์ได้หมดเลย (Windows ถ้าเราใช้ Hyper-V เราก็ Generate Virtual NIC ลูกใหม่ออกมาได้เรื่อย ๆ เลย) อร่อยละทีนี้
แต่มันก็จะมีบางเกมนะ ฉลาดจริง ๆ คือ มันเข้าไปอ่าน MAC Address ที่เช่ือมต่อบนเครื่องของเราทั้งหมดเลยก่อนเราจะเข้าเกมได้ ทำให้เมื่อมันมี MAC Address ที่โดน Ban ต่ออยู่ในเครื่องเรามันก็จะเข้าไม่ได้เลย แน่นอนว่าแก้ง่ายมาก ๆ ถ้าเรารู้ว่ามันมีระบบนี้อยู่ ส่วนนึงเราอาจจะตั้งค่าใน OS ให้สิทธิ์มันเข้าถึง NIC ที่เราใช้งานได้เท่านั้น หรือจริง ๆ เกรียน ๆ เลยนะ ใช้พวก USB NIC ทั้งหลาย โดนปุ๊บ ก็ถอดออก เปลี่ยนอันใหม่ แล้วอันนึงแมร่งไม่แพงอี๊กกกก
วิธีการเดิม ๆ มันง่ายไป เราว่าหลาย ๆ คนอาจจะเคยเห็นเคสที่บอกว่า เออ ถ้าโดนแบนแล้วคือเครื่องนั้นคือโดนแบนไปเลยนะ วิธีการนี้มันก็มีเหมือนกัน หลักการก็คือการใช้ ID อะไรสักอย่างจากเครื่องของเรา หรืออาจจะเป็นพวกการเอา ID อะไรของเครื่องหลาย ๆ อย่างมาคำนวณรวมกันจนได้ Code สักอย่างออกมา พอจะ Verify ก็แค่ทำย้อนกลับ แล้วเอา Code ที่ได้ มาเทียบกันเราก็จะรู้ละว่าเครื่องนั้นเป็นเครื่องเจ้าปัญหาหรือไม่
ซึ่งวิธีนี้ไม่ได้ใหม่อะไรนะ เพราะ Windows เอง ก็ใช้วิธีการประมาณนี้แหละ ทำให้คนที่ซื้อ Windows แท้ใน License บางประเภทมาแล้วมีการเปลี่ยน Hardware บางอย่างใหญ่ ๆ เลย เช่นการเปลี่ยน Motherboard จะทำให้ขึ้นให้เรา Reactivate Windows ใหม่ ก็เพราะแบบนี้แหละ วิธีการเดียวกัน
อ่าน ๆ ไป ก็จะเอ๊ะ ว่า Countermeasure ก็คือ การเปลี่ยน Hardware ไง ฮ่า ๆ ดูจะเป็นวิธีการที่ทำยากกว่าวิธีการแบนอื่น ๆ อีกเยอะเลยนะ ยิ่งถ้าเกมมัน Ban แค่แบบไม่กี่วัน มันก็ไม่คุ้มเท่าไหร่ที่คนที่ถูก Ban จะออกไปหาซื้อ Hardware ใหม่ให้เลขพวกนี้มันเปลี่ยน นอกจากนั้น ถ้าเกมมันใช้วิธีนี้จริง ๆ มันก็ไม่บอกเราหรอกว่า มันคำนวณยังไง ทำให้ง่ายสุดก็คือ การซื้อเครื่องใหม่เลย
บางเกม มันเอามันส์กว่านั้น ในเมื่อมึ_มันเ_ย นัก งั้น เวลาเราจับคู่ มาเล่นด้วยกัน ระบบมันจะเอาคนเ_ย มาอยู่รวมกันไปเลยค่าาาา เอาให้สุด ซึ่งเกมพวกนี้จะเป็นพวกเกมที่เล่นเป็นรอบ ๆ ซะเยอะ เช่น MOBA หรือ FPS อะไรพวกนั้น ซึ่ง เขาจะอาจจะมีเป็นพวก Moral Point หรือคะแนนมารยาทอะไรพวกนั้น เมื่อจับคู่มันก็น่าจะไป Ranking เลย ว่าโอเค ในระบบที่คนกำลังหาห้องตอนนี้ให้เ_ยพอ ๆ กัน จับมาใส่ด้วยกันไปเลย เอ๋อออออ อันนี้แหละมันส์บอกเลย
เมื่อก่อนเราเล่น Point Bank เป็นเกมที่จัดการพวกโปรแกรมโกงได้เ_ยมาก ๆ เรียกว่า เล่นกี่ห้อง เจอเยอะมาก ๆ ตอนนี้ไม่รู้เป็นยังไงบ้างแล้วเหมือนกัน มันจะมีพวกโปรระเบิดอยู่ คือเราเดิน ๆ ไปก็คือเก็บศัตรูเราไปเลย โดยที่เราไม่ต้องทำอะไรเลย เดินผ่านอย่างเดียว ลองคิดดูว่า ถ้าเอาคนพวกที่ใช้โปรแกรมโกงมารวม ๆ กันสิ โอ้โห้ แมร่งหัวร้อนกันเอง สะใจชิบหาย
จากแต่ละวิธีของแบน Ban ผู้เล่น เราจะเห็นว่า มันก็จะมี Countermeasure เองทั้งหมด นี่เรายังไม่ได้เล่าถึงพวกวิธีการป้องกันคนเดิมสมัครซ้ำอะไรอีกนะ ที่มีการใช้พวกเลขบัตร ซึ่งเอาจริง ๆ คือ มันคำนวณโคตรง่ายเลยละ แค่ให้ Scheme ตรง Checksum ตรงเท่านั้น มันเลยเกิดพวกเว็บปลอมเลขบัตรสมัยก่อนนั่นแหละ ดังนั้นจริง ๆ แล้วพวกนี้มันก็เหมือนกับแมวจับหนูนั่นแหละ หนูก็วิ่งไป แมวก็วิ่งตามอุดช่องโหว่ต่าง ๆ ทำให้เกมในปัจจุบัน เขาก็จะมีวิธีการใหม่ ๆ ออกมาจับผู้เล่นที่เ_ย หรือไม่ประพฤติตามข้อปฏิบัติของเกมนั้น ๆ ออกมาเรื่อย ๆ จริง ๆ เดาว่านะ เราก็ไม่รู้คือ อาจจะเอาหลาย ๆ วิธีนี่แหละใช้ด้วยกันเลย ทำให้เจาะลงตัวผู้เล่นได้มากขึ้น แต่สิ่งที่ปวดหัวสุด ๆ เราว่าตามหัวเรื่องนี่แหละ คือการใช้ IP Address เป็นตัวที่ระบุในการ Ban จากเหตุผลที่เราเล่ามาน่าจะพอรู้แล้วว่า ทำไมวิธีนี้มันดูไม่ฉลาดเอาซะเลย ประสิทธิภาพต่ำ เจาะจงตัวน้อย ลูกหลงเยอะ ทำให้ชิบหายเข้าไปอีก
หลังจากดูงาน Google I/O 2024 ที่ผ่านมา เรามาสะดุดเรื่องของการใส่ Watermark ลงไปใน Content ที่ Generate จาก AI วันนี้เราจะมาเล่าให้อ่านกันว่า วิธีการทำ Watermark ใน Content ทำอย่างไร...
ก่อนหน้านี้เราทำ Content เล่าความแตกต่างระหว่าง CPU, GPU และ NPU ทำให้เราเกิดคำถามขึ้นมาว่า เอาเข้าจริง เราจำเป็นต้องมี NPU อยู่ในตลาดจริง ๆ รึเปล่า หรือมันอาจจะเป็นแค่ Hardware ตัวนึงที่เข้ามาแล้วก็จากไปเท่านั้น วันนี้เราจะมาเล่าให้อ่านกัน...
บทความนี้ เราเขียนสำหรับมือใหม่ หรือคนที่ไม่ได้เรียนด้านนี้แต่อยากรู้ละกัน สำหรับวันนี้เรามาพูดถึงคำที่ถ้าเราทำงานกับพวก Developer เขาคุยกันบ่อย ๆ ใช้งานกันเยอะ ๆ อย่าง Database กันว่า มันคืออะไร ทำไมเราต้องใช้ และ เราจะมีตัวเลือกอะไรในการใช้งานบ้าง...
หากใครที่อายุใกล้ ๆ 30 ต้องเคยผ่านประสบการณ์โลกออนไลน์ในยุค 90s' มาไม่มากก็น้อย เป็นยุคที่เราเน้นใช้โปรแกรมเถื่อน ขายกันอยู่ในห้างพั____พ กันฉ่ำ ๆ ตำรวจตรวจแล้วเราไม่มีขายตัว แต่เคยสงสัยถึงที่มาของโปรแกรมเหล่านี้มั้ยว่า เขา Crack กันอย่างไร วันนี้เราจะมาเล่าให้อ่านกัน...