Skip to content

🛡️ Sentry Anti-Cheat (v2.0.0)

ข้อมูลระบบ

  • Framework: Standalone (รองรับทั้ง ESX, QBCore, Qbox และ Standalone ทั่วไป)
  • Game Support: GTA V (FiveM) และ RedM (prerelease)
  • Version: 2.0.0
  • Dependencies: oxmysql (จำเป็น), screenshot-basic (แนะนำ — ใช้สำหรับถ่ายภาพหน้าจอก่อนแบน)
  • Developer: AFU (Jaypark) — https://awayfromus.store/

Sentry คือระบบรักษาความปลอดภัยและป้องกันการโกงขั้นสูงสำหรับ FiveM และ RedM ที่ออกแบบมาเพื่อปกป้องเซิร์ฟเวอร์ของคุณจากผู้ไม่ประสงค์ดี ตรวจจับการยิง Server Event ปลอม, การเสกและสแปม Entity (ยานพาหนะ, NPC, วัตถุ), การสร้างความเสียหายด้วยระเบิด, Particle Effects, Noclip, Speed Hack และ Freecam

ในเวอร์ชัน V2.0.0 มาพร้อมกับฟังก์ชันใหม่ที่ทรงพลัง เช่น แผงควบคุมแอดมิน (Admin Panel NUI), ระบบตรวจสอบวัตถุ 3D (Entity Inspector), และ ระบบดูหน้าจอผู้เล่นสดผ่าน WebRTC (Live Screen Stream) พร้อมทั้งระบบจัดเก็บประวัติการแบน (Global Database) และส่งรายงานแจ้งเตือนเข้า Discord Webhook ทันที

คำเตือนเรื่องลิขสิทธิ์

Resource นี้จำเป็นต้องมี License ที่ถูกต้องจากการซื้อกับผู้พัฒนาเท่านั้น ห้ามแจกจ่าย คัดลอก ดัดแปลง หรือนำไปจำหน่ายต่อโดยไม่ได้รับอนุญาต


🚀 ฟังก์ชันเด่นในเวอร์ชัน V2 (V2 Highlights)

  1. 📊 Sentry Admin Dashboard (NUI Panel):

    • แผงควบคุมแบบ Web-based ทันสมัย เปิดใช้งานผ่านคำสั่ง /sty.panel หรือ /sentrypanel
    • ดูรายชื่อผู้เล่นที่กำลังออนไลน์แบบเรียลไทม์ พร้อม Server ID และ Steam Hex
    • สั่ง Ban, Unban หรือ Kick ผู้เล่นได้โดยตรงจากหน้าจอ
    • ระบบ Activity Feed แสดงบันทึกเหตุการณ์การตรวจจับและบทลงโทษแบบสด
  2. 🔍 Entity 3D Raycast Inspector (/sty.check):

    • โหมดสแกนวัตถุในโลก 3 มิติ พร้อมลำแสงเลเซอร์ (Laser Guide Line) และกรอบ Bounding Box
    • คลิกเพื่อดูรายละเอียดเชิงลึกของ Entity (Model Name, Hash, Health, Coordinates, Network ID, เจ้าของ Entity)
    • ช่วยให้แอดมินตรวจสอบรถหรือพร็อพที่ถูกเสกมาป่วนเมืองได้อย่างรวดเร็ว
  3. 🎥 Realtime Live Screen Stream (WebRTC):

    • ส่องดูหน้าจอของผู้เล่นต้องสงสัยได้แบบเรียลไทม์ผ่าน WebRTC ร่วมกับ Cloudflare TURN Server คุณภาพสูง
    • ปรับแต่งความละเอียดและ FPS ได้ตามต้องการใน Config
  4. ⚡ Automatic Resource Protection:

    • ระบบจะช่วยเชื่อมต่อระบบป้องกันเข้าสู่ Resource อื่นๆ ภายในเซิร์ฟเวอร์โดยอัตโนมัติ โดยที่ผู้ดูแลไม่ต้องเข้าไปแก้โค้ดทีละสคริปต์

🛠️ การติดตั้ง (Installation)

1. การวางโฟลเดอร์

นำโฟลเดอร์ sentry ไปวางไว้ในไดเรกทอรี resources/ ของเซิร์ฟเวอร์:

text
resources/
└── sentry/
    ├── config/          ← โฟลเดอร์ตั้งค่าทั้งหมด (แก้ไขได้ตามต้องการ)
    ├── database.sql     ← ไฟล์ฐานข้อมูล MySQL
    ├── fxmanifest.lua
    ├── web/             ← ไฟล์ระบบหน้าต่าง UI แอดมิน
    └── ...

2. ติดตั้ง Resource ที่จำเป็น (Dependencies)

  • oxmysqlจำเป็น ใช้สำหรับบันทึกและตรวจสอบรายชื่อผู้เล่นที่ถูกแบน
  • screenshot-basicแนะนำ ใช้สำหรับบันทึกภาพหน้าจอของผู้กระทำผิดก่อนลงโทษแบน (หากไม่ติดตั้ง ระบบจะแบนโดยไม่มีภาพแนบ)

3. นำเข้าฐานข้อมูล (Database Setup)

Import ไฟล์ database.sql เข้าสู่ฐานข้อมูล MySQL ของคุณ:

sql
DROP TABLE IF EXISTS `sentry_ban_list`;
CREATE TABLE IF NOT EXISTS `sentry_ban_list` (
  `steamid` char(22) DEFAULT 'ไม่พบ',
  `license` varchar(60) DEFAULT 'ไม่พบ',
  `ip` varchar(60) DEFAULT 'ไม่พบ',
  `discord` varchar(60) DEFAULT 'ไม่พบ',
  `reason` longtext DEFAULT 'ไม่พบ',
  `at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

4. การเปิดใช้งานใน server.cfg

เพิ่มคำสั่งเริ่มการทำงานใน server.cfg โดยจัดลำดับให้ sentry เริ่มทำงานหลัง oxmysql:

text
ensure oxmysql
ensure sentry

การติดตั้งระบบป้องกันอัตโนมัติ

เมื่อเริ่มเซิร์ฟเวอร์ครั้งแรก ระบบจะทำการเชื่อมโยงการป้องกันเข้ากับ Resource อื่นๆ อัตโนมัติ หากต้องการติดตั้งซ้ำหรืออัปเดตสคริปต์ใหม่ สามารถพิมพ์คำสั่ง /sentry.install หรือ /sty.install ใน Console ได้ตลอดเวลา


⚙️ คู่มือการตั้งค่า Config (Configuration Guide)

IMPORTANT

ให้ปรับแต่งการทำงานของระบบผ่านไฟล์ในโฟลเดอร์ config/ เท่านั้น เพื่อความปลอดภัยและความเสถียรสูงสุดของระบบ

text
config/
├── env.config.lua              ← การตั้งค่าระบบหลักและ Webhook
├── permission.config.lua       ← สิทธิ์ผู้ดูแลระบบ (Admin Steam Hex)
├── protectevent.config.lua     ← รายชื่อ Server Event ที่ต้องการปกป้อง
├── shared_allow.config.lua     ← รายชื่อไฟล์สคริปต์ที่อนุญาตเป็นพิเศษ
├── ignore_install.config.lua   ← รายชื่อ Resource ที่ยกเว้นการติดตั้ง
├── logger.config.lua           ← การตั้งค่าบันทึกประวัติ (Logs)
├── debug.config.lua            ← โหมดตรวจสอบข้อมูล (Debug)
├── dev.config.lua              ← โหมดสำหรับนักพัฒนาทดสอบ
├── queries.config.lua          ← โครงสร้างคำสั่งฐานข้อมูล
└── Internal/                   ← การตั้งค่าระบบตรวจจับการโกงแต่ละประเภท
    ├── AntiPedSpawn.lua        ← ป้องกันการเสก NPC / ตัวละคร
    ├── AntiVehicleSpawn.lua    ← ป้องกันการเสกรถและสแปมรถ
    ├── AntiPropSpawn.lua       ← ป้องกันการเสกวัตถุ / พร็อพ
    ├── Explosion.lua           ← ป้องกันระเบิดและสแปมระเบิด
    ├── PtFx.lua                ← ป้องกันสแปม Particle Effect
    ├── AntiFreecam.lua         ← ป้องกันการบินกล้อง Freecam
    └── AntiNoclip.lua          ← ป้องกันการใช้ Noclip และ Speed Hack

1. config/env.config.lua — การตั้งค่าระบบหลัก

ไฟล์นี้ใช้สำหรับกำหนดการส่งแจ้งเตือน, การถ่ายภาพหน้าจอ และการสตรีมภาพสด

ตัวแปรชนิดข้อมูลค่าเริ่มต้นคำอธิบาย
Env.secretLengthnumber8ความยาวของรหัสความปลอดภัยสำหรับการตรวจสอบความถูกต้อง — แนะนำให้คงค่าเริ่มต้นไว้
Env.discordWebhookstring""ลิงก์ Discord Webhook สำหรับรับการแจ้งเตือนเมื่อตรวจจับผู้กระทำผิดได้ (ใส่ URL ของ Webhook ที่สร้างจาก Discord)
Env.screenshotBeforeBanbooleantruetrue = ถ่ายภาพหน้าจอก่อนแบนผู้เล่น, false = แบนทันทีโดยไม่ถ่ายภาพ
Env.screenshotTimeoutnumber5000ระยะเวลารอภาพหน้าจอ (มิลลิวินาที) หากเกินเวลานี้ระบบจะดำเนินการลงโทษทันที
Env.liveStreambooleantrueเปิด/ปิดระบบส่องดูหน้าจอสด (Live View) ใน Admin Panel
Env.liveStreamWidthnumber1280ความกว้างของภาพสตรีม (พิกเซล)
Env.liveStreamHeightnumber720ความสูงของภาพสตรีม (พิกเซล)
Env.liveStreamFpsnumber30อัตราเฟรมเรตของภาพสตรีม (FPS)

2. config/permission.config.lua — สิทธิ์ผู้ดูแลระบบ

กำหนดว่าใครสามารถใช้งานคำสั่งแอดมิน (/sty.ban, /sty.check, เปิดแผง /sty.panel, และดูหน้าจอสด)

lua
Permission = {}

Permission.admins = {
    ['steam:1100001xxxxxxxx'] = true, -- ใส่ Steam HEX ID ของแอดมิน
    ['steam:1100001yyyyyyyy'] = true,
}

วิธีหา Steam HEX ID

สามารถดูได้จากคอนโซลของเซิร์ฟเวอร์เมื่อผู้เล่นเชื่อมต่อ หรือใช้เว็บไซต์แปลง Steam ID เช่น steamid.pro


3. config/protectevent.config.lua — การปกป้อง Server Event

กำหนด Event ฝั่ง Server ที่มีความสำคัญ เช่น การเพิ่มเงิน, การเบิกไอเทม, การเปลี่ยนอาชีพ หรือการซื้อของ เพื่อป้องกันไม่ให้ผู้เล่นยิง Event มาจากโปรแกรมโกง

lua
SENTRY_PROTECT_SERVER_EVENT_LIST = {
    ['esx:giveInventoryItem'] = true,
    ['esx_billing:sendBill'] = true,
    ['my_banking:transferMoney'] = true,
}

return SENTRY_PROTECT_SERVER_EVENT_LIST

วิธีค้นหา Event สำคัญในเซิร์ฟเวอร์

คุณสามารถพิมพ์คำสั่ง /sty.save server_event ใน Console เพื่อให้ระบบส่งออก Event ทั้งหมดที่ตรวจพบในเซิร์ฟเวอร์มาให้ แล้วจึงเลือก Event ที่สำคัญมาใส่ในไฟล์นี้


4. config/shared_allow.config.lua — อนุญาตสคริปต์ Shared

รายการไฟล์สคริปต์ที่อนุญาตให้ทำงานเป็นกรณีพิเศษ เช่น ไลบรารีกลางของเซิร์ฟเวอร์

lua
SharedFilesAllows = {
    ["@sentry/source/shared/sentry54.lua"] = true,
    ["@sentry/source/shared/sentry53.lua"] = true,
    ["@ox_lib/init.lua"] = true,
}

5. config/ignore_install.config.lua — ยกเว้น Resource

กำหนดรายชื่อ Resource ที่ ไม่ต้องการให้ระบบ Sentry เข้าไปเชื่อมต่อหรือติดตั้งการป้องกัน (เช่น สคริปต์ภายนอกที่เข้ารหัสหรือมีระบบป้องกันของตัวเอง)

lua
IgnoreInstallationResources = {
    ['azael_playpass'] = true,
    ['some_encrypted_script'] = true,
}

6. การตั้งค่าระบบป้องกันใน config/Internal/

ระบบตรวจจับการโกงใน V2 ได้รับการแยกเป็นไฟล์ย่อยเพื่อให้ปรับแต่งได้อย่างอิสระ:

AntiPedSpawn.lua — ป้องกันการเสก NPC / ตัวละคร

lua
AntiPedSpawn = {
    Enable = true,          -- เปิดใช้งานระบบป้องกัน
    Action = "log",         -- รูปแบบบทลงโทษ: "ban" | "kick" | "log"
    WhitelistedPeds = {     -- รายชื่อโมเดล NPC ที่อนุญาตให้เสกได้
        "a_m_m_skater_01",
    },
    BlacklistedPeds = {     -- รายชื่อโมเดล NPC ต้องห้ามเด็ดขาด (ตรวจพบจะลงโทษทันที)
        "s_m_m_movalien_01",
    }
}

AntiVehicleSpawn.lua — ป้องกันการเสกรถและสแปมรถ

lua
AntiVehicleSpawn = {
    Enable = true,          -- เปิดใช้งานระบบป้องกัน
    Action = "ban",         -- รูปแบบบทลงโทษ: "ban" | "kick" | "log"
    MaxAttempts = 5,        -- จำนวนครั้งสูงสุดที่อนุญาตให้สร้างยานพาหนะภายในช่วงเวลา
    TimeWindow = 3000,      -- ช่วงเวลาตรวจสอบ (มิลลิวินาที) เช่น 5 คัน ภายใน 3 วินาที
    WhitelistedVehicles = { -- รายการชื่อโมเดลรถที่อนุญาต
        "",
    },
    BlacklistedVehicles = { -- รายการชื่อโมเดลรถต้องห้าม (เช่น รถถัง, เครื่องบินรบ)
        "rhino",
        "lazer",
    }
}

AntiPropSpawn.lua — ป้องกันการเสกวัตถุ / พร็อพ

lua
AntiPropSpawn = {
    Enable = true,          -- เปิดใช้งานระบบป้องกัน
    Action = "log",         -- รูปแบบบทลงโทษ: "ban" | "kick" | "log"
    BlacklistedObjects = {  -- รายชื่อวัตถุต้องห้ามยอดฮิตที่คนโกงมักใช้แกล้งเซิร์ฟเวอร์
        "prop_asteroid_01",
        "stt_prop_stunt_tube_l",
        "prop_shamal_crash",
        -- สามารถเพิ่มโมเดลวัตถุที่ต้องการบล็อกได้
    },
    ApprovedEntities = {    -- อนุญาตโมเดลพิเศษสำหรับสคริปต์ของคุณ (ใช้ Model Hash)
        [GetHashKey('manao_speaker_01')] = true,
    },
    IgnoreEntities = {}
}

Explosion.lua — ป้องกันการเสกระเบิด

lua
AntiExplosion = {
    Enable = true,            -- เปิดใช้งานระบบป้องกันระเบิด
    Action = "ban",           -- รูปแบบบทลงโทษ: "ban" | "kick" | "log"
    MaxAttempts = 5,          -- จำนวนระเบิดสูงสุดที่อนุญาตก่อนลงโทษ (ภายใน 10 วินาที)
    WhitelistedExplosions = { -- ชนิดของระเบิดที่อนุญาต (true = อนุญาต, false = บล็อกทันที)
        [0]  = true,  -- ลูกระเบิดมือ (Grenade)
        [1]  = true,  -- ระเบิดเกาะติด (Sticky Bomb)
        [2]  = true,  -- ระเบิดขวด (Molotov)
        [5]  = true,  -- รถระเบิด (Car Explosion)
        [27] = false, -- ปิดระเบิดแรงสูงบางชนิด
    }
}

PtFx.lua — ป้องกันการสแปม Particle Effect

lua
AntiPtFx = {
    Enable = true,         -- เปิดใช้งานการป้องกัน
    Action = "ban",        -- รูปแบบบทลงโทษ: "ban" | "kick" | "log"
    MaxPerSecond = 10,     -- จำนวน Effect สูงสุดที่อนุญาตต่อ 1 วินาที
    WhitelistedPtFx = {},  -- รายการ Effect ที่อนุญาตให้ใช้งานได้
    BlacklistedPtFx = {}   -- รายการ Effect ต้องห้าม (พบแล้วลงโทษทันที)
}

AntiFreecam.lua — ป้องกันการบินกล้องส่องผู้เล่น

lua
AntiFreecam = {
    Enabled = false,       -- เปิด/ปิดการตรวจจับกล้อง Freecam
    CheckInterval = 1000,  -- ความถี่ในการตรวจสอบ (ms)
    MaxDis = 15.0,         -- ระยะห่างสูงสุดระหว่างตัวละครและมุมกล้อง (เมตร)
    Action = "ban",        -- บทลงโทษ: "ban" | "kick" | "log"
    MaxViolation = 5,      -- จำนวนครั้งที่พบความผิดปกติก่อนเริ่มลงโทษ
    Bypass = {
        Zone = {
            ["Zone1"] = {  -- พื้นที่ยกเว้น เช่น โซนสร้างตัวละคร
                Enabled = false,
                Coords = vector3(0.0, 0.0, 0.0),
                Radius = 50.0,
            }
        }
    }
}

AntiNoclip.lua — ป้องกันการทะลุกำแพงและ Speed Hack

lua
AntiNoclip = {
    Enable = false,        -- เปิด/ปิดการตรวจจับ Noclip
    CheckInterval = 500,   -- ตรวจสอบทุกๆ (ms)
    MaxDis = 50.0,         -- ระยะเคลื่อนที่สูงสุดที่ยอมรับได้ต่อรอบตรวจสอบ
    MaxVertical = 5.0,     -- ระยะเคลื่อนที่แนวดิ่งสูงสุด
    MaxViolation = 5,      -- จำนวนครั้งที่พบการเคลื่อนไหวผิดปกติก่อนลงโทษ
    Grace = 5000,          -- หน่วงเวลางดตรวจหลังผู้เล่นเพิ่งเกิด/ฟื้นคืนชีพ (ms)
    Action = "kick",       -- บทลงโทษ: "kick" | "ban" | "log"
    Bypass = {
        Zone = {
            ["AdminZone"] = { -- โซนยกเว้น
                Enabled = false,
                Coords = vector3(0.0, 0.0, 0.0),
                Radius = 100.0,
            }
        }
    },
    EventonPlayerDied = "baseevents:onPlayerDied" -- Event แจ้งผู้เล่นตาย
}

7. config/logger.config.lua & config/debug.config.lua

  • logger.config.lua:
    • Logger.protectedServerEventList: แสดง log ข้อมูลของ Event ที่กำลังถูกป้องกัน
    • Logger.dupplicateSecret: ตรวจสอบการใช้งาน token ซ้ำ
    • Logger.identifierType: ประเภท identifier หลักในการระบุตัวตน (เช่น 'steam', 'license')
  • debug.config.lua:
    • Debug.paringHash: เปิด/ปิดข้อความ debug การตรวจสอบ hash ของ Event
    • Debug.entityCreate: เปิด/ปิดข้อความ debug เมื่อมีการสร้าง Entity ในเซิร์ฟเวอร์
    • Debug.explosion: แสดงข้อความ debug เกี่ยวกับการระเบิด
    • Debug.ptfx: แสดงข้อความ debug เกี่ยวกับเอฟเฟกต์

🔌 ฟังก์ชันและ Exports สำหรับการเชื่อมต่อ (Public Exports)

สำหรับนักพัฒนาสคริปต์หรือเจ้าของเซิร์ฟเวอร์ที่ต้องการสั่งการ Sentry จาก Resource ของตนเอง:

ฝั่ง Server (exports['sentry'])

lua
-- สั่งแบนผู้เล่นผ่านระบบของ Sentry (บันทึก Database + Discord Webhook + DropPlayer)
exports['sentry']:ban(playerId, reason)

💬 คำสั่งทั้งหมดในระบบ (Commands Reference)

TIP

ทุกคำสั่งสามารถพิมพ์นำหน้าด้วย /sty. หรือ /sentry. ได้เช่นเดียวกัน เช่น /sty.panel หรือ /sentry.panel

คำสั่งสำหรับแอดมินในเกม (Admin In-Game Commands)

(ต้องมี Steam HEX อยู่ใน Permission.admins)

คำสั่งคำอธิบายตัวอย่างการใช้งาน
/sty.panel หรือ /sentrypanelเปิดแผงควบคุมแอดมิน (Admin Dashboard) ดูสถานะผู้เล่น, จัดการแบน, ปลดแบน, ส่องหน้าจอ/sty.panel
/sty.check หรือ /sentry.checkเปิด/ปิดโหมด 3D Entity Inspector เล็งวัตถุหรือรถเพื่อดูข้อมูล NetID, Model, เจ้าของ/sty.check
/sty.ban <steam:hex | id> [เหตุผล]แบนผู้เล่นตาม Server ID หรือ Steam HEX ทันที/sty.ban 5 เสกของป่วนเมือง
/sty.unban <steam:hex>ปลดแบนผู้เล่นออกจากฐานข้อมูลและหน่วยความจำ/sty.unban steam:1100001xxxxxxxx
/sty.scr <id>บันทึกภาพหน้าจอของผู้เล่นเป้าหมายและส่งเข้า Discord Webhook/sty.scr 2
/sty.reloadbanlistสั่งโหลดข้อมูลรายชื่อแบนจากฐานข้อมูล MySQL ใหม่อีกครั้ง/sty.reloadbanlist

คำสั่งบน Server Console

(พิมพ์ในหน้าต่าง Console ของเซิร์ฟเวอร์)

คำสั่งคำอธิบายตัวอย่างการใช้งาน
sty.installติดตั้งการป้องกันเข้าสู่ Resource ทั้งหมดในเซิร์ฟเวอร์sty.install
sty.uninstallถอดการเชื่อมโยงระบบป้องกันออกจากทุก Resourcesty.uninstall
sty.save <all | server_event | event_logs>บันทึกรายชื่อ Event หรือ Log ที่พบลงไฟล์sty.save server_event
sty.debug <ตัวเลือก> <0 | 1>เปิด/ปิดการแสดงผลข้อความ Debug แบบสดsty.debug entity_create 1
sty.logแสดงภาพรวมสถิติระบบและจำนวนผู้ถูกแบนในหน้าจอ Consolesty.log
sty.testIntegrityรันชุดคำสั่งทดสอบระบบตรวจสอบความปลอดภัยsty.testIntegrity
sty.helpแสดงรายการคำสั่งช่วยเหลือทั้งหมดsty.help

🔔 รหัสการตรวจจับและการแบน (Ban Codes)

เมื่อระบบตรวจพบการโกง ข้อความแจ้งเตือนใน Discord Webhook จะระบุ Ban Code เพื่อให้แอดมินทราบถึงสาเหตุที่แท้จริง:

Ban Codeชื่อประเภทการตรวจจับคำอธิบายสาเหตุ
stx.uvhUntrusted Event Requestผู้เล่นพยายาม Trigger Server Event ที่ถูกปกป้องโดยไม่ได้ผ่านเงื่อนไขที่ถูกต้อง
stx.lmdScript File Modifiedตรวจพบว่าไฟล์สคริปต์ฝั่ง Client มีการดัดแปลงหรือแก้ไขเนื้อหา
stx.smsSentry Module Missingระบบตรวจไม่พบโมดูลป้องกันของ Sentry ในตัวเกมของผู้เล่น
stx.eunkUnknown Resource Exportsผู้เล่นพยายามเรียกใช้ฟังก์ชัน Export จากสคริปต์ที่ไม่ได้รับอนุญาต
stx.entIllegal Entity Spawnตรวจพบการเสกหรือสแปมยานพาหนะ หรือ NPC ผิดปกติ
stx.bloBlacklisted Objectมีการเสกวัตถุ (Prop/Object) ที่อยู่ในรายชื่อวัตถุต้องห้าม
stx.expUnauthorized Explosionการสร้างระเบิดต้องห้าม หรือมีอัตราการเกิดระเบิดถี่เกินกำหนด
stx.pfxParticle Effect Spamการสแปมหรือใช้งาน Particle Effects ที่อยู่ในรายการห้าม
stx.rhdResource Hook Detectedตรวจพบการแทรกแซงหรือสคริปต์แปลกปลอมในตัวเกม
stx.~Unknown Detectionข้อผิดพลาดหรือการละเมิดความปลอดภัยทั่วไป

❓ การแก้ไขปัญหาเบื้องต้น (FAQ & Troubleshooting)

สคริปต์ไม่เริ่มทำงาน หรือเกิดข้อผิดพลาดในการเชื่อมต่อฐานข้อมูล
  1. ตรวจสอบว่า oxmysql ถูก start ก่อน sentry ในไฟล์ server.cfg
  2. ตรวจสอบว่าได้ทำการ import ไฟล์ database.sql ครบถ้วนแล้วหรือไม่
  3. ตรวจสอบว่าฐานข้อมูลมีตาราง sentry_ban_list อยู่จริง
ภาพหน้าจอ (Screenshot) ไม่แสดงใน Discord Webhook
  1. ตรวจสอบว่าได้ติดตั้งและ start สคริปต์ screenshot-basic ในเซิร์ฟเวอร์แล้ว
  2. ตรวจสอบใน config/env.config.lua ว่า Env.screenshotBeforeBan = true
  3. ตรวจสอบว่า URL ของ Discord Webhook ใน Env.discordWebhook ถูกต้องและยังใช้งานได้
  4. หากอินเทอร์เน็ตของเซิร์ฟเวอร์หรือผู้เล่นช้า สามารถเพิ่มค่า Env.screenshotTimeout เป็น 8000 (8 วินาที)
ปัญหารถหรือวัตถุของสคริปต์งานในเซิร์ฟเวอร์ถูกลบ (False Positive)
  1. สำหรับวัตถุ (Props): นำ Model Hash ไปใส่ใน ApprovedEntities ในไฟล์ config/Internal/AntiPropSpawn.lua
  2. สำหรับรถ (Vehicles): เพิ่มชื่อรถลงใน WhitelistedVehicles ในไฟล์ config/Internal/AntiVehicleSpawn.lua หรือปรับค่า TimeWindow และ MaxAttempts ให้เหมาะสมกับเซิร์ฟเวอร์
  3. สำหรับสคริปต์เฉพาะทาง: สามารถเพิ่มชื่อโฟลเดอร์ของสคริปต์นั้นลงใน config/ignore_install.config.lua ได้
เข้าใช้งานแผงแอดมิน (/sty.panel) หรือคำสั่งแอดมินไม่ได้
  1. ตรวจสอบว่าได้ระบุ Steam HEX ID ของคุณลงใน Permission.admins ในไฟล์ config/permission.config.lua แล้ว
  2. ตรวจสอบรูปแบบการพิมพ์ เช่น ['steam:1100001xxxxxxxx'] = true, (ต้องมีคำว่า steam: นำหน้า)
  3. สั่ง Restart resource sentry หลังแก้ไข Config
ระบบส่องหน้าจอผู้เล่นสด (Live View) ไม่ขึ้นภาพ
  1. ตรวจสอบว่าตั้งค่า Env.liveStream = true ใน config/env.config.lua
  2. ผู้ดูจะต้องมีสิทธิ์แอดมินใน Permission.admins
  3. ผู้เล่นเป้าหมายและแอดมินต้องมีการเชื่อมต่ออินเทอร์เน็ตที่เสถียร