วิธีเปิด PMA Voice แยก

ในการเปิดให้บริการ Server GTA V เมื่อมีผู้เล่นเพิ่มมากขึ้น อาจพบปัญหาด้านประสิทธิภาพของเซิร์ฟเวอร์หลักที่ต้องรับภาระมากเกินไป เพื่อแก้ไขปัญหานี้ นักพัฒนา (Developer) หลายท่านจึงเลือกใช้วิธีการกระจายโหลด (Load Balancing) โดยแยกบางบริการ เช่น ฐานข้อมูล (Database) หรือใช้ Reverse Proxy ผ่าน Nginx ไปยังเซิร์ฟเวอร์อื่น

ใน Knowledge Base ฉบับนี้ เราขอแนะนำแนวทางการแยก PMA Voice Server ออกจาก FxServer หลักเพื่อช่วยลดภาระของเซิร์ฟเวอร์หลัก

ภาพนี้เป็นภาพ การแลกเปลี่ยนข้อมูลแบบ FxServer ปกติที่มี Voice Server รวมอยู่แล้ว

หากแยกแล้วจะเป็นดั่งภาพนี้

การแยก PMA Voice สามารถทำได้ทั้งในเครื่องเดียวกัน (แยก Process) หรือแยกออกไปเป็นคนละเครื่อง

สิ่งที่ต้องการ

  1. License Key สำหรับ FxServer Voice ต้องมี slot เท่ากับ FxServer หลัก แต่หากถ้าใช้รันแยกภายในเครื่องเดียวกัน สามารถใช้ License Key เดียวกันได้

ขั้นตอนในการแยก

  1. สร้าง Folder สำหรับ FxServer Voice โดยไม่ต้องใส่ resource ใดๆ
  2. Config ข้อมูลใน FxServer Voice เพิ่มเติมดังนี้
    • sv_maxclients [slot]
      • ตั้งให้เท่า FxServer หลักเพื่อ allow slot สำหรับเสียง
    • sv_licenseKey [key]
      • ตั้งเป็น License Key ที่หามาจากข้อ 1 ในสิ่งที่ต้องการ
    • voice_externalDisallowJoin 1
      • ไม่ให้คน join เข้ามาเล่นในเมืองที่ FxServer Voice
    • endpoint_add_tcp “[ip]:[port]”
      • ในเครื่องเดียวกันต้องตั้ง port ให้ต่างจาก FxServer หลักแต่ถ้าแยกเครื่องใช้ port เดียวกันได้
    • endpoint_add_udp “[ip]:[port]”
      • ในเครื่องเดียวกันต้องตั้ง port ให้ต่างจาก FxServer หลักแต่ถ้าแยกเครื่องใช้ port เดียวกันได้
  3. Config ข้อมูลใน FxServer Main เพิ่มเติมดังนี้
    • voice_externalAddress [external ip]
      • ใส่ไอพีที่ FxServer Voice รันอยู่ ถ้าเป็นเครื่องเดียวกันให้ใส่ไอพีเครื่องเดียวกัน หาก แยกไปคนละเครื่องให้ใส่ไอพีเครื่อง Voice
    • voice_externalPort [external port]
      • ใส่ port ที่ FxServer Voice รันอยู่

ทดสอบ

  • เมื่อเข้าไปแล้วต้องสามารถพูดคุยสื่อสารได้
  • หากเปิด debug log ควรจะเห็น client connect voice ไปที่ไอพี voice server
  • ใน voice server มี Traffic การใช้งาน

เท่านี้ก็สามารถแยก Voice ออกจาก server หลักเพื่อลด load ได้แล้วครับ

Was this article helpful?