MMO ส่วนใหญ่ทุกวันนี้มีสิ่งสำคัญที่ต้องทำในฝั่งเซิร์ฟเวอร์เพื่อเหตุผลด้านความปลอดภัย คุณไม่สามารถลดภาระให้กับลูกค้าได้มากนักซึ่งเป็นสาเหตุหนึ่งในสิ่งแรกที่ axed คือกิจวัตร AI ฉันคิดว่านักพัฒนาซอฟต์แวร์ส่วนใหญ่พิจารณาฝั่งไคลเอ็นต์ว่าสามารถแฮ็กเป็นกฎไม่ใช่ข้อยกเว้น
Badumna ของ Scalify ( http://www.scalify.com/badumna.php ) พยายามที่จะ off-load ส่วนหนึ่งของมันให้กับลูกค้าเพื่อที่พวกเขาจะได้ทำการคำนวณฝั่งไคลเอ็นต์และส่งไปให้กัน ข้อมูลบางอย่างจะถูกส่งไปยังเพียร์ผู้มีอำนาจเพื่อตรวจสอบความถูกต้องก่อนส่งผ่านไปยังลูกค้าเช่นเดียวกับเซิร์ฟเวอร์เฉพาะ ปัญหาคือข้อมูลทั้งหมดในเกมที่มีผู้เล่นหลายคนจะต้องส่งผ่านเพียร์ที่มีสิทธิ์หากคุณต้องการป้องกันการโกง ฉันนำ Badumna ขึ้นมาเพราะมันดูใกล้เคียงที่สุดกับสิ่งที่คุณอาจต้องการ แต่ถึงแม้มันจะไม่สามารถจับคนขี้โกง - มันอาจจะจับได้ แต่สิ่งที่สำคัญ (เช่นทุกอย่างสวยมาก) จะต้องทำเซิร์ฟเวอร์ - ด้าน
ฉันอาจขยายตัวใน Badumna เพราะมันอาจเป็นสิ่งที่คุณจะพบว่ามีประโยชน์ (แต่ฉันขอให้คุณลองพิจารณาอีกครั้งในการโหลดสิ่งที่มีความสำคัญต่อลูกค้าเพราะลูกค้าจะโกง)
Badumna เสนอสถาปัตยกรรมแบบผสมผสานสำหรับการดำเนินการด้านข้อมูล มันให้การควบคุมอย่างสมบูรณ์แก่นักพัฒนาในการตัดสินใจสิ่งที่สำคัญ (และต้องได้รับการยืนยัน) และสิ่งที่ไม่ได้ (และสามารถส่งได้โดยเครือข่ายการกระจายอำนาจ)
หาก MMO ต้องการให้มีการตรวจสอบความถูกต้องของข้อมูลทุกบิต Badumna จะทำหน้าที่เป็นโซลูชันของไคลเอ็นต์และเซิร์ฟเวอร์ อย่างไรก็ตามฉันเชื่อว่ามีแอปพลิเคชั่น MMO ประเภทต่าง ๆ ที่มีข้อกำหนดที่แตกต่างกัน ตัวอย่างเช่นบ่อยครั้งที่ MMO จะมีโซนการต่อสู้ที่ผู้เล่นมีแนวโน้มที่จะโกงและดังนั้นข้อมูลทุกอย่างจะต้องได้รับการตรวจสอบ อย่างไรก็ตามยังมีโซนที่ผู้เล่นสามารถเดิน / วิ่ง / เต้น / แชทได้เท่านั้น โซนดังกล่าวไม่ต้องการการตรวจสอบที่สมบูรณ์และสามารถใช้เครือข่ายการกระจายอำนาจของ Badumna และได้รับประโยชน์จากความสามารถในการปรับขยายที่สามารถให้ได้
ประการที่สอง Badumna มีคุณสมบัติความปลอดภัยเพิ่มเติมที่นักพัฒนาสามารถเข้าถึงได้เช่นการป้องกันข้อมูลส่วนบุคคล (เพื่อให้ผู้ใช้ไม่สามารถหลอกว่าเป็นคนอื่น), พร็อกซีร้องเรียน (อนุญาตให้ลูกค้ากำหนดค่าให้รายงานผู้เล่นที่เป็นอันตราย / โกง (ห้ามผู้เล่นที่เป็นอันตรายจากเกม)
ฉันไม่ได้สำรวจ Badumna มากขนาดนั้นดังนั้นอาจมีปัญหาและฟีเจอร์ที่ฉันไม่รู้ แต่อย่างน้อยฉันก็เห็นคร่าวๆคร่าวๆ
tl; dr: ไคลเอนต์ควรเป็นคีย์บอร์ดและเม้าส์ถึงอินเทอร์เน็ต