คือเรื่องของเรื่อง ผมไปอ่านบทความนี้มา
ระบบของเกมออนไลน์ และการโกง
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้จากหัวข้อทุกๆ ท่านก็น่าจะเดาได้นะครับว่าผมกำลังจะกล่าวถึงเรื่องอะไร
แน่นอนครับ ผมว่าหลายๆ คนในที่นี่คงมีประสบการณ์กับเกมออนไลน์มาไม่มากก็น้อยใช่ไหมครับ
และสิ่งที่ทำให้คนที่เล่นหาความสนุกอย่างบริสุทธิ์ยุติธรรมในเกมออนไลน์หลายๆ คนต้องปวดเศียรเวียนเกล้ากัน ก็คือโปรแกรมโกงทั้งหลายแหล่...
แน่นอน หากเป็นเกมประเภทที่เล่นแข่งขันกับปัญญาประดิษฐ์ (PvE : Player versus Enemies) มันก็ไม่กระไรนัก แต่ถ้าเป็นเกมแบบ PvP หรือแข่งกับคนเล่นด้วยกันแล้ว เกมนั้นก็แทบจะหมดความสนุกไปในพริบตา เพราะคนที่ไม่โกงจะเสียเปรียบอย่างร้ายแรงมากๆ ชนิดแทบหมดทางชนะไปเลยก็ว่าได้
แน่นอน ว่าสารพัดโปรแกรมป้องกันก็ถูกพัฒนาขึ้นมาเพื่อหยุดพฤติกรรมเหล่านี้ แต่คำว่า "กฏมีไว้แหก" และ "ไม่มีระบบใดที่สมบูรณ์แบบไปทุกอย่าง" ก็ยังใช้ได้ทุกยุคทุกสมัย โปรแกรมป้องกันการโกงพัฒนาไป อัพเดท Patch ไปไม่ทันไร โปรแกรมโกงตัวใหม่ก็มาแล้ว เป็นวัฏจักรไม่จบสิ้น
หลายๆ คนอาจจะสงสัยแล้วใช่ไหมครับ ว่าโปรแกรมโกงพวกนี้มันทำงานยังไง
อย่างแรกที่เราต้องรู้คือ เกมออนไลน์นั้นแบ่งเป็นสองส่วนใหญ่ๆ นั่นคือส่วนของผู้เล่น (Client) และตัวเซิฟเวอร์ให้บริการเกม (Server)
ซึ่งตัวเซิฟเวอร์จะมีหน้าที่เก็บข้อมูล เช่นพวกตัวละครของผู้เล่น ระดับ ทักษะ ฯลฯ แล้วก็อีกอันคือส่งข้อมูลมาให้ทางเครื่องของผู้เล่นอีกทีหนึ่ง
อันนี้เป็นพื้นฐานที่ทุกคนน่าจะรู้อยู่แล้วนะครับ
แต่ที่หลายๆ คนไม่รู้คือ การประมวลผลต่างๆ นั้นในเกมออนไลน์ส่วนใหญ่ในปัจจุบัน จะให้ทางเครื่องของผู้เล่นเป็นตัวประมวลผลแล้วส่งผลลัพธ์ไปให้เซิฟเวอร์ครับ
หากเขียนเป็นแผนผังก็จะได้ประมาณนี้นะครับ
เซิฟเวอร์ส่งข้อมูลทุกอย่างมาให้ (ผู้เล่น ตัวละคร แผนที่ ฯลฯ)=> เครื่องของผู้เล่น => ผู้เล่นออกคำสั่ง => เครื่องของผู้เล่นประมวลผลลัพธ์จากการออกคำสั่งของผู้เล่นนั้นๆ => ข้อมูลผลลัพธ์ที่เครื่องผู้เล่นประมวลให้เสร็จแล้วส่งกลับไปอัพเดทที่เซิฟเวอร์
วนเป็นวัฏจักรเช่นนี้
ปัญหาของโปรแกรมโกง มันอยู่ที่เครื่องของผู้เล่นประมวลผลทุกอย่างก่อนแล้วค่อยส่งกลับไปให้เซิฟเวอร์นี่แหละครับ!!
เนื่องจากเซิฟเวอร์ส่งข้อมูลทุกอย่างมาให้เครื่อง Client หมดเพื่อที่เครื่อง Client (เครื่องเล่นเกมของผู้เล่น) จะได้ประมวลผลได้ถูกต้อง ดังนั้นเท่ากับว่าข้อมูลทุกอย่างก็พร้อมที่จะถูกปรับแต่งแก้ไขที่เครื่องของผู้เล่นเองก่อนจะส่งกลับไปที่เซิฟเวอร์ได้ โปรแกรมโกงก็จะจัดการตรงนี้แหละครับ ก่อนจะส่งข้อมูลที่ถูกปรับแต่งแล้วกลับไปทางเซิฟเวอร์
หรือแม้แต่เกมที่อาศัยแผนที่เป็นระบบหลักในการเล่นเกม โปรแกรมโกงที่เรียกว่า Map Hack ก็จะแก้ไขให้เราเห็นทุกอย่างที่เซิฟเวอร์ส่งมาให้เราทั้งหมด แทนที่จะถูกจำกัดสิ่งที่เรามองเห็นได้ตามกฏของเกม
กล่าวคือ ตราบเท่าที่ข้อมูลส่วนใหญ่ต้องถูกประมวลผลโดยเครื่องของผู้เล่น และเซิฟเวอร์ทำหน้าที่แค่รับส่งข้อมูลและเก็บข้อมูลที่ประมวลผลแล้ว การโกงก็ยังเกิดขึ้นได้เรื่อยๆ และง่ายดายครับ
ทีนี้ ก็มีเกมออนไลน์อีกแบบหนึ่งที่ใช้ระบบ "เซิฟเวอร์ประมวลผลทุกอย่าง" อยู่ด้วย ซึ่งระบบนี้ไม่ค่อยเป็นที่นิยมมากนัก เดี๋ยวผมจะบอกอีกทีนะครับว่าทำไม
ระบบนี้จะไม่เหมือนกับระบบข้างต้น ตรงที่เกมในเครื่องเล่นของผู้เล่นจะเป็นแค่ Interface สำหรับติดต่อกับเซิฟเวอร์เท่านั้น ตัวเกมจริงๆ อยู่ในเซิฟเวอร์ทั้งหมด
ฟังแล้วงงใช่ไหมครับ
หากจะให้อธิบายก็คือ ระบบนี้ผู้เล่นจะส่งคำสั่งไปให้ตัวละครของเราที่อยู่เซิฟเวอร์เกม แล้วเซิฟเวอร์เกมจะทำการประมวลผลลัพธ์ แล้วส่งผลลัพธ์นั้นมาแสดงออกที่เครื่องของเราครับ
หากเปรียบเทียบ ให้มองคอมพิวเตอร์ของเรา และเกมในเครื่องเราเป็น Gamepad กับจอทีวีครับ แล้วมองเซิฟเวอร์ของเกมออนไลน์เป็นเครื่องเล่นเกม (PS3 หรืออะไรก็แล้วแต่) นั่นแหละครับคือความสัมพันธ์ของระบบนี้
นั่นคือข้อมูลทุกอย่าง การประมวลผลทุกอย่าง เซิฟเวอร์รับไปทำหมด Client มีหน้าที่แค่ส่งคำสั่งที่ผู้เล่นสั่งกับตัวละครของตนไปที่ Server กับรับผลลัพธ์ที่ Server ส่งมาให้มาแสดงผลเท่านั้น
เปรียบเทียบระบบของเกมออนไลน์ที่ Client ประมวลผล กับเกมที่ Server ประมวลผล ด้วยตัวอย่างต่อไปนี้นะครับ
1 เวลาเราสั่งเดินไปทางซ้าย X หน่วย
-เกมออนไลน์แบบ Client เป็นตัวประมวลผลหลัก หรือก็คือเกมออนไลน์ทั่วๆ ไปในปัจจุบัน จะประมวลผลว่าเราเดินไปทางซ้าย X หน่วย แล้วส่งข้อมูลตำแหน่งปัจจุบันของเราไปที่เซิฟเวอร์ นั่นคือเราเดินตัวละครในเครื่องของเราเสร็จแล้ว ถึงค่อยไปบอกเซิฟเวอร์ว่าตัวละครของเราเดินไปแล้วไปอยู่ไหน เกิดอะไรขึ้นบ้าง
-แต่เกมออนไลน์แบบ Server เป็นตัวประมวลผลหลัก มันคือเราสั่ง Server ผ่านทาง Client ว่า "ช่วยเดินตัวละครของเราไปทางซ้าย X หน่วยทีสิ" แล้วหลังจากเซิฟเวอร์จัดการให้ตามคำขอแล้ว มันก็จะส่งผลลัพธ์ของคำขอนั้นกลับมาแสดงที่จอคอมของผู้เล่นอีกที นั่นคือเซิฟเวอร์เดินตัวละครให้เรา (ตามที่เราส่งคำขอไป) แล้วค่อยกลับมาบอกเราว่าเดินไปแล้วไปอยู่ที่ไหน เกิดอะไรขึ้นบ้าง
2 เวลาอัพเดทแผนที่ หรือการมองเห็น
- เกมออนไลน์แบบ Client เป็นตัวประมวลผลหลัก Client จะได้รับข้อมูลทั้งหมดว่าใครอยู่ไหนทำอะไรบ้าง และ Client จะประเมินเองว่าสถานภาพของผู้เล่นในปัจจุบันควรจะมองเห็นอะไรได้บ้าง แล้วแสดงให้ผู้เล่นเห็นไปตามนั้น
- แต่เกมออนไลน์แบบ Server เป็นตัวประมวลผลหลัก Server มันจะประเมินว่า Client คนนี้ควรเห็นอะไรบ้าง แล้วส่งข้อมูลไปให้แค่เท่าที่เขาควรจะเห็นเท่านั้น ไม่ได้ส่งข้อมูลทั้งหมดไปให้
สังเกตนะครับ ว่าเกมแบบที่ Client เป็นตัวประมวลผลหลัก จะโกงก็แค่ปรับแต่งแก้ไขข้อมูลที่จะส่งไปให้เซิฟเวอร์เท่านั้น เช่นหากเรายิงใส่ศัตรู ก. ความเสียหายปกติ 100 หน่วย โปรแกรมโกง มันก็อาจจะปรับแก้เป็น 1000 หน่วยหรืออะไรก็แล้วแต่ แล้วค่อยส่งผลลัพธ์ที่แก้แล้วกลับไปให้เซิฟเวอร์ ก็จะกลายเป็นเซิฟเวอร์รับรู้ว่าเราทำความเสียหายกับศัตรู ก. 1000 หน่วยแทนที่จะเป็น 100 หน่วย
หรือการมองเห็นแผนที่ทั้งฉาก ที่เรียกกันว่า Map Hack ก็ด้วย ในเมื่อข้อมูลทุกอย่างมันอยู่ในคอมเราหมดแล้วนี่? แค่ปลดล๊อกกฏเกณฑ์ ระบบประมวลผลของ Client ที่กันไม่ให้เรามองเห็นที่เราไม่สมควรเห็นก็เสร็จ เราเห็นหมดแล้ว
แต่กับเกมออนไลน์ที่ Server รับประมวลผลทุกอย่างจะโกงแบบนี้ไม่ได้ เพราะที่เราส่งไปให้เซิฟเวอร์ มีแค่คำสั่งขอร้องให้เซิฟเวอร์มันทำอย่างนั้นอย่างนี้ให้เท่านั้น ไม่มีค่าปรับแต่ง ไม่มีข้อมูลใดๆ ให้แก้ และหากคำสั่งที่ว่าเป็นไปไม่ได้ มันก็ไม่ทำให้เพราะฐานข้อมูลที่อยู่ในเซิฟเวอร์มันบอกว่าทำไม่ได้
Map Hack ก็ทำไม่ได้ เพราะอย่างที่บอกไป ว่าเซิฟเวอร์เป็นตัวตัดสินเองว่าเราควรจะเห็นได้แค่ไหน แล้วส่งข้อมูลมาให้ผู้เล่นเฉพาะที่ควรเห็นแค่นั้น ดังนั้นในเมื่อคอมของเราเองไม่มีข้อมูลของตำแหน่งอื่นๆ อยู่ในเครื่อง (เพราะเซิฟเวอร์ส่งมาให้แค่นั้น) จะมองทั้งแผนที่ได้ยังไงล่ะ?
หากจะแฮก หรือจะโกงกับเกมออนไลน์ที่ใช้ระบบ Server ประมวลผลทุกอย่างนี้จริงๆ ก็มีแต่ต้องเจาะเข้าไปแก้ข้อมูลเซิฟเวอร์ให้บริการเกมเท่านั้นครับ ซึ่งคงไม่ต้องบอกนะครับว่าระบบรักษาความปลอดภัยของมันเทียบกับคอมธรรมดา หรือโปรแกรม Client ทั่วไปที่บ้านแล้ว อย่างไหนมันจะดีกว่ากัน และที่ยิ่งไปกว่านั้น คุณต้องรักษาการเจาะระบบให้คงอยู่ได้นานตลอดการเล่นเกมของคุณโดยไม่โดนเซิฟเวอร์ตรวจพบการเชื่อมต่อที่ผิดปกตินี้อีกด้วย อย่าลืมว่ายิ่งเจาะอยู่นานมากเท่าไหร่ โอกาสโดนตรวจเจอก็ยิ่งมากขึ้นเท่านั้น
แล้วผมยังไม่พูดถึงว่าหากโดนจับได้นี่ ไม่ใช่แค่แบนไอดีเกมนั้นๆ นะครับ เจาะ server ผู้ให้บริการแบบนี้โทษอาญาฐานจารกรรมข้อมูลเลยนะครับ (โทษอาญา คือต่อให้บริษัทเกมมันใจดีไม่เอาเรื่องคุณ ตำรวจก็ต้องจับคุณเข้าคุกขึ้นศาลตามกฏหมายอยู่ดี กล่าวคือเจรจายอมความไม่ได้ครับ)
ตัวอย่างของเกมออนไลน์ที่เจ้าของบล๊อกรู้จักที่ใช้ระบบ Server รับเละประมวลผลทุกอย่างนี่ ก็เช่น World of Tanks ครับ
ทีนี้ หลายๆ คนสงสัยแล้วสิครับ ว่าถ้าระบบนี้มันแฮค / ใช้โปรแกรมโกง แทบจะเป็นไปไม่ได้
ทำไมผู้ให้บริการเกมออนไลน์เขาถึงไม่เปลี่ยนมาใช้ระบบนี้กัน?
อย่างแรกเลยคือ เนื่องจากเซิฟเวอร์ต้องรับเละประมวลผลข้อมูล จัดเก็บข้อมูล รับส่งข้อมูล ทุกอย่างของเกม ขณะที่เกมอื่นๆ นั้นให้ Client ประมวลผลให้แทน คุณคิดว่าเซิฟเวอร์แบบไหนจะต้องเครื่อง "แรง" กว่ากันครับ? และผมบอกตรงๆ ว่าเซิฟเวอร์ให้บริการเกมระบบนี้ไม่ใช่แรงกว่าเซิฟเวอร์เกมออนไลน์ธรรมดาๆ แค่สองเท่าหรือสามเท่าแน่ๆ ครับ และราคาก็คงไม่ต้องพูดถึงเช่นกัน แพงหูดับแน่ๆ...
อย่างที่สอง อันนี้เป็นผลเสียกับผู้เล่นครับ นั่นคืออาการแลค! ซึ่งหลีกเลี่ยงไม่ได้ 100% กับระบบนี้ เพราะกว่าตัวละครบนจอของเราจะขยับ คำสั่งของเราต้องวิ่งข้ามโลกไปที่เซิฟเวอร์ (เปรียบเทียบให้เห็นภาพน่ะครับ) ให้มันประมวลผลเสร็จแล้ว ค่อยส่งผลลัพธ์วิ่งข้ามโลกกลับมาแสดงที่เครื่องเราอีกที เทียบกับทุกอย่างอยู่ในเครื่องเราหมด เราสั่งอะไรปุ๊บ ตัวละครเราในเกมก็ทำเดี๋ยวนั้น เซิฟเวอร์จะรับข้อมูลช้าลงเท่านั้น แบบไหนแลคมากกว่ากันก็รู้ๆ อยู่นะครับ
เครดิต : คุณmachaiping
http://machaiping.ex.../20121025/entry
ทีนี้ ที่ผมสงสัยคือ world of tank ที่ใช้ระบบนี้ น่าจะมีแค่อีกเจ้าคือ war thunder เค้าทำยังไงไม่ให้แลค war thunder เนี่ยยังมีปัญหาบ้างเวลาคนเยอะๆ แต่กับ world of tank ไม่มีปัญหาเลย ทั้งๆที่ เค้าไม่ได้วางเซิฟเวอร์ไว้ในประเทศไทย แต่วางเซิฟเวอร์ไว้ในสิงค์โปร แล้ว"
คนทั้งเอเชีย"มาเล่นที่เซิฟเวอร์เดียวกัน (ยกเว้นเกาหลีที่มีเซิฟเวอร์ของตัวเอง) ผมเคยเจอคนเยอรมัน-รัสเซีย หรือทวีปออสเตรเลีย ข้ามมาเล่นที่ฝั่งนี้ เค้าก็ไม่มีปัญหาแลค จำนวนผู้เล่น เอาแค่ในฝั่งรัสเซีย ต้นกำเนิดก็เกินล้านไอดีแล้ว ฝั่งเอเชียช่วง low สุดๆยังราวๆ2หมื่นคน คำถามคือเค้าทำได้ยังไง ?
สงสัยเกี่ยวกับ เกมส์ออนไลน์ครับ เค้าทำยังไงให้ไม่แลค ?
ระบบของเกมออนไลน์ และการโกง
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
ทีนี้ ที่ผมสงสัยคือ world of tank ที่ใช้ระบบนี้ น่าจะมีแค่อีกเจ้าคือ war thunder เค้าทำยังไงไม่ให้แลค war thunder เนี่ยยังมีปัญหาบ้างเวลาคนเยอะๆ แต่กับ world of tank ไม่มีปัญหาเลย ทั้งๆที่ เค้าไม่ได้วางเซิฟเวอร์ไว้ในประเทศไทย แต่วางเซิฟเวอร์ไว้ในสิงค์โปร แล้ว"คนทั้งเอเชีย"มาเล่นที่เซิฟเวอร์เดียวกัน (ยกเว้นเกาหลีที่มีเซิฟเวอร์ของตัวเอง) ผมเคยเจอคนเยอรมัน-รัสเซีย หรือทวีปออสเตรเลีย ข้ามมาเล่นที่ฝั่งนี้ เค้าก็ไม่มีปัญหาแลค จำนวนผู้เล่น เอาแค่ในฝั่งรัสเซีย ต้นกำเนิดก็เกินล้านไอดีแล้ว ฝั่งเอเชียช่วง low สุดๆยังราวๆ2หมื่นคน คำถามคือเค้าทำได้ยังไง ?