WhatsApp: 0546 401 33 90

15 dk ücretsiz görüşme →

Blog

FiveM Sunucunuzu Güvende Tutmanın 7 Yolu

Bir FiveM sunucusu hem oyuncuların vakit geçirdiği bir topluluk hem de internete açık bir sunucudur. Hile kullanan bir oyuncu, sızdırılmış bir script ya da yanlış yerde paylaşılmış bir şifre, emekle kurulan ekonomiyi bir gecede bozabilir. Aşağıdaki yedi madde, sunucu sahiplerinin en sık açık bıraktığı yerleri sade bir dille anlatıyor.

Yayın tarihi:

1. Lisans anahtarı ve şifreler dışarı çıkmasın

server.cfg dosyasında sunucunuzun lisans anahtarı (sv_licenseKey), veritabanı bağlantı bilgisi ve varsa Steam Web API anahtarı durur. Bu dosyayı ekran görüntüsüyle paylaşmayın, herkese açık bir GitHub deposuna yüklemeyin; yanlışlıkla paylaşıldıysa anahtarları hemen yenileyin.

Ekipteki herkesin her şeye erişmesi gerekmez. Geliştiriciye yalnız işi için gereken klasörü ya da bir test sunucusunu açmak, ana şifreleri paylaşmaktan çok daha güvenlidir.

2. txAdmin paneline kimin girdiğini bilin

txAdmin, sunucuyu tarayıcıdan yönettiğiniz paneldir ve varsayılan olarak 40120 portunda çalışır. Her yöneticiye ayrı hesap açın, yetkileri işi kadar verin ve ekipten ayrılan kişinin hesabını hemen silin. Herkesin kullandığı ortak bir yönetici şifresi, kimin ne yaptığını bilmeyi imkânsız kılar.

Panelin adresini ve şifresini Discord kanallarında paylaşmayın. Mümkünse güvenlik duvarında panel portuna yalnız sizin IP adresinizden erişilebilecek bir kural koyun.

3. Sunucuda yalnız gereken kapılar açık olsun

Oyuncuların bağlanması için FiveM'in kendi portu (varsayılan 30120, TCP ve UDP) yeterlidir. Veritabanı (MySQL ya da MariaDB, varsayılan 3306) internete açık olmamalı; ona yalnız sunucunun kendisi bağlanmalıdır. Uzak masaüstü ya da SSH kullanıyorsanız güçlü bir şifre ya da anahtarla girin, kullanmadığınız servisleri kapatın.

Barındırma firmanıza oyun sunucuları için DDoS koruması olup olmadığını sorun. Korumalı bir altyapı, ev bağlantısından ya da korumasız bir sunucudan çok daha dayanıklıdır.

4. İstemciye güvenmeyin: sunucu olaylarını doğrulayın

FiveM'de oyuncunun bilgisayarı değiştirilebilir ve hile menüleri sunucuya istedikleri olayı gönderebilir. Para veren, eşya ekleyen ya da meslek değiştiren her sunucu olayı, isteği gönderen oyuncunun buna gerçekten hakkı olup olmadığını sunucuda kontrol etmelidir: yetkisi, mesafesi, envanterinde gerçekten ne olduğu ve istenen miktar. Kontrolsüz tek bir olay, sunucu ekonomisini bozmaya yeter.

Kendi scriptimiz Gunrack'te her koyma ve alma isteğinde meslek, araç, koltuk, mesafe ve envanter sunucuda kontrol edilir, istekler sınırlanır. Aldığınız ya da yazdırdığınız her scriptte aynı soruyu sorun: hangi işlemler sunucuda doğrulanıyor?

server/main.luaKorumasız
-- Fiyat istemciden geliyor: hile menüsü
-- istediği sayıyı gönderebilir
RegisterNetEvent('shop:sell', function(item, price)
    local src = source
    RemoveItem(src, item, 1)
    AddMoney(src, price)
end)
server/main.luaDoğrulamalı
-- Fiyat sunucuda; istemciden yalnız eşya adı gelir
-- (HasItem, RemoveItem, AddMoney: çerçevenizdeki karşılığı)
local PRICES = { bread = 5, water = 3 }
local SHOP = vector3(25.7, -1347.3, 29.5)
local last = {}

RegisterNetEvent('shop:sell', function(item)
    local src = source
    local price = PRICES[item]
    if not price then return end
    -- Envanterde gerçekten var mı?
    if not HasItem(src, item, 1) then return end
    -- Dükkânın yanında mı?
    local pos = GetEntityCoords(GetPlayerPed(src))
    if #(pos - SHOP) > 3.0 then return end
    -- Saniyede en çok bir satış
    local now = GetGameTimer()
    if last[src] and now - last[src] < 1000 then return end
    last[src] = now
    RemoveItem(src, item, 1)
    AddMoney(src, price)
end)

5. Sızdırılmış (leak) scriptlerden uzak durun

Ücretli scriptlerin izinsiz dağıtılan kopyaları sık sık arka kapı içerir: okunmasın diye şifrelenmiş kod parçaları ya da sunucu açılınca dışarıdaki bir adresten kod indirip çalıştıran satırlar. Böyle bir arka kapı, başkasına sunucunuzda istediğini yapma imkânı verebilir.

Scriptleri yalnız satıcısından ya da güvendiğiniz bir kaynaktan alın. Kaynağı belirsiz bir scripti kurmanız gerekiyorsa önce test sunucusunda deneyin ve dışarıya istek atan (PerformHttpRequest) ya da metinden kod çalıştıran (load) satırlarını inceletin.

6. Oyuncu tarafı ayarlarını sıkılaştırın

OneSync açık sunucularda sv_entityLockdown ayarı, oyuncuların kendi bilgisayarlarından araç ya da nesne oluşturmasını sınırlar; hile menülerinin haritaya nesne yağdırması bununla büyük ölçüde engellenir. Sıkı modu (strict) açmadan önce scriptlerinizin buna uygun olup olmadığını test sunucusunda deneyin; bazı eski scriptler nesneleri oyuncu tarafında oluşturur.

sv_scriptHookAllowed ayarını kapalı (0) tutun; bu, oyuncuların ScriptHook tabanlı modlarla sunucunuza girmesini engeller. Hile koruma scriptleri ek bir katman olabilir, ama sunucu tarafındaki doğrulamanın yerini tutmaz.

7. Güncelleyin, yedekleyin, önce test edin

FiveM sunucu sürümünü (artifacts) ve scriptlerinizi güncel tutun; güvenlik düzeltmeleri çoğu zaman güncellemeyle gelir. Veritabanını düzenli yedekleyin ve yedeği aynı sunucuda değil başka bir yerde saklayın; bir saldırıdan ya da hatalı bir güncellemeden sonra geri dönebileceğiniz tek şey odur.

Yeni bir scripti ya da güncellemeyi doğrudan canlı sunucuya kurmak yerine önce oyuncusuz bir test sunucusunda deneyin. Sunucunuzun ve scriptlerinizin güvenliğinden emin değilseniz, sizin izninizle inceleyip bulduğumuz açıkları önceliğiyle birlikte rapor olarak verebiliriz; bize yazabilirsiniz.

Ürün

Gunrack

FiveM için araç silah rafı. Memurlar silah ve mermiyi departman araçlarında saklar.

İlgili hizmet

Siber Güvenlik Hizmetleri

Fikrinizi anlatın, kapsamı ve bütçeyi birlikte netleştirelim. Hafta içi genelde bir iş günü içinde dönüş yapıyoruz.

  • Teklif ücretsiz
  • Hafta içi genelde bir iş günü içinde dönüş
  • Kapsam ve fiyat işe başlamadan net

ya da doğrudan yazın: contact@torpilstudio.com

WhatsApp: 0546 401 33 9015 dk ücretsiz görüşme ayarlayın →

Projenizi anlatın

ProjenizAdım 1 / 2

Ne yaptırmak istiyorsunuz?
Bütçeniz ne kadar? (isteğe bağlı)