İçeriğe geç

FiveM screenshot-basic çalışmıyor mu? Çözümler ve seçenekler

FiveM screenshot-basic çalışmıyor mu? Kurulum kontrolleri, sık görülen hatalar ve çözümleri, webhook’u client’tan uzak tutmak ve görselleri saklamak.

Yayın tarihi 6 dk okuma

screenshot-basic, oyuncunun oyun ekranının görüntüsünü alan ücretsiz Cfx.re resource’u. Rapor menüleri, ban logları ve anticheat’ler bu görüntüyü kanıt olarak ekler. Çalışmadığında sebep genelde kurulum, başlatma sırası ya da yükleme adresidir. Bu rehberde her çözüme tek tek bakıyoruz, sonra görselleri nasıl güvende tutacağını ve ne zaman başka bir yolun daha mantıklı olduğunu anlatıyoruz.

screenshot-basic ne yapar

Diğer resource’ların exports üzerinden çağırdığı üç fonksiyon ekler. Client tarafında requestScreenshot görüntüyü metin olarak (data URI) geri verir, requestScreenshotUpload ise bir web adresine gönderir. Server tarafında requestClientScreenshot oyuncunun oyunundan görüntü ister ve doğrudan senin sunucuna yükletir. Kendine ait bir komutu yoktur. Onu çağıran bir script yoksa hiçbir şey olmaz.

Kurulum kontrol listesi

  • GitHub’daki resmi citizenfx/screenshot-basic deposundan indir. Yeniden yükleme sitelerindeki zip’lerden uzak dur, backdoor’lar sık sık bu yolla gelir.
  • resources klasörüne tam olarak screenshot-basic adıyla koy. Diğer script’ler onu exports['screenshot-basic'] diye çağırır, klasör adını değiştirirsen bozulurlar.
  • cfx-server-data ile gelen yarn ve webpack resource’larını silme. Manifest ikisini de bağımlılık olarak listeler ve screenshot-basic ilk açılışta kendini onlarla derler.
  • server.cfg içinde ensure screenshot-basic satırını, onu kullanan tüm resource’ların üstüne yaz.
  • İlk açılışa zaman tanı. Paketleri indirip derleme yapar, sunucu konsolunda her adımı görürsün.
  • Sürümler: README, server export’u için client build 1129160 veya üstünü ve server pipeline 1011 veya üstünü istiyor. Son yıllarda güncellenmiş her sunucu bunun çok ilerisinde.

Resource’larında backdoor var mı kontrol et

Sık görülen hatalar ve çözümleri

Deponun issue bölümü kapalı, bu yüzden sorunlar pull request olarak geliyor. Aşağıdakiler hem orada hem de kodun kendisinde görülen sorunlar.

İlk açılışta derleme ya da kurulum hatası. Eski pull request’lerin birkaçı kurulum hatasıyla ilgili. Konsoldaki son hatayı değil, ilk hatayı oku. Genelde yarn bir paketi indiremiyordur ya da webpack derleyemiyordur. Sunucunun internete çıkabildiğini, yarn ve webpack resource’larının yerinde ve güncel olduğunu kontrol et.

Her yüklemede Buffer() uyarısı. Her ekran görüntüsü geldiğinde Node bir DEP0005 deprecation uyarısı basar. Bu, resource’un içindeki eski bir yükleme kütüphanesinden geliyor. Sadece bir uyarı, yüklemeler yine çalışır. Konsoldaki kalabalık seni rahatsız ediyorsa açık duran #43 ve #44 numaralı pull request’ler bunu düzeltiyor.

Callback hiç çalışmıyor. Server export’u bir yükleme bekler ve zaman aşımı yoktur. Oyuncu çıkarsa, oyunu çökerse ya da yükleme başarısız olursa kodun sonsuza kadar bekler. Kendi zamanlayıcını ekle ve “ekran görüntüsü gelmedi” durumunu ayrı bir sonuç olarak logla.

Yükleme sunucuya hiç ulaşmıyor. Server export’unda oyuncunun oyunu görüntüyü, bağlandığı sunucu adresine /screenshot-basic/upload/ yolu altında yükler. Oyuncular bir proxy üzerinden ya da bu HTTP isteklerini sunucuna iletmeyen bir adresten bağlanıyorsa görüntünün gidecek yeri kalmaz.

Discord’a yükleme başarısız. requestScreenshotUpload dosyayı bir form alanı olarak gönderir ve alan adı karşı tarafın beklediğiyle aynı olmalı. Discord’un webhook dokümanı dosya alanlarını files[n] olarak adlandırıyor. Sonraki iki bölüm bu yüklemenin neden zaten client’tan başlamaması gerektiğini anlatıyor.

Oyuncular sahte görsel gönderemesin diye server export’u kullan

README, requestScreenshot ile alınan görüntünün bir server event’i üzerinden gönderilmemesi gerektiğini söylüyor. Oyuncunun client’ı bir event ile istediği görseli yollayabilir, sunucun da gelen her şeye güvenmiş olur.

requestClientScreenshot tam tersi çalışır. İsteği senin sunucun başlatır, tek kullanımlık bir yükleme token’ı üretir ve sadece o token’la gelen dosyayı kabul eder. fileName verirsen sunucu görüntüyü o yola kaydeder ve oyuncunun oyunu dosyanın nereye gittiğini hiç öğrenmez. Değiştirilmiş bir client yine de kendi oyununda ne çizileceğini kontrol eder. O yüzden ekran görüntüsünü, oyuncunun ne yaparken yakalandığının yanında duran kanıtlardan biri olarak gör.

Webhook URL’lerini client’tan uzak tut

Client script’leri her oyuncunun bilgisayarına indirilir. Client dosyasındaki bir Discord webhook URL’sini sunucuya giren herkes okuyabilir. Discord dokümanına göre webhook’lar bot kullanıcısı ya da kimlik doğrulama istemez, URL’deki token kanalına mesaj atmak ya da webhook’u silmek için yeterlidir.

URL sunucuda kalsın. Görüntüyü server export’uyla al, sonra bir server script’inden PerformHttpRequest ile Discord’a gönder. URL’yi bir server convar’ında tut ve add_convar_permission ile kimin okuyabileceğini sınırla. Discord ban log rehberimiz kurulumun tamamını anlatıyor.

Discord ban loglarını güvenle kur

Görselleri Discord’dan daha kalıcı bir yerde sakla

Discord dokümanına göre CDN’deki ek bağlantıları imzalıdır ve süresi dolar. Discord uygulaması kanalı okuyanlar için bu bağlantıları yeniler, ama bir ban notuna ya da veritabanına kopyaladığın link çalışmaz hale gelebilir. İtiraz bazen bandan haftalar sonra gelir.

Dosyayı kendin sakla. fileName seçeneği dosyayı sunucunun diskine yazar. Oradan yedekle ya da kontrol ettiğin bir depolamaya kopyala, dosya yolunu da ban kaydıyla birlikte tut.

İyi bir ekran görüntüsü kanıtı nasıl olur

Seçeneklerin

Bir developer’ın varsa ve bir iki script için ekran görüntüsü lazımsa screenshot-basic sağlam bir seçim. Her banda kanıtı kendin bağlamadan istiyorsan, görüntüyü kendisi alan bir anticheat diğer yol.

  • screenshot-basic: ücretsiz, açık kaynak ve Cfx.re tarafından yayınlanıyor. Her script’e kendin bağlarsın, hataları ve zaman aşımlarını sen yönetirsin, webhook’ları gizli tutar ve dosyaları sen saklarsın.
  • Görüntüyü kendisi alan bir anticheat: ücretli bir ürün. Ekran görüntüsü bir koruma tetiklendiğinde alınır ve ban kaydına otomatik eklenir, ayrıca bir şey kurman gerekmez.

Daddy Shield ikinci yolu izliyor. Tespit anında oyuncunun ekranını kendisi yakalar, panelde ban kaydına ekler ve screenshot-basic’e ihtiyaç duymaz. Fiyatı aylık €24.99, 6 aylık planda ayda €19.99’a düşüyor ve 7 gün içinde iade alabilirsin.

Her banda kanıt nasıl çalışıyor

Sık sorulanlar

screenshot-basic hâlâ geliştiriliyor mu? Depoya son push Şubat 2023’te yapılmış, yeni düzeltmeler açık pull request’lerde bekliyor. Küçük şeyleri kendin yamaman gerekebilir.

Klasörün adını değiştirebilir miyim? Ancak exports['screenshot-basic'] çağıran her script’i de güncellersen.

Daddy Shield ile screenshot-basic gerekir mi? Hayır, anticheat ekran görüntüsünü kendisi alır. Rapor menüsü gibi başka script’ler hâlâ kullanıyorsa screenshot-basic’i kurulu bırak.

Diğer cevaplar SSS sayfasında

Planları ve fiyatları gör

Sıradaki hileci en kolay banın olsun.

Her planda bütün özellikler var. Sunucuna uymazsa ilk ödemenden sonraki 7 gün içinde iade isteyebilirsin.

Sunucumu koru

Ortalama 128+ oyuncun mu var? Ücretsiz denemeye başvur