วิธีสร้างเซิร์ฟเวอร์เกม Android ด้วย Raspberry Pi ของคุณ

  • การติดตั้งเซิร์ฟเวอร์เกมบน Raspberry Pi นั้นเป็นไปได้ แต่กำลังประมวลผลของมันจำกัดจำนวนผู้เล่นอย่างมาก
  • เกมหลายเกมอนุญาตให้สร้างเซิร์ฟเวอร์ส่วนตัวได้ ซึ่งเหมาะสำหรับการเล่นกับเพื่อน ๆ ผ่านเครือข่าย LAN หรือผ่านทางอินเทอร์เน็ต
  • การเล่นเกมออนไลน์สามารถทำงานได้โดยใช้เซิร์ฟเวอร์เฉพาะหรือสถาปัตยกรรมแบบ Peer-to-Peer ซึ่งแต่ละแบบก็มีข้อดีและข้อเสียแตกต่างกันไป
  • เครื่องมือต่างๆ เช่น Hamachi การกำหนดค่าพอร์ต และโดเมน ช่วยให้เข้าถึงเซิร์ฟเวอร์เกมของคุณจากระยะไกลได้ง่ายขึ้น

เซิร์ฟเวอร์เกม Android บน Raspberry Pi ของคุณ

หากคุณมี Raspberry Pi ที่ไม่ได้ใช้งานแล้ววางทิ้งไว้ในลิ้นชัก และโทรศัพท์ Android ที่เต็มไปด้วยเกมเล่นหลายคน คุณก็อยู่ห่างจากการสร้างเครื่องเล่นเกมของคุณเองเพียงแค่ขั้นตอนเดียว โครงสร้างพื้นฐานภายในบ้านสำหรับการเล่นเกมออนไลน์กับเพื่อน ๆไม่จำเป็นต้องใช้ซูเปอร์คอมพิวเตอร์หรือเสียเงินมหาศาลไปกับเซิร์ฟเวอร์เฉพาะ Raspberry Pi ที่ได้รับการตั้งค่าอย่างเหมาะสมสามารถกลายเป็นศูนย์กลางของจักรวาลเกมขนาดเล็กของคุณได้ ไม่ว่าจะเป็นบนเครือข่ายภายในหรือผ่านทางอินเทอร์เน็ต

ในบทความนี้ เราจะเชื่อมโยงสองโลกเข้าด้วยกัน: ในด้านหนึ่ง คือทุกสิ่งที่เกี่ยวข้องกับมัน การติดตั้งและจัดการเซิร์ฟเวอร์เกมบน Raspberry Piในอีกด้านหนึ่ง คุณจะได้เรียนรู้พื้นฐานวิธีการเชื่อมต่อผู้เล่น (จากอุปกรณ์ Android หรืออุปกรณ์อื่นๆ) โดยใช้แนวคิดต่างๆ เช่น เซิร์ฟเวอร์เฉพาะ เครือข่ายแบบ Peer-to-Peer เครือข่ายเสมือนแบบ Hamachi และการส่งต่อพอร์ต เป้าหมายคือ แม้ว่าจะเป็นครั้งแรกที่คุณจัดการกับเครือข่ายและเซิร์ฟเวอร์ คุณก็จะเข้าใจกระบวนการที่แท้จริงเบื้องหลังเกมออนไลน์และรู้ว่าจะเริ่มต้นจากตรงไหน

เซิร์ฟเวอร์เกมคืออะไรกันแน่ และ Android มีบทบาทอย่างไรในเรื่องนี้?

ก่อนที่คุณจะเริ่มติดตั้งสิ่งต่างๆ อย่างบ้าคลั่ง ลองทำความเข้าใจบทบาทของเซิร์ฟเวอร์เกมเสียก่อน ในเกมมัลติเพลเยอร์สมัยใหม่หลายๆ เกม โดยเฉพาะเกมแข่งขันหรือเกมที่เล่นต่อเนื่อง จะมี... เซิร์ฟเวอร์ส่วนกลางที่ประสานงานทุกสิ่งที่เกิดขึ้นในเกมเซิร์ฟเวอร์นั้นทำหน้าที่เก็บสถิติ จัดการฐานข้อมูลผู้เล่น ควบคุมโลกในเกม และทำให้มั่นใจว่าการกระทำของผู้ใช้ทั้งหมดนั้นสอดคล้องกันโดยปราศจากการโกง

เมื่อคุณเล่นเกมจากโทรศัพท์มือถือ Android แอปเกมนั้นก็ไม่ต่างอะไรจากแอปเกมเลย ไคลเอนต์กำลังเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลโดยปกติแล้ว บริษัทเกมจะเป็นผู้จัดการเรื่องนี้เอง (เช่นเดียวกับเกมอย่าง World of Warcraft หรือบริการเกมมือถืออื่นๆ ที่คล้ายกัน) แต่ในหลายๆ กรณี โดยเฉพาะเกมอินดี้ เกมโอเพนซอร์ส หรือเกมที่เล่นผ่านเครือข่าย LAN คุณสามารถตั้งค่าเซิร์ฟเวอร์ส่วนตัวที่เพื่อนของคุณสามารถเชื่อมต่อจากอุปกรณ์ของพวกเขาได้ รวมถึงโทรศัพท์ Android หากเกมและเครือข่ายได้รับการตั้งค่าอย่างถูกต้อง

เซิร์ฟเวอร์เฉพาะหรือแบบ Peer-to-Peer: ตัวเลือกไหนเหมาะกับคุณ?

เมื่อคุณเริ่มออกแบบหรือพัฒนาเกมออนไลน์ คำถามที่มักเกิดขึ้นคือ คุณจำเป็นต้องใช้... อย่างแน่นอนหรือไม่ เซิร์ฟเวอร์เฉพาะที่พร้อมใช้งานตลอดเวลา หรือว่าคุณสามารถใช้สถาปัตยกรรมแบบ Peer-to-Peer (P2P) ได้หรือไม่ การเข้าใจความแตกต่างนี้เป็นกุญแจสำคัญในการตัดสินใจว่าจะผสานรวม Raspberry Pi ของคุณอย่างไร และเพื่อนของคุณจะเข้าร่วมเกมได้อย่างไร

ในรูปแบบเซิร์ฟเวอร์เฉพาะ จะมีเครื่องเฉพาะเครื่องหนึ่ง (ในกรณีนี้คือ Raspberry Pi ของคุณ หรือแม้แต่เซิร์ฟเวอร์ระยะไกลแบบเสียค่าใช้จ่าย) ที่ทำหน้าที่เป็น... จุดศูนย์กลางที่ผู้เล่นทุกคนเชื่อมต่อกันเซิร์ฟเวอร์จะคำนวณตรรกะหลักของเกม ตรวจสอบการโกงที่เห็นได้ชัด บันทึกความคืบหน้า และกระจายข้อมูลไปยังไคลเอนต์ทั้งหมด ไม่ว่าจะเป็นคอมพิวเตอร์ตั้งโต๊ะ แล็ปท็อป หรืออุปกรณ์ Android ที่เชื่อมต่อผ่าน Wi-Fi หรือข้อมูลมือถือ

วิธีลดอาการหน่วงบนโทรศัพท์ Android
บทความที่เกี่ยวข้อง:
การตั้งค่า Android ที่ช่วยลดความหน่วงในวิดีโอเกม

ในรูปแบบเครือข่ายแบบบุคคลต่อบุคคล สถานการณ์จะเปลี่ยนแปลงไปมากทีเดียว เพราะ ไม่มีเซิร์ฟเวอร์ตัวใดตัวหนึ่งที่สั่งการผู้เล่นแต่ละคนทำหน้าที่ทั้งเป็นไคลเอนต์และเซิร์ฟเวอร์บางส่วนไปพร้อมๆ กัน และข้อมูลจะถูกแชร์โดยตรงระหว่างผู้เข้าร่วม วิธีนี้ช่วยให้คุณไม่ต้องตั้งค่าเซิร์ฟเวอร์เฉพาะ แต่ก็มีแนวโน้มที่จะทำให้การซิงโครไนซ์ซับซ้อนขึ้น เปิดช่องให้เกิดการโกงมากขึ้น และขึ้นอยู่กับการเชื่อมต่อของอุปกรณ์แต่ละเครื่องเป็นอย่างมาก

เป็นเรื่องปกติที่หลังจากค้นคว้าข้อมูลแล้ว นักพัฒนาซอฟต์แวร์มือใหม่หลายคนจะค้นพบแนวคิดของเครือข่ายแบบ Peer-to-Peer และตัดสินใจที่จะเลือกใช้แนวทางนั้น โดยเฉพาะอย่างยิ่ง เมื่อพวกเขาไม่ต้องการจ่ายค่าเซิร์ฟเวอร์เฉพาะ หรือพวกเขาอาจไม่รู้สึกสะดวกใจที่จะจัดการเซิร์ฟเวอร์เอง ไม่ว่าในกรณีใด แม้ว่าคุณจะเลือกใช้ P2P ในท้ายที่สุด การเข้าใจวิธีการตั้งค่าเซิร์ฟเวอร์แบบคลาสสิกบน Raspberry Pi จะทำให้คุณเข้าใจอย่างชัดเจนว่าเกมออนไลน์ทำงานอย่างไรในเบื้องหลัง

เซิร์ฟเวอร์เฉพาะต้องเสียค่าใช้จ่ายหรือไม่ และมีทางเลือกอื่นอะไรบ้าง?

คำถามสำคัญมักจะเป็นว่า เซิร์ฟเวอร์เฉพาะนั้นจำเป็นต้องหมายความถึง... จ่ายค่าบริการรายเดือนสำหรับเครื่องคอมพิวเตอร์ที่ตั้งอยู่ในศูนย์ข้อมูลคำตอบสั้นๆ คือ ไม่ คุณสามารถมีเซิร์ฟเวอร์เฉพาะได้โดยไม่ต้องเสียค่าใช้จ่ายเพิ่มเติม โดยใช้ฮาร์ดแวร์ของคุณเอง เช่น คอมพิวเตอร์เก่าหรือ Raspberry Pi ตราบใดที่คุณยอมรับข้อจำกัดของมัน

เมื่อเราพูดถึงเซิร์ฟเวอร์เฉพาะแบบเสียค่าใช้จ่าย โดยปกติเราหมายถึง... เครื่องที่ทำสัญญาใช้งานบนระบบคลาวด์หรือจากผู้ให้บริการโฮสติ้งในกรณีที่คุณควบคุมระบบปฏิบัติการและบริการต่างๆ แต่พวกเขาเป็นผู้จัดหาฮาร์ดแวร์และการเชื่อมต่อระดับมืออาชีพ วิธีนี้ให้ความเสถียรสูงและรองรับผู้เล่นหลายคนได้ แต่แน่นอนว่าต้องมีค่าใช้จ่ายต่อเนื่อง

ในทางกลับกัน หากคุณตัดสินใจใช้ Raspberry Pi เป็นเซิร์ฟเวอร์เฉพาะสำหรับใช้งานที่บ้าน ต้นทุนด้านฮาร์ดแวร์จะต่ำมาก (ประมาณ) เตาประกอบอาหารพื้นฐานที่คุณมีอยู่แล้วที่บ้าน ราคาเพียง 30 ยูโรเท่านั้นที่เหลือขึ้นอยู่กับการเชื่อมต่ออินเทอร์เน็ตและเราเตอร์ของคุณ ในทางกลับกัน คุณจะต้องยอมรับข้อจำกัดบางประการในด้านกำลังส่งและแบนด์วิดท์ ดังนั้นเซิร์ฟเวอร์ของคุณจะเหมาะสำหรับเกมส่วนตัว แต่ไม่เหมาะสำหรับการรองรับผู้เล่นหลายร้อยคน

Raspberry Pi สามารถทำอะไรได้บ้างในฐานะเซิร์ฟเวอร์เกม

Raspberry Pi นั้นโดยพื้นฐานแล้วคือ... มินิคอมพิวเตอร์พลังงานต่ำที่สามารถทำงานได้ตลอด 24 ชั่วโมง 7 วันต่อสัปดาห์ด้วยฮาร์ดแวร์ที่ไม่ซับซ้อนมากนัก แต่ก็เพียงพอสำหรับการใช้งานเซิร์ฟเวอร์ภายในบ้านได้หลายอย่าง นอกจากเล่นเกมแล้ว คุณอาจเคยได้ยินมาบ้างแล้วว่ามันยังทำหน้าที่เป็นคลาวด์ส่วนตัว ศูนย์รวมสื่อ โปรแกรมดาวน์โหลด หรือแม้แต่เครื่องเล่นเกมย้อนยุค โดยใช้พลังงานน้อยมาก

ในด้านการเล่นเกม Raspberry Pi อาจสู้เซิร์ฟเวอร์ระดับมืออาชีพไม่ได้ แต่สำหรับการเล่นเกมเบาๆ หรือการใช้งานทั่วไปนั้น Raspberry Pi ก็สามารถทำได้ สามารถรองรับเครือข่าย LAN ขนาดเล็กหรือการเชื่อมต่อระยะไกลจำนวนเล็กน้อยได้อย่างง่ายดายโปรดจำไว้ว่าหน่วยประมวลผลและ RAM ของเครื่องนี้มีจำกัดมาก ดังนั้นอย่าคาดหวังว่าจะมีผู้เล่นหลายสิบคนเล่นพร้อมกันโดยไม่เกิดอาการแล็กหรือเกมค้าง

หัวใจสำคัญคือการเลือกเกมที่อนุญาตให้ใช้เซิร์ฟเวอร์ส่วนตัวเฉพาะ และไม่ต้องการทรัพยากรจำนวนมาก เกมอย่างเช่น... Minecraft เกมแซนด์บ็อกซ์บล็อก 3 มิติ และเทอร์ราเรีย พวกเขามีคุณสมบัติตรงตามนี้อย่างสมบูรณ์แบบ และหลายบริษัทก็มีคู่มือเฉพาะสำหรับการติดตั้งเซิร์ฟเวอร์บน Raspberry Pi พร้อมการตั้งค่าที่ผ่านการทดสอบแล้ว

ตัวอย่างเกมที่คุณสามารถเล่นบน Raspberry Pi ได้

ในบรรดาเกมที่รองรับเซิร์ฟเวอร์ส่วนตัว มีอยู่สองเกมที่ได้รับความสนใจเป็นอย่างมาก: Minecraft เกมสร้างบล็อกแบบ 3 มิติ และ Terraria เกมคู่แข่งแบบ 2 มิติทั้งสองเกมมีฟังก์ชันในการตั้งค่าเซิร์ฟเวอร์เฉพาะเพื่อให้ผู้เล่นเชื่อมต่อ ทำให้คุณสามารถสร้างเกมส่วนตัวได้โดยไม่ต้องพึ่งพาเซิร์ฟเวอร์สาธารณะ

คุณสามารถใช้ Raspberry Pi เป็นเซิร์ฟเวอร์สำหรับเกมเหล่านี้ได้ สร้างโลกเสมือนจริงที่คงอยู่ถาวรเพื่อเล่นกับเพื่อนของคุณสามารถทำได้ทั้งผ่านเครือข่ายท้องถิ่น (เช่น ทุกคนเชื่อมต่อกับ Wi-Fi เดียวกัน) หรือผ่านทางอินเทอร์เน็ต หลักการทั่วไปคือการติดตั้งเซิร์ฟเวอร์เวอร์ชันที่ปรับให้เหมาะสมกับ ARM กำหนดค่าพารามิเตอร์พื้นฐาน (จำนวนผู้เล่นสูงสุด ความยาก รหัสโลก ฯลฯ) และเปิดหรือส่งต่อพอร์ตที่เกี่ยวข้อง

หากคุณชื่นชอบเกมมุมมองบุคคลที่หนึ่ง ก็มีเกมคลาสสิกหลายเกมที่คุณสามารถเล่นบน Raspberry Pi ได้ เช่น เกมต่างๆ QuakeWorld, AssaultCube หรือเกมระดับตำนานอย่าง Doom เกมเหล่านี้มีเวอร์ชันเซิร์ฟเวอร์ที่ทำงานได้ดีบนฮาร์ดแวร์ประเภทนี้ เกมเหล่านี้มีขนาดเบากว่าเกมยิงปืนสมัยใหม่มาก และเมื่อตั้งค่าอย่างเหมาะสม ก็สามารถรองรับผู้เล่นหลายคนได้อย่างราบรื่นพอสมควร

ข้อดีของการใช้เซิร์ฟเวอร์ของคุณเองในเกม FPS เหล่านี้คือ เกมจะถูกเล่นบนเซิร์ฟเวอร์ของคุณเอง รวมศูนย์ไว้ในเครื่องที่คุณควบคุมได้วิธีนี้ช่วยลดความเสี่ยงที่ใครบางคนจะใช้ประโยชน์จากความหน่วงของเซิร์ฟเวอร์ หรือใช้กลโกงทั่วไปของเซิร์ฟเวอร์สาธารณะ นอกจากนี้ คุณยังสามารถปรับพารามิเตอร์ต่างๆ เช่น เวลาเกิดใหม่ ความเสียหายของอาวุธ หรือการหมุนเวียนแผนที่ได้โดยไม่ต้องพึ่งพาบุคคลที่สาม

นอกเหนือจากเกมแซนด์บ็อกซ์และเกมยิงปืนแล้ว Raspberry Pi ยังใช้งานได้ดีกับ... เกมวางแผนและเกมแคชชวลที่มีเซิร์ฟเวอร์เฉพาะรองรับตัวอย่างที่น่าสนใจ ได้แก่ FreeCiv (เกมเลียนแบบ Civilization ที่เล่นได้ฟรี), Windward (เกมผจญภัยโจรสลัดแบบร่วมมือกัน), The Battle for Wesnoth (เกมวางแผนแบบผลัดตาเล่นที่ได้รับแรงบันดาลใจจากเกมคลาสสิกอย่าง Age of Empires), Crossfire (เกมวางแผนแบบอาร์เคดที่มีการลอบเร้น) และ OpenTTD ซึ่งเป็นการตีความใหม่ของการจัดการขนส่งในรูปแบบที่คล้ายกับการผสมผสานระหว่าง RollerCoaster Tycoon และ Monopoly

เซิร์ฟเวอร์เกม Android บน Raspberry Pi ของคุณ

เล่นเกมเครือข่ายภายในและเกมอินเทอร์เน็ตด้วยเซิร์ฟเวอร์ของคุณบน Raspberry Pi

เมื่อคุณติดตั้งและใช้งานเซิร์ฟเวอร์เกมโปรดของคุณบน Raspberry Pi เรียบร้อยแล้ว มีสองวิธีหลักที่ผู้อื่นสามารถเชื่อมต่อได้: ผ่านเครือข่ายภายในบ้าน (LAN) หรือจากภายนอกบ้านผ่านทางอินเทอร์เน็ตโหมด LAN มักจะเป็นโหมดที่ง่ายที่สุด เพราะอุปกรณ์ทั้งหมดอยู่หลังเราเตอร์ตัวเดียวกัน และคุณไม่จำเป็นต้องเปิดเผยอะไรสู่ภายนอก

สำหรับการเล่นเกมแบบ LAN เพียงแค่โทรศัพท์ Android หรืออุปกรณ์อื่นๆ เชื่อมต่อกับเครือข่าย Wi-Fi เดียวกันก็เพียงพอแล้ว และใช้การตั้งค่าดังต่อไปนี้: ใช้ที่อยู่ IP ภายในของ Raspberry Pi เป็นที่อยู่เซิร์ฟเวอร์เกมหลายเกมจะตรวจจับเซิร์ฟเวอร์ในเครือข่ายท้องถิ่นโดยอัตโนมัติผ่านการออกอากาศ แต่ถ้าหากไม่เป็นเช่นนั้น ให้ป้อนที่อยู่ IP นั้นลงในไคลเอนต์ด้วยตนเอง

หากคุณต้องการให้เพื่อนที่ไม่ได้อยู่ที่บ้านของคุณสามารถเข้าร่วมได้ นั่นหมายความว่าคุณกำลังเข้าสู่ขอบเขตของ... การเชื่อมต่อระยะไกลโดยหลักๆ แล้วคุณมีเส้นทางให้เลือกสองเส้นทาง: เปิดพอร์ตบนเราเตอร์ของคุณ (การส่งต่อพอร์ต) หรือจำลองเครือข่ายภายในโดยใช้ VPN เช่นเดียวกับวิธีที่ Hamachi นำเสนอ แต่ละวิธีมีความซับซ้อนแตกต่างกัน แต่ทั้งสองวิธีก็ใช้ได้ผลดีทั้งคู่

การตั้งค่าการส่งต่อพอร์ตและการใช้งานโดเมนสำหรับเซิร์ฟเวอร์ที่บ้านของคุณ

วิธีคลาสสิกในการเชื่อมต่อเซิร์ฟเวอร์ภายในบ้านกับอินเทอร์เน็ตคือการตั้งค่าตามวิธีการที่นิยมใช้กัน การตั้งค่าการส่งต่อพอร์ตบนเราเตอร์วิธีการนี้เกี่ยวข้องกับการบอกเราเตอร์ให้เปลี่ยนเส้นทางการรับส่งข้อมูลทั้งหมดที่เข้ามายังพอร์ตเฉพาะ (ตัวอย่างเช่น 25565 ในกรณีของ Minecraft) ไปยังที่อยู่ IP ภายในของ Raspberry Pi ด้วยวิธีนี้ เมื่อมีคนจากภายนอกเชื่อมต่อกับที่อยู่ IP สาธารณะของคุณบนพอร์ตนั้น คำขอจะไปถึงเซิร์ฟเวอร์เกมของคุณ

การส่งต่อพอร์ตมีข้อดีคือมีประสิทธิภาพสูงและไม่ขึ้นอยู่กับโปรแกรมของบุคคลที่สาม แต่จำเป็นต้องมีสิ่งต่อไปนี้ คุณควรทราบวิธีเข้าถึงการตั้งค่าเราเตอร์ของคุณและควรระมัดระวังเรื่องความปลอดภัยบ้างนอกจากนี้ หาก IP สาธารณะของคุณเป็นแบบไดนามิก มันอาจเปลี่ยนแปลงไปตามเวลา ทำให้เพื่อนของคุณต้องคอยถามอยู่เสมอว่า "ตอนนี้ IP ของคุณคืออะไร?"

ด้วยเหตุผลนี้ จึงขอแนะนำอย่างยิ่งให้เชื่อมต่อเซิร์ฟเวอร์ของคุณกับ... ชื่อโดเมนหรือบริการ DNS แบบไดนามิกแทนที่จะให้ที่อยู่ IP ที่เป็นตัวเลขเปลี่ยนแปลงได้กับเพื่อนของคุณ คุณสามารถใช้โดเมนแบบง่ายๆ ที่ชี้ไปยังที่อยู่ IP ปัจจุบันของคุณแทนได้ วิธีนี้จะทำให้การเชื่อมต่อกับเซิร์ฟเวอร์ง่ายขึ้นมาก ไม่ว่าจะใช้จาก Android หรืออุปกรณ์อื่นๆ ก็ตาม

ทางเลือกอื่นโดยไม่ต้องเปิดพอร์ต: สร้างเครือข่ายเสมือนแบบ Hamachi

หากการเปิดพอร์ตทั้งหมดนี้ดูซับซ้อนเกินไป หรือคุณไม่อยากยุ่งกับเราเตอร์ของคุณ ก็ยังมีอีกทางเลือกหนึ่งที่มีประโยชน์มาก นั่นคือ การใช้ VPN แบบ Hamachi สำหรับสร้างเครือข่ายส่วนตัวเสมือนวิธีการนี้เป็นที่นิยมอย่างมากในหมู่เกมเมอร์ที่ต้องการตั้งค่าเกมกับเพื่อน ๆ โดยไม่ต้องยุ่งยากกับการตั้งค่าฮาร์ดแวร์เครือข่าย

หลักการนั้นง่ายมาก: คุณและเพื่อนๆ ติดตั้งโปรแกรมอย่างเช่น... ใน LogMeHamachi คุณจะสร้างเครือข่ายเสมือนด้วย ID และรหัสผ่านแล้วพวกคุณทุกคนก็จะเข้าร่วมเครือข่ายนั้น จากนั้นเป็นต้นไป คอมพิวเตอร์ของพวกคุณก็จะมองเห็นกันและกันราวกับว่าเชื่อมต่ออยู่บนเครือข่ายท้องถิ่นเดียวกัน แม้ว่าในทางกายภาพแล้วแต่ละคนจะอยู่ในบ้านของตัวเองก็ตาม

ในตัวอย่างทั่วไป โฮสต์จะสร้างเครือข่ายใน Hamachi ในขณะที่ผู้เล่นคนอื่นๆ เข้าร่วมโดยการป้อน ID และรหัสผ่านที่สร้างขึ้น ทุกคนจะเห็นข้อความเช่น "ชื่อพีซี" หรือ "ชื่อแล็ปท็อป" ในรายการของตน พร้อมตัวบ่งชี้สีเขียวเพื่อยืนยันว่าเชื่อมต่อแล้ว ด้วยวิธีนี้ เมื่อเซิร์ฟเวอร์เกมกำลังทำงานอยู่บน Raspberry Pi หรือพีซี ผู้เล่นคนอื่นๆ ก็สามารถเข้าร่วมได้ ให้ใช้ที่อยู่ IP เสมือนที่แสดงโดย Hamachi แทนที่อยู่ IP สาธารณะจริง.

ตรวจสอบประสิทธิภาพของเซิร์ฟเวอร์ Minecraft ของคุณจากอุปกรณ์ Android
บทความที่เกี่ยวข้อง:
ตรวจสอบประสิทธิภาพของเซิร์ฟเวอร์ Minecraft ของคุณจากอุปกรณ์ Android

กรณีศึกษาเชิงปฏิบัติ: การตั้งค่าเซิร์ฟเวอร์ส่วนตัวตัวอย่าง

เพื่อให้เข้าใจแนวคิดเหล่านี้ได้ง่ายขึ้น เราสามารถพิจารณาถึงกระบวนการสร้างสิ่งหนึ่งขึ้นมาได้ เซิร์ฟเวอร์ส่วนตัวในเกมพีซีที่ผู้เล่นเชื่อมต่อผ่าน Hamachiแม้ว่าตัวอย่างคลาสสิกมักจะเป็นเกมอย่าง Project Zomboid แต่หลักการเหล่านี้สามารถนำไปประยุกต์ใช้กับเกมอื่นๆ ที่ใช้ฮาร์ดแวร์เฉพาะได้

อันดับแรก ผู้เล่นทุกคนต้องมี เกมที่ได้มาอย่างถูกกฎหมายและติดตั้งลงในระบบของคุณซึ่งรวมถึงการอัปเดตด้วย และควรเรียกใช้งานสักครั้งเพื่อตรวจสอบว่าทำงานได้อย่างถูกต้อง แนะนำให้ปิดโหมดเต็มหน้าจอเพื่อให้คุณสามารถอ่านคำแนะนำหรือสลับระหว่างหน้าต่างได้โดยไม่พลาดสิ่งที่เกิดขึ้นในพื้นหลัง

ถัดไป กระบวนการนี้จะถูกแบ่งออกเป็นหลายขั้นตอนเชิงตรรกะ ขั้นแรกคือ เครือข่ายเสมือนจริงด้วย Hamachi บนคอมพิวเตอร์ทุกเครื่องที่เข้าร่วมยกเว้นในส่วนของการสร้างเครือข่าย ซึ่งเป็นหน้าที่ของโฮสต์แต่เพียงผู้เดียว ผู้เล่นแต่ละคนดาวน์โหลดโปรแกรม Hamachi เลือกโหมดที่ไม่มีการจัดการจากส่วนกลาง ติดตั้ง และเข้าร่วมเครือข่ายที่สร้างโดยผู้ที่เป็นโฮสต์เซิร์ฟเวอร์

เมื่อทุกคนเชื่อมต่อเข้ากับเครือข่ายเสมือนแล้ว การปรับแต่งก็จะเริ่มต้นขึ้น ตัวเลือกเกมที่เกี่ยวข้องกับการเชื่อมต่อในกรณีของเกมบางเกมที่ผสานรวมกับ Steam อาจจำเป็นต้องเริ่มเกมด้วยพารามิเตอร์พิเศษ (เช่น ตัวเลือก "-nosteam") เพื่อเปิดใช้งานโหมดเซิร์ฟเวอร์เฉพาะ หรือหลีกเลี่ยงความขัดแย้งกับการแสดงผลซ้อนทับของแพลตฟอร์ม

พิธีกรเป็นคนเดียวที่ต้องคัดเลือกผู้เข้าร่วม ไฟล์ปฏิบัติการเซิร์ฟเวอร์รวมอยู่ในเกมแล้วโดยทั่วไปแล้ว การทำเช่นนี้จะเปิดหน้าต่างคอนโซลขึ้นมา ซึ่งคุณจะเห็นเซิร์ฟเวอร์กำลังเริ่มต้นทรัพยากร โหลดการตั้งค่า และหลังจากนั้นไม่กี่วินาที ก็จะแสดงข้อความเช่น "เซิร์ฟเวอร์เริ่มต้นแล้ว" หรือข้อความที่คล้ายกัน นอกจากนี้ โดยปกติแล้วจะมีเครื่องมือสำหรับการตั้งค่า ซึ่งบางครั้งเขียนด้วยภาษา Java โดยคุณสามารถปรับรายละเอียดของเซิร์ฟเวอร์ได้ เช่น ว่าจะหยุดชั่วคราวเมื่อเซิร์ฟเวอร์ว่างเปล่าหรือไม่ ชื่อโลก กฎของเกม และอื่นๆ

ลำดับขั้นตอนโดยทั่วไปประกอบด้วย ปรับค่าพารามิเตอร์ บันทึกการตั้งค่า แล้วรีสตาร์ทเซิร์ฟเวอร์ เพื่อให้สามารถอ่านการเปลี่ยนแปลงเหล่านั้นได้ และหลังจากนั้นจึงเปิดโปรแกรมเกม จากเมนูหลัก โฮสต์จะเข้าสู่ส่วนออนไลน์ เลือกตัวเลือกในการสร้างหรือเข้าร่วมเซิร์ฟเวอร์ท้องถิ่นของตนเอง และสร้างโลกหรือตัวละครที่จะใช้ในเซสชันนั้น

เพื่อให้ผู้เล่นคนอื่นเข้าร่วม เจ้าบ้านจะส่ง "..." ให้พวกเขา ที่อยู่ IP เสมือนที่ Hamachi กำหนดให้กับคุณบนเครือข่ายส่วนตัวให้เพื่อนคัดลอกที่อยู่ IPv4 จากหน้าต่างโปรแกรมของตนเอง (คัดลอกที่อยู่ IPv4) แล้ววางลงในช่อง IP ของเมนูออนไลน์ของเกม แทนที่อยู่ IP ในเครือข่าย LAN หรือ IP สาธารณะ วิธีนี้จะทำให้ทุกคนเชื่อมต่อกับเซิร์ฟเวอร์เดียวกันเสมือนอยู่ในห้องเดียวกัน

คู่มือประเภทนี้มักจะระบุข้อจำกัดบางประการด้วย เช่น การแก้ไขการตั้งค่าเซิร์ฟเวอร์นั้น คุณต้องเปลี่ยนพารามิเตอร์ในเครื่องมือที่เกี่ยวข้อง บันทึก และรีสตาร์ทเซิร์ฟเวอร์และเกม หรืออื่นๆ การรีเซ็ตโลกใหม่ทั้งหมดนั้นไม่ใช่เรื่องง่ายเสมอไป และเริ่มต้นใหม่ตั้งแต่ต้นโดยไม่ต้องลบโฟลเดอร์บันทึกเกมด้วยตนเอง นอกจากนี้ กระบวนการเหล่านี้จำนวนมากมักถูกรวมเข้ากับการทำงานที่สะดวกกว่าภายในแพลตฟอร์มต่างๆ เช่น Steam ทำให้คู่มือแบบแมนนวลค่อนข้างล้าสมัยในเวอร์ชันใหม่ๆ

จะนำสิ่งเหล่านี้ทั้งหมดมาใส่ไว้ในเกม Android ได้อย่างไร

หากคุณกำลังพัฒนาเกมแบบผู้เล่นหลายคนสำหรับ Android และสงสัยว่าจะเปิดใช้งานการให้ผู้เล่นเข้าร่วมการแข่งขันออนไลน์ได้อย่างไร หลักการพื้นฐานจะเหมือนกับตัวอย่างก่อนหน้านี้ คุณต้องตัดสินใจว่าสถาปัตยกรรมของคุณจะขึ้นอยู่กับอะไร เซิร์ฟเวอร์เฉพาะที่แอปพลิเคชันมือถือเชื่อมต่อ หรือหากคุณเลือกใช้ระบบแบบ Peer-to-Peer ที่โทรศัพท์มือถือแต่ละเครื่องสื่อสารกันโดยตรง

หากคุณเลือกใช้เซิร์ฟเวอร์เฉพาะ Raspberry Pi สามารถทำหน้าที่เป็นสภาพแวดล้อมการทดสอบที่สมบูรณ์แบบได้ เนื่องจากคุณสามารถใช้งานตรรกะของเซิร์ฟเวอร์ใน Java, Python, Node.js หรือแอปพลิเคชันใดก็ตามที่คุณใช้ และให้โทรศัพท์ Android ของคุณชี้ไปยังที่อยู่ IP ของ Pi ในเครือข่าย LAN นั้นไม่มีอะไรซับซ้อนมากนัก และในการทดสอบการเชื่อมต่อจากภายนอก คุณสามารถใช้การส่งต่อพอร์ตหรือ VPN เช่น Hamachi ได้เช่นเดียวกับที่คุณใช้กับเกมพีซี

หากคุณเลือกใช้วิธีการแบบ peer-to-peer โค้ดของคุณจะต้อง... จัดการการค้นหาผู้เล่นรายอื่น การแลกเปลี่ยนข้อมูลโดยตรง และการแก้ไขข้อขัดแย้ง เมื่อการกระทำสองอย่างเกิดขึ้นเกือบพร้อมกัน วิธีนี้ช่วยให้คุณไม่ต้องดูแลเซิร์ฟเวอร์ส่วนกลาง แต่ทำให้การเขียนโปรแกรมและความปลอดภัยซับซ้อนขึ้น โดยเฉพาะอย่างยิ่งหากคุณต้องการให้ระบบมีความแข็งแกร่งต่อการโกง

อย่างไรก็ตาม การเข้าใจว่าเกมอื่นๆ จัดการการเข้าถึงอย่างไรนั้นเป็นสิ่งสำคัญ เซิร์ฟเวอร์ส่วนตัว เครือข่ายจำลองแบบ Hamachi การส่งต่อพอร์ต และโดเมนที่เกี่ยวข้อง มันจะช่วยให้คุณมีแผนผังความคิดที่ค่อนข้างชัดเจน จากนั้น การปรับใช้รูปแบบเหล่านั้นกับ Android และ Raspberry Pi ของคุณจะเป็นเรื่องของการเลือกเทคโนโลยีที่เหมาะสมและการปรับแต่งรายละเอียดการใช้งาน

ปรับใช้ Linux
บทความที่เกี่ยวข้อง:
บทแนะนำการใช้งาน Linux Deploy: วิธีการโฮสต์เว็บเซิร์ฟเวอร์บนโทรศัพท์มือถือของคุณ

โดยสรุปแล้ว การตั้งค่าเซิร์ฟเวอร์เกม Android ด้วย Raspberry Pi นั้นก็คือการนำส่วนประกอบที่คุ้นเคยหลายอย่างมารวมกัน: เครื่องที่เปิดใช้งานอยู่ตลอดเวลาและทำหน้าที่เป็นเซิร์ฟเวอร์ เกมแบบผู้เล่นหลายคน หรือตรรกะที่สามารถสื่อสารกับเซิร์ฟเวอร์นั้นได้ วิธีการที่ช่วยให้ไคลเอนต์ค้นหาที่อยู่ (IP หรือโดเมน) ที่ถูกต้อง และหากจำเป็น เครื่องมือต่างๆ เช่น VPN หรือการส่งต่อพอร์ตเพื่อหลีกเลี่ยงเราเตอร์ถ้าคุณเข้าใจแนวคิดเหล่านี้แล้ว ที่เหลือก็แค่การปรับแต่ง ทดสอบ และเล่นกับเพื่อนๆ เพื่อให้แน่ใจว่าทุกอย่างใช้งานได้ดี แชร์คู่มือนี้เพื่อช่วยให้ผู้ใช้คนอื่นๆ สร้างเซิร์ฟเวอร์เกมบน Android ได้มากขึ้น