Webhook ทั้งหมดอยู่ฝั่ง Server และถูกส่งผ่าน Queue เพื่อไม่ให้ HTTP request บล็อก Gameplay Thread
ตั้งค่า#
แก้เฉพาะไฟล์ config/server/discord_logs.lua
lua
Config.DiscordLogs.Enabled = true
Config.DiscordLogs.Webhooks.bank = 'https://discord.com/api/webhooks/...'
Config.DiscordLogs.Webhooks.jail = 'https://discord.com/api/webhooks/...'
Config.DiscordLogs.Webhooks.cases = 'https://discord.com/api/webhooks/...'ห้ามย้าย Webhook ไป Shared Config
config/shared/* ถูก Client อ่านได้ แต่ config/server/discord_logs.lua โหลดเฉพาะ Server
Events ที่เชื่อมไว้#
bank_transferwelfare_transferwelfare_batchpersonnel_rankpersonnel_dismisscase_createdinmate_releasedmailbox_claimpolice_reportdev_reportagency_shop_purchaserollback_failure
Server API#
lua
exports['ks_police']:DiscordLog({
event = 'police_report',
source = source,
title = 'Custom server log',
description = 'รายละเอียด',
fields = {
{ name = 'Action', value = 'Example', inline = true }
}
})Screenshot#
Event ที่เปิด Screenshot = true จะใช้ screenshot-basic ผ่าน Server bridge หาก Screenshot ล้มเหลวระบบยังส่งข้อความ Log ต่อโดยไม่บล็อก Gameplay
Queue / Retry#
- Discord 429 เคารพ Retry-After
- 5xx / Network failure ใช้ Exponential Retry
- มี per-webhook pacing
- Queue เต็มจะลด Priority งานที่ไม่สำคัญก่อน