Skip to main content

azael_dc-serverlogs

คำถามที่พบบ่อยเกียวกับวิธีแก้ไขปัญหาของทรัพยากร azael_dc-serverlogs

วิธีแก้ไข "event [name] was not safe for net"

หาก Server Console แสดงข้อความ event [name] was not safe for net จาก azael_dc-serverlogs สาเหตุเกิดจาก มีการใช้งาน รหัสส่งข้อมูลในเวอร์เวอร์ที่ล้าสมัย ทางฝั่ง Client และ มีความจำเป็นที่จะต้องดำเนินการแก้ไขเป็น รหัสส่งข้อมูลในรูปแบบใหม่

Server Console
[script:azael_dc-serverlogs] event azael_dc-serverlogs:sendToDiscord was not safe for net
[script:azael_dc-serverlogs] event azael_dc-serverlogs:insertData was not safe for net
[script:azael_dc-serverlogs] event azael_discordlogs:sendToDiscord was not safe for net

วิธีการค้นหาและแก้ไข

ตัวอย่างการแก้ไขรหัส

ก่อนแก้ไข
local sendToDiscord = '' .. GetPlayerName(PlayerId()) .. ' ซื้อรถ ' .. vehicleData.model .. ' ทะเบียน ' .. vehicleProps.plate .. ' ราคา $' .. ESX.Math.GroupDigits(vehicleData.price) ..''
TriggerServerEvent('azael_dc-serverlogs:sendToDiscord', 'BuyVehicle', sendToDiscord, GetPlayerServerId(PlayerId()), 2)
หลังแก้ไข
local sendToDiscord = '' .. GetPlayerName(PlayerId()) .. ' ซื้อรถ ' .. vehicleData.model .. ' ทะเบียน ' .. vehicleProps.plate .. ' ราคา $' .. ESX.Math.GroupDigits(vehicleData.price) ..''
-- TriggerServerEvent('azael_dc-serverlogs:sendToDiscord', 'BuyVehicle', sendToDiscord, GetPlayerServerId(PlayerId()), 2)

pcall(function()
exports['azael_dc-serverlogs']:insertData({
event = 'BuyVehicle',
content = sendToDiscord,
color = 2
})
end)
tip

รหัสส่งข้อมูลทางฝั่ง Client ไม่ต้องกำหนด source เพื่อรับ ID ของผู้เล่นปัจจุบัน ยกเว้นในกรณีที่ต้องการรับ ID ของผู้เล่นที่มีปฏิสัมพันธ์กับผู้เล่นปัจจุบัน (ดูข้อมูลเพิ่มเติม)

Discord Webhook ไม่ทำงาน (ดับทั้งหมด)

ไม่มีข้อมูลส่งมายังกลุ่ม Discord และ Webhooks ไม่ทำงาน (ดับทั้งหมด) สาเหตุนี้เกิดจากเครื่องเซิร์ฟเวอร์ของคุณกำลังถูก Discord ระงับการใช้งาน API (ติดสถานะ 429 - Global Rate Limit) ซึ่งสาเหตุเกิดมาจากทรัพยากรภายในเซิร์ฟเวอร์ของคุณมีการใช้งาน Discord API ที่ไม่เป็นไปตามเงื่อนไขการใช้งาน Rate Limits ของ Discord

tip

คุณสามารถตรวจสอบว่าเซิร์ฟเวอร์ของคุณกำลังติดสถานะ 429 - Global Rate Limit อยู่หรือไม่ได้ดังนี้

  1. เปิด Web Browser ผ่านเครื่องเซิร์ฟเวอร์ที่คุณใช้งาน
  2. ไปยัง https://discord.com/api/ เพื่อดำเนินการตรวจสอบ

สามารถใช้งาน API ได้ตามปกติ

{"code": 0,"message": "404: Not Found"}

กำลังติดสถานะ 429 - Global Rate Limit

{"code": 0,"message": "You are being blocked from accessing our API temporarily due to exceeding our rate limits frequently."}

ขีดจำกัดการใช้งาน Discord Webhook

ขีดจำกัดอัตราการใช้งาน Webhooks ในปัจจุบัน ภายใน 1 ช่อง จะสามารถรับคำขอต่อเนื่องได้เพียง 5 คำขอ ต่อ 2 วินาที และ สามารถรับคำขอสูงสุดได้เพียง 30 คำขอ ต่อ 1 นาที เท่านั้น หากมีการส่งคำขอมาเกิน Rate Limits อาจจะส่งผลให้เซิร์ฟเวอร์ของคุณติดสถานะ 429 - Global Rate Limit ได้

Webhook Rate Limit

ขีดจำกัดการใช้งาน Discord API ทั้งหมด (Global)

Global Rate Limit สำหรับการใช้งาน API ทั้งหมด จะอยู่ที่ 10,000 คำขอ ต่อ 10 นาที และ IP Address ที่สร้างคำขอ HTTP ที่ไม่ถูกต้องมากเกินไป จะถูกจำกัดไม่ให้เข้าถึง API ของ Discord

tip

หากคุณประสบปัญหาการถูกแบนโดย CloudFlare ซ้ำๆ จาก Discord API ภายในการทำงานปกติ คุณสามารถติดต่อฝ่ายสนับสนุนเพื่อดูว่าคุณมีสิทธิ์ได้รับขีดจำกัดอัตราทั่วโลกที่เพิ่มขึ้นหรือไม่ คุณสามารถติดต่อฝ่ายสนับสนุนของ Discord ได้ที่ https://dis.gd/contact