วิธีแก้ “Failed to connect after 3 attempts” ใน FiveM
ข้อผิดพลาดนี้หมายความว่าไคลเอนต์ FiveM พยายามติดต่อเซิร์ฟเวอร์สามครั้งแล้วไม่ได้คำตอบที่ใช้ได้ บางครั้งปัญหาอยู่ฝั่งผู้เล่น บางครั้งอยู่ที่เซิร์ฟเวอร์ นี่คือวิธีดูว่าเป็นฝั่งไหน และวิธีแก้ทั้งสองฝั่ง
ข้อผิดพลาดนี้หมายความว่าอะไร
เมื่อคุณเข้าเกม ไคลเอนต์ FiveM จะขอข้อมูลเซิร์ฟเวอร์ผ่าน HTTP บนพอร์ตเกมก่อน ซึ่งค่าเริ่มต้นคือ 30120 แล้วจึงเชื่อมต่อกับตัวเกม หากคำขอแรกเหล่านี้หมดเวลาหรือถูกปฏิเสธสามครั้งติดกัน FiveM จะยอมแพ้และแสดงข้อผิดพลาดนี้ มีบางอย่างระหว่างผู้เล่นกับพอร์ตของเซิร์ฟเวอร์ที่ไม่ตอบกลับ
เห็น “Failed to fetch server variables” หรือรหัส CURL เช่น 28 หรือ 7 ไหม อ่าน คู่มือข้อผิดพลาด CURL ของ FiveM รหัส HTTP เช่น 502 หรือ 503 อ่าน คู่มือ “Failed handshake to server”
การตรวจเช็กด่วนสำหรับผู้เล่น
- ตรวจว่าเซิร์ฟเวอร์ออนไลน์อยู่ ค้นหาในรายการเซิร์ฟเวอร์ หรือถามใน Discord ของคอมมูนิตี้ว่าคนอื่นเข้าได้ไหม
- เชื่อมต่อโดยตรง กด F8 ใน FiveM แล้วพิมพ์
connect ip:portตามที่อยู่ที่เจ้าของเซิร์ฟเวอร์ให้มา - ปิด VPN หรือพร็อกซี VPN บางตัวบล็อกหรือทำให้พอร์ตที่ FiveM ใช้ช้าลง
- ล้างแคชของ FiveM ปิด FiveM เปิด
%localappdata%\FiveM\FiveM.app\dataแล้วลบโฟลเดอร์cache,server-cacheและserver-cache-privเก็บgame-storageไว้ ไม่เช่นนั้น FiveM ต้องดาวน์โหลดข้อมูลเกมใหม่ - ลองเครือข่ายอื่น รีสตาร์ทเราเตอร์หรือใช้ฮอตสปอตมือถือ ถ้าใช้ได้ แปลว่าเส้นทางของ ISP ไปยังเซิร์ฟเวอร์คือปัญหา
- ตรวจไฟร์วอลล์และแอนติไวรัส ซอฟต์แวร์ความปลอดภัยบางครั้งบล็อกการเชื่อมต่อของ FiveM
วิธีแก้สำหรับเจ้าของเซิร์ฟเวอร์
ถ้าผู้เล่นหลายคนเจอข้อผิดพลาดพร้อมกัน ปัญหาเกือบทั้งหมดอยู่ที่ฝั่งเซิร์ฟเวอร์
1. ตรวจว่าเซิร์ฟเวอร์กำลังรอรับการเชื่อมต่อ
ใน server.cfg เซิร์ฟเวอร์ควรรอรับ TCP และ UDP บนพอร์ตเดียวกัน:
endpoint_add_tcp "0.0.0.0:30120" endpoint_add_udp "0.0.0.0:30120"
ตรวจคอนโซลหาข้อผิดพลาดหลังเริ่มเซิร์ฟเวอร์ และดูว่า txAdmin แสดงเซิร์ฟเวอร์ว่าออนไลน์
2. เปิดพอร์ตในทุกไฟร์วอลล์
อนุญาตพอร์ต 30120 ทั้ง TCP และ UDP ในไฟร์วอลล์ของระบบปฏิบัติการและไฟร์วอลล์ที่โฮสต์ของคุณมีให้ กฎ TCP ที่ขาดไปทำให้เกิดข้อผิดพลาดนี้ตรงๆ เพราะขั้นแรกของการเข้าเกมใช้ TCP บน Linux ที่ใช้ ufw:
sudo ufw allow 30120/tcp sudo ufw allow 30120/udp
3. ตรวจที่อยู่ที่ผู้เล่นใช้
ถ้าคุณเปลี่ยนพอร์ต หรือวางเซิร์ฟเวอร์ไว้หลังพร็อกซีหรือบริการป้องกัน DDoS ตรวจให้แน่ใจว่าผู้เล่นและรายการเซิร์ฟเวอร์ได้ที่อยู่ที่ถูกต้อง การตั้งค่าอย่าง sv_endpoints และ sv_listingHostOverride ต้องตรงกับที่อยู่ที่ผู้เล่นเข้าถึงได้จริง
4. หาอาการ hitch ของเซิร์ฟเวอร์
เธรดเซิร์ฟเวอร์ที่โหลดหนักอาจตอบช้าเกินไปขณะผู้เล่นเข้าเกม ดูคำเตือน hitch ในคอนโซล โดยเฉพาะหลังรีสตาร์ท และหารีซอร์สที่เป็นต้นเหตุด้วยโปรไฟเลอร์ในตัว (profiler record)
5. ตรวจการกรอง DDoS
ระบบกรองหน้าเซิร์ฟเวอร์ต้องอนุญาตทราฟฟิก FiveM ทั้ง TCP และ UDP ถ้ามีกฎที่ทิ้งคำขอ HTTP บนพอร์ตเกม ผู้เล่นจะเห็นข้อผิดพลาดนี้แม้เซิร์ฟเวอร์ทำงานอยู่
ยังแก้ไม่ได้?
จดเวลาที่เกิดข้อผิดพลาด ที่อยู่ IP ของผู้เล่น และภาพหน้าจอ ด้วยข้อมูลเหล่านี้ โฮสต์ของคุณจะตรวจล็อกและเห็นได้ว่าการเชื่อมต่อหยุดตรงไหน
โฮสต์เซิร์ฟเวอร์ FiveM ของคุณในสิงคโปร์
ปิงต่ำสำหรับผู้เล่นในอินเดีย มาเลเซีย และอินโดนีเซีย บน AMD EPYC พร้อม NVMe และการป้องกัน DDoS จาก Gcore บนทุก IP
