กลับไป เครื่องมือ
ระบบออนไลน์และแบ็กเอนด์

Godot: High-level Multiplayer

โดย Godot contributors

เริ่ม host/client และ RPC ใน Godot พร้อมเงื่อนไข NodePath, authority และข้อจำกัด transport บนเว็บ

guide
client ส่งคำขอเคลื่อนที่ไปยัง server จากนั้นตรวจผู้ส่ง สิทธิ์ และข้อมูล อัปเดต state ที่เป็น authoritative เฉพาะคำขอที่ถูกต้อง และปฏิเสธ input ที่ไม่ถูกต้อง
ตัวอย่างการออกแบบ RPC แบบ server-authoritative สมมติ โดยกฎตรวจสอบและการส่ง state ที่ยอมรับขึ้นอยู่กับเกม ภาพอธิบายต้นฉบับจัดทำสำหรับ GameSlash โดยมี AI ช่วยสร้าง ให้เครดิตเอกสารเฉพาะในฐานะแหล่งข้อเท็จจริง ไม่ได้นำภาพต้นฉบับมาใช้ แหล่งแนวคิด

เหมาะกับ: prototype co-op ที่ต้องกำหนดให้ชัดว่า server ตัดสิน state ใด

เริ่มทีละขั้น: 1) สร้าง ENetMultiplayerPeer เป็น server/client แล้วกำหนดให้ MultiplayerAPI 2) ทดลอง RPC บน node path และประกาศ RPC ที่ตรงกัน 3) เพิ่มการจัดการเชื่อมต่อ/หลุดตามตัวอย่าง lobby

peer ฝั่ง server และ client มีลำดับ node สมมติเหมือนกันคือ root, World, Player และ path /root/World/Player ตรงกัน พร้อมย้ำว่า RPC declarations ต้องสอดคล้องกัน
ตัวอย่างข้อกำหนดเรื่อง node path ที่ตรงกัน โดยทั้งสอง peer ต้องมี RPC declarations และ signatures สอดคล้องตามเอกสาร Godot ด้วย ภาพอธิบายต้นฉบับจัดทำสำหรับ GameSlash โดยมี AI ช่วยสร้าง ให้เครดิตเอกสารเฉพาะในฐานะแหล่งข้อเท็จจริง ไม่ได้นำภาพต้นฉบับมาใช้ แหล่งแนวคิด

ลองตรวจ: เปิด host/client แยกกัน ตรวจกรณีเชื่อมต่อไม่สำเร็จ หลุด และข้อมูลจาก client ที่ไม่ควรยอมรับ

ข้อควรรู้: เว็บไม่มี raw TCP/UDP แบบ native ต้องใช้ transport ที่รองรับ เช่น WebSocket/WebRTC การใส่ RPC ไม่ได้ทำให้ข้อมูลเชื่อถือได้เอง ต้องตรวจสิทธิ์และข้อมูลของเกมก่อนเผยแพร่

อ่านต้นฉบับ: Official guide

ดูแหล่งที่มา