İçerik Sunma
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.
İstemcilerin ayarlar menüsüne giderek hangi tür dosyaları indireceklerini değiştirebileceklerini unutmayın.

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:
İç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 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
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 ve 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.
ServerDL
ServerDL kullanmak oldukça basittir, sv_allowdownload komutunun etkinleştirilmiş olması ve indirilebilir olmasını istediğiniz dosyaları resource.AddFile ve 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.
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 ve indirilen dosyaları
DATAklasöründe saklamak. - steamworks.DownloadUGC ile Steam Atölyesi içeriğini indirmek ve 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.
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord