# İçerik Sunma

- **İngilizce aslı:** https://wiki.facepunch.com/gmod/Serving_Content
- **Çeviri tarihi:** 2025-09-08

## Oyunculara içerik sunma

Bir oyuncunun sunucudaki özel içeriği görebilmesi için içeriği indirmiş olması gerekir. Sunucu içeriğinizi onlara çeşitli yollarla gönderebilirsiniz, aşağıda bunu başarmanın farklı yolları bulunmaktadır.

> **NOT:** .lua dosyaları içerik olarak KABUL EDİLMEZ, ayrı süreçler aracılığıyla indirilirler ve ek bir kurulum gerektirmezler.

İstemcilerin ayarlar menüsüne giderek hangi tür dosyaları indireceklerini değiştirebileceklerini unutmayın.

![image.png](https://gmod.tr/api/uploads/wiki/9f5e1114e04e48d3f7f4.png)

Hıza göre sıralanmış farklı yöntemlere basit bir genel bakış:

|  | Hız | Yöntem | Dezavantaj | Gereksinimler |
|---|---|---|---|---|
| **WorkshopDL**: | İstemcinin indirebildiği kadar hızlı, tek seferde ~2gb'a kadar (gma) | Steam Atölyesi | Steam Atölyesi'ne bir içerik paketi yüklemeniz gerekir | İçeriğin atölyeye konulmasını ve resource.AddWorkshop ile eklenmesini gerektirir |
| **FastDL**: | İstemcinin indirebildiği kadar hızlı, dosya dosya | HTTP | Her dosya için tek tek indirdiği için çok sayıda küçük dosyada yavaş olabilir. Dosyaların içerikleri kontrol edilmediğinden, sunucudaki dosyaları güncellemek istemcinin güncellenmiş dosyaları yeniden indirmesini sağlamaz. | Bir FastDL web sunucusu + resource.AddFile gerektirir |
| **ServerDL**: | Yavaş, 64kb/s limitli, dosya dosya | Source ağ iletişimi | Aşırı yavaş, `sv_allowdownload` komutunu etkinleştirmeniz gerekir | sv_allowdownload 1 ve resource.AddFile gerektirir |

Daha detaylı açıklamalar:

- WorkshopDL
- FastDL
- ServerDL
- Alternatif seçenekler

## İçerik sunma seçenekleri

### WorkshopDL

WorkshopDL, etkili bir şekilde doğrudan Steam Atölyesi'nden indirme yapar. Bu yüzden bunu kullanmak için içeriğinizi Steam Atölyesi'ne yüklemeniz gerekir. Yükleme yaparken, atölyede gereksiz dağınıklığı önlemek için eklentinizin türünü `ServerContent` olarak işaretlediğinizden emin olun. Bunu yaptıktan sonra artık [resource.AddWorkshop](https://gmod.tr/wiki/resource.AddWorkshop) lua fonksiyonunu kullanabilirsiniz.

Örnek:

Koleksiyonunuzda aşağıdaki eklenti var ve sunucunuza bağlı, ancak istemciler bunları hata olarak görüyor: [https://steamcommunity.com/sharedfiles/filedetails/?id=150455514](https://steamcommunity.com/sharedfiles/filedetails/?id=150455514) Bunu eklemek için, bu atölye eklentisini istemciler için indirilecek şekilde işaretleyen yalnızca sunucu taraflı bir lua dosyası ekleyebilirsiniz. Örnek klasör yapısı `garrysmod/lua/autorun/server/workshop.lua` veya eski eklenti olarak `garrysmod/addons/workshop/lua/autorun/server/workshop.lua` Bu dosyaya `resource.AddWorkshop("150455514")` kodunu koyabilirsiniz

### FastDL

FastDL için oyuncuların indirme yapabileceği ayrı bir web sunucusuna ihtiyacınız vardır ve `sv_downloadurl` ayarını web sitenizin URL'sine ayarlamanız gerekir. Dosyalar, [resource.AddFile](https://gmod.tr/wiki/resource.AddFile) ve [resource.AddSingleFile](https://gmod.tr/wiki/resource.AddSingleFile) ile indirilmek üzere işaretlenebilir, ardından istemci işaretlenen dosyaları otomatik olarak web sunucusundan talep etmeye çalışacaktır. İstemciler önce dosyanın sıkıştırılmış .bz2 sürümünü talep etmeyi dener ve eğer bu mevcut değilse normal dosyayı denerler, bu davranışın bir örneği aşağıda görülebilir.

Örnek:

`sv_downloadurl`, `https://mycoolwebsite.com` olarak ayarlandı ve `materials/hud/killicon.vmt` dosyasını indirilmek üzere işaretlediniz. İstemci önce `https://mycoolwebsite.com/materials/hud/killicon.vmt.bz2` adresine ve ardından `https://mycoolwebsite.com/materials/hud/killicon.vmt` adresine bir istek gönderecektir.

> **NOT:** Birçok sunucu sahibi, atölye lua oluşturucu web siteleri kullanır; bunlar verimli DEĞİLDİR çünkü yalnızca lua içeren eklentileri de indirilecek olarak işaretlerler, bu da katılma sürelerini artırır. Yalnızca lua olmayan dosyalara sahip eklentileri indirilmek üzere işaretleyin!

### ServerDL

ServerDL kullanmak oldukça basittir, `sv_allowdownload` komutunun etkinleştirilmiş olması ve indirilebilir olmasını istediğiniz dosyaları [resource.AddFile](https://gmod.tr/wiki/resource.AddFile) ve [resource.AddSingleFile](https://gmod.tr/wiki/resource.AddSingleFile) ile işaretlemeniz gerekir, bundan sonra istemciler sunucunuza katıldıklarında içeriği otomatik olarak indirecektir. Ancak bu yöntem, 64kb/s gibi inanılmaz derecede yavaş olduğu için modası geçmiş kabul edilir ve kullanmaktan kaçınmalısınız.

> **UYARI:** `sv_allowdownload` komutunun etkin olması sizi istismarlara açık hale getirir. Değiştirilmiş istemcilere sahip oyuncular, sunucunuzu ciddi şekilde yavaşlatmak için dosya istekleri spamleyebilir.

### Alternatifler

Bazı sunucular içeriği anında indirir, bu çeşitli yöntemlerle yapılabilir ancak en yaygın olanları şunlardır:

- [HTTP](https://gmod.tr/wiki/http) ve indirilen dosyaları `DATA` klasöründe saklamak.
- [steamworks.DownloadUGC](https://gmod.tr/wiki/steamworks.DownloadUGC) ile Steam Atölyesi içeriğini indirmek ve [game.MountGMA](https://gmod.tr/wiki/game.MountGMA) ile bağlamak

Bu yöntemler her şey için işe yaramayacaktır, örneğin bu bir harita için asla çalışmaz. Autorun sırasında Materyalleri önbelleğe alan veya saklayan bazı eklentiler de bu konuda sorun yaşayabilir.

- [GMod Wiki ana sayfası](https://gmod.tr/wiki)

---

[Tüm sunucular](https://gmod.tr/) · [GmodTR Launcher](https://gmod.tr/launcher) · [Rehber](https://gmod.tr/rehber) · [GMod Wiki](https://gmod.tr/wiki) · [GmodTR nedir?](https://gmod.tr/hakkinda) · [Sunucu ekle](https://gmod.tr/sunucu-ekle) · [Discord](https://discord.gg/gmodtr)

Kaynak: https://gmod.tr/wiki/Serving_Content
