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

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