Tüm Blog Yazılarına Dön
Güvenlik 2026 Güncel Rehber

FiveM Sunucularında Sunucu Taraflı Hile Koruması: entityCreating ve explosionEvent ile Güvenlik Mimarisi (2026)

Pahalı anti-cheat yazılımlarına bağımlı kalmadan; obje spamı, hileli araç spawn'ı ve toplu patlamaları sunucu tarafında (Server-Side) yerel FiveM eventleri ile durdurmayı öğrenin.

DX
Dexta Store Ekibi
13 Ekim 20268 dk okuma0 okuma
FiveM Sunucularında Sunucu Taraflı Hile Koruması: entityCreating ve explosionEvent ile Güvenlik Mimarisi (2026)

FiveM sunucusu yönetirken her geliştiricinin ve sunucu sahibinin karşılaştığı en can sıkıcı kabuslardan biri, sunucuya sızan kötü niyetli bir kullanıcının haritaya devasa prop'lar yerleştirmesi, tüm oyuncuları patlatması ya da oyun motorunu zorlayarak sunucuyu çökertmesidir (crashletmesidir).

2026 yılı standartlarında, yalnızca istemci (client) tarafındaki doğrulamalara güvenmek sunucunuzu savunmasız bırakır. Çünkü istemci belleği hile yazılımları tarafından manipüle edilebilir; fakat sunucu tarafı (Server-Side) asla aldatılamaz. FiveM FXServer çekirdeğinde sunulan yerel entityCreating ve explosionEvent mekanizmalarını doğru kurgulayarak harici hile koruma yazılımlarına servet harcamadan sunucunuzu aşılmaz bir kaleye dönüştürebilirsiniz.

Bu rehberde sıfırdan adım adım kendi yerel güvenlik katmanınızı nasıl yazacağınızı inceliyoruz.

1. Neden İstemci Değil de Sunucu Tarafı (Server-Side)?

Hile menüleri oyuncunun bilgisayarındaki yerel GTA V belleğini manipüle eder. Oyuncu istemcisi "ben buraya bir kargo uçağı koydum" dese bile, bu bilginin diğer oyunculara dağıtılması FiveM sunucusunun (FXServer) onayından geçer.

Eğer sunucu bu varlığın (entity) oluşturulmasına izin vermezse:

  1. 1Obje diğer oyuncuların ekranında görünmez.
  2. 2Sunucu belleği şişmez.
  3. 3Hilecinin eylemi sunucu loglarına sessizce düşer ve otomatik yaptırım uygulanabilir.
⚠️ Önemli Uyarı: İstemci tarafında çalışan anti-cheat scriptleri hile yazılımları tarafından kolayca devre dışı bırakılabilir (bypass). Gerçek güvenlik daima Server-Side başlar.

2. entityCreating ile İstenmeyen Varlıkları Havada Yakalama

FiveM, OneSync mimarisinde haritada herhangi bir nesne (ped, araç, prop) oluşturulmadan hemen önce sunucu tarafında entityCreating eventini tetikler. Bu event iptal edilebilir (CancelEvent()) bir yapıya sahiptir.

Adım 1: Güvenlik Scripti Oluşturun

Sunucunuzun resources/[guvenlik]/dexta_security/ dizinini oluşturun ve bir fxmanifest.lua dosyası tanımlayın:

lua
fx_version 'cerulean'
game 'gta5'

server_script 'server.lua'

Adım 2: server.lua İçinde Filtreleme Mantığı Kurun

Sunucu tarafında yasaklı modelleri (örneğin devasa kargo uçakları, tanklar veya sunucuyu çökertmek için kullanılan dev objeler) kara listeye alabiliriz:

lua
-- resources/[guvenlik]/dexta_security/server.lua

local BlacklistedModels = {
    [`cargoplane`] = true,
    [`rhino`] = true,
    [`khanjali`] = true,
    [`prop_gold_cont_01`] = true, -- Crash amaçlı kullanılan devasa konteynerler
    [`p_ld_stinger_s`] = true
}

AddEventHandler('entityCreating', function(entity)
    if not DoesEntityExist(entity) then return end

    local model = GetEntityModel(entity)
    local entityType = GetEntityType(entity) -- 1: Ped, 2: Vehicle, 3: Object
    local owner = NetworkGetEntityOwner(entity)

    -- Yasaklı Model Kontrolü
    if BlacklistedModels[model] then
        CancelEvent()
        print(string.format("[GÜVENLİK İHLALİ] Oyuncu ID: %s, Yasaklı Model Spawn Girişimi: %s", tostring(owner), tostring(model)))
        
        -- İsteğe bağlı: Oyuncuyu otomatik sunucudan uzaklaştırma
        if owner and owner > 0 then
            DropPlayer(owner, "Dexta Security: İzin verilmeyen varlık oluşturma teşebbüsü.")
        end
        return
    end
end)
💡 İpucu: Model isimlerini doğrudan hash olarak kontrol etmek ([cargoplane] formatında backtick kullanarak) Lua'da karşılaştırma hızını mikro saniyeler seviyesine indirir ve işlemci yükü oluşturmaz.

3. explosionEvent ile Patlama Saldırılarını Engelleme

Rol sunucularında hilecilerin en sık başvurduğu diğer bir yöntem toplu patlamalardır. FiveM'in explosionEvent dinleyicisi sayesinde bir patlama oyuncuların ekranına gönderilmeden önce türü, koordinatları ve hasar çarpanı denetlenebilir.

lua
-- Patlama Türleri Tablosu (Örnek Tehlikeli Tipler)
local BlockedExplosions = {
    [1] = true,  -- EXP_TAG_GRENADELAUNCHER
    [2] = true,  -- EXP_TAG_STICKYBOMB
    [9] = true,  -- EXP_TAG_DIR_STEAM
    [29] = true, -- EXP_TAG_BLIMP (Zeplin patlaması - genellikle haritayı temizlemek için basılır)
    [32] = true  -- EXP_TAG_ORBITAL_CANNON
}

AddEventHandler('explosionEvent', function(sender, ev)
    -- sender: Patlamayı tetikleyen oyuncunun Server ID'si
    -- ev: Patlama parametreleri tablosu

    if BlockedExplosions[ev.explosionType] then
        CancelEvent()
        print(string.format("[PATLAMA ENGELİ] ID: %s, Tür: %s patlaması engellendi!", sender, ev.explosionType))
        
        -- Şüpheli patlama sıklığı analizi için log tutabilirsiniz
        return
    end

    -- Çok büyük hasar veya anlamsız yarıçap kontrolleri
    if ev.damageScale > 5.0 or ev.cameraShake > 5.0 then
        CancelEvent()
        DropPlayer(sender, "Dexta Security: Anormal patlama verisi tespit edildi.")
    end
end)

4. Yetkili Muafiyeti (Bypass) Eklemek

Sunucunuzdaki yetkililerin bazen test amaçlı araç spawn etmesi veya admin menüsü kullanması gerekebilir. Bunun için FiveM ACE Perms sistemini devreye sokabilirsiniz:

lua
AddEventHandler('entityCreating', function(entity)
    local owner = NetworkGetEntityOwner(entity)
    
    -- Eğer oyuncu admin yetkisine sahipse kontrolden muaf tut
    if owner and IsPlayerAceAllowed(owner, 'command') then
        return
    end

    -- Güvenlik doğrulamaları devam eder...
end)

Karmaşık mimarilerde güvenlik kuralları yazarken oluşabilecek desenkronizasyonları önlemek, tüm paketinizin baştan sona zırhlı ve optimize olmasını sağlamak için uzman desteğine ihtiyaç duyabilirsiniz. Kendi altyapınızı sıfırdan güvenli kurmak yerine, test edilmiş ve onaylanmış çözümlerimiz için profesyonel Developerlik Hizmeti alabilir veya güvenliği önceden yapılandırılmış DxAV1 - Roleplay Paketi içeriğimizi inceleyebilirsiniz.

Sıkça Sorulan Sorular (SSS)

1. entityCreating eventi sunucuda FPS düşüşüne (Lag) sebep olur mu?

Hayır. Bu yerel bir FXServer C++ çekirdek callback'idir. İçerisinde ağır veritabanı sorguları (MySQL.query) veya karmaşık döngüler çalıştırmadığınız sürece sunucu tick rate'i üzerinde neredeyse sıfır etkiye sahiptir.

2. İzinli polis araçlarının veya ambulansların spawn olması bu sistemden etkilenir mi?

Eğer acil servis araçlarını BlacklistedModels listesine yazmazsanız hiçbir sorun yaşanmaz. Sistem yalnızca kara listede belirttiğiniz veya koşullara uymayan spesifik modelleri engeller.

3. Hileci entityCreating eventini istemci tarafından kapatabilir mi?

Hayır. entityCreating sunucu üzerinde çalışır. İstemci tarafı kodları yalnızca kendi bilgisayarına etki eder; sunucunun C++ ağına ve Lua çalışma ortamına uzaktan müdahale edemez.

Bu Rehber İşinize Yaradı mı?

Fikrinizi belirterek içeriklerimizi geliştirmemize yardımcı olun.

Topluluk
DX
Teknik İçerik Ekibi

Dexta Store Geliştirici Grubu

FiveM sunucuları için yüksek FPS optimizasyonlu hazır paketler, özel scriptler, MLO haritaları ve DXA koruma mimarisi geliştiren teknik ekibimiz tarafından hazırlanmıştır.

Premium FiveM Çözümleri

Sunucunuzu Bir Üst Seviyeye Taşımaya Hazır Mısınız?

Sıfırdan uğraşmak yerine; test edilmiş, yüksek FPS garantili ve 7/24 anında teslim edilen hazır roleplay paketlerimizi keşfedin.

Tüm Paket ve Scriptleri İncele

İlginizi Çekebilecek Diğer Rehberler