GMod sunucusuna harita kurma: FastDL mi, Workshop mu
GMod sunucusuna harita kur: dosyayı garrysmod/maps içine koy, başlangıç haritasını ayarla, oyunculara FastDL ya da Workshop ile ulaştır. Sorun gidermeyle.
Bir haritayı, .bsp dosyasını sunucuda garrysmod/maps klasörüne koyup başlangıç haritası olarak ayarlayarak ya da changelevel ile yükleyerek kurarsın. Oyuncuların katılabilmesi için aynı dosyaya onların da ihtiyacı vardır. Dosyayı en iyi FastDL ya da Steam Workshop üzerinden alırlar, çünkü oyun sunucusundan doğrudan indirme çok yavaştır.
1. adım: haritayı sunucuya koy
.bspdosyasını FTP ya da SFTP ilegarrysmod/maps/klasörüne yükle. Dosya adında baştan sona küçük harf kullan. Linux sunucuları büyük/küçük harfe duyarlıdır.- Haritaya ait başka dosyalar varsa bunlar ilgili klasörlere gider. Bir
.navdosyası dagarrysmod/maps/içinde durur, paketlenmemiş içerik isematerials,modelsya dasoundklasörlerine gider. İçerik BSP'ye paketlenmişse bu adımı atlayabilirsin. - Haritayı başlangıç haritası olarak ayarla. Sunucunun başlatma satırında bunu
+map rp_exampleile, oyun modunu ise+gamemode darkrpile yaparsın. Birçok hosting sağlayıcısı web panelinde bunun için bir alan sunar. - Çalışan bir sunucuda, sunucu konsolunda ya da RCON üzerinden
changelevel rp_exampleile harita değiştirirsin.maps *komutu sunucunun bulduğu tüm haritaları listeler.
Sunucu başka bir haritayla açılıyorsa ya da hiç açılmıyorsa, neden neredeyse her zaman addadır ya da dosyanın yerindedir: bir yazım hatası, büyük harfler ya da yanlış klasör. Başlatma parametresine harita adı .bsp uzantısı olmadan yazılır.
2. adım: oyuncular haritayı nasıl alır
Her istemcinin BSP'ye yerel olarak ihtiyacı vardır. Bunun üç yolu var.
Oyun sunucusundan doğrudan indirme
sv_allowdownload 1 ile oyun sunucusu dosyayı istemciye kendisi gönderir. Bu, ek bir kurulum gerektirmeden çalışır ama hızı ciddi biçimde kısıtlanmıştır. Ayrıca net_maxfilesize dosya boyutunu sınırlar, varsayılan değeri 16 MB'tır. Değeri yükseltmek aktarımı hızlandırmaz. Günümüzün RP haritaları için bu yol yalnızca bir yedek çözümdür.
Web sunucusu üzerinden FastDL
FastDL'de istemciler dosyaları HTTP üzerinden bir web alanından indirir. Adresi server.cfg dosyasına yazarsın:
sv_downloadurl "http://fastdl.example.com/garrysmod/"
FastDL'yi bu tek değişken açar. sv_allowdownload yalnızca oyun sunucusundan doğrudan indirmeyi yönetir. Web alanı, sunucunun klasör yapısını birebir yansıtır. Yani harita .../garrysmod/maps/rp_example.bsp adresinden erişilebilir olmalıdır. İstersen yanına bzip2 ile sıkıştırılmış bir sürümünü rp_example.bsp.bz2 adıyla koyarsın. İstemci önce sıkıştırılmış dosyayı ister ve onu kendisi açar, bu da BSP zaten sıkıştırılmış değilse indirmeyi hatırı sayılır ölçüde kısaltır.
Adresi bir tarayıcıda test et. Dosya orada açılmıyorsa oyunda da inmez.
Steam Workshop
Harita bir Workshop addon'u olarak mevcutsa dağıtımı Steam üstlenir. Sunucu, addon'larını başlatma satırında belirttiğin bir koleksiyon üzerinden yükler:
+host_workshop_collection 1234567890
Çalışan harita bu koleksiyondan geliyorsa sunucu onu istemcilerin indirmesi için kendiliğinden işaretler. İçerik barındıran diğer Workshop addon'ları için, örneğin bir texture paketi için, addon'un ID'sini sunucu tarafındaki bir Lua dosyasına yazarsın, örneğin garrysmod/lua/autorun/server/workshop.lua:
resource.AddWorkshop("9876543210")
Bu sayı, ilgili Workshop öğesinin kendi adresindeki ID'dir, koleksiyonun ID'si değildir.
Artılar ve eksiler karşılaştırması
| Yol | Hız | Zahmet | Avantajlar | Dezavantajlar |
|---|---|---|---|---|
| Doğrudan indirme | çok yavaş | yok | hemen çalışır | boyut sınırı, uzun bekleme, oyun sunucusuna yük bindirir |
| FastDL | hızlı | web alanı ve bakım | dosyalar üzerinde tam kontrol, herkese açık bir listeleme gerekmez | her güncellemede dosyaların iki yerde güncellenmesi gerekir |
| Workshop | hızlı | az | güncellemeler ve dağıtım Steam üzerinden, kendi web alanın gerekmez | haritanın Workshop'ta olması gerekir, görünürlüğe ve lisansa dikkat et |
Birçok sunucu ikisini birleştirir: serbestçe erişilebilen addon'lar için Workshop, Workshop'ta olmaması gereken dosyalar için FastDL.
Tipik hatalar ve nedenleri
"Missing map 'maps/rp_example.bsp', disconnecting": İstemcide harita yok ve onu indirememiş. Sırasıyla şunları kontrol et:
- FastDL ve Workshop yoksa:
sv_allowdownloaddeğeri1mi? sv_downloadurldoğru mu ve dosya oradamapsalt klasöründe duruyor mu?.bz2dosyası güncel mi ve bozulmamış mı?- Oyuncu indirmeleri kapatmış mı? Bunun ayarı
cl_downloadfilter.
"Your map [maps/rp_example.bsp] differs from the server's": İstemcide ve sunucuda aynı ad altında farklı dosyalar var. Oyuncu eski kopyayı garrysmod/maps ya da garrysmod/download/maps klasöründen siler ve yeniden bağlanır. Sunucu sahibi olarak bunu, her harita sürümüne ayrı bir dosya adı vererek ve FastDL ile sunucuyu her zaman birlikte güncelleyerek önlersin. .bz2 dosyası kolayca unutulur.
Harita açılıyor ama texture'lar eksik: O zaman BSP'nin içinde olmayan bir içerik ya da gerekli bir oyun eksiktir. Yardım için eksik texture'ları ve error modellerini düzeltme yazısına bak. Mapper'lar ise özel içeriği BSP içine paketleme yazısını faydalı bulacaktır.
Satın alınmış ve korumalı haritalar: lisansa dikkat
Bir harita satın aldığında çoğunlukla onu kendi sunucunda kullanma hakkını edinirsin, dosyayı herkese açık biçimde başkalarına verme hakkını değil. Herkese açık bir Workshop yüklemesi haritayı herkes için serbestçe erişilebilir kılar ve bu yüzden çoğunlukla izin verilen bir şey değildir. Bir dağıtım yolu seçmeden önce lisans koşullarını oku, şüphedeysen mapper'a sor. Kendi sunucunun oyuncuları için FastDL alışılmış yoldur. Temel bilgiler GMod haritası güvenle satın alma yazısında.
Server-Exclusive'li haritalarda bu ayrım önceden belirlenmiştir. Yalnızca paketteki korumalı BSP dağıtılır, diğer tüm dosyalar lisanslı sunucuda gizli kalır. İlkenin nasıl işlediği ve sınırlarının nerede olduğu Server-Exclusive haritalar yazısında anlatılıyor.
Sık sorulan sorular
Haritayı ayrıca resource.AddFile ile eklemem gerekir mi?
Hayır. Sunucu o an çalışan haritayı istemcilere kendiliğinden indirmeye sunar. resource.AddFile yalnızca BSP'ye paketlenmemiş içerik için gerekir.
FastDL mi, Workshop mu: hangisi daha iyi?
Serbestçe erişilebilen haritalar için en rahatı Workshop'tur, çünkü dağıtımı ve güncellemeleri Steam üstlenir. Herkese açık olmaması gereken ya da olmasına izin verilmeyen haritalar için doğru seçim FastDL'dir. İki yol da oyuncular için benzer hızdadır.
GMod indirilen haritaları nereye kaydeder?
Sunucudan ya da FastDL üzerinden gelen haritalar oyuncu tarafında garrysmod/download/maps klasörüne kaydedilir. Workshop içeriğini ise Steam ayrı olarak yönetir.
Oyuncular FastDL'e rağmen neden yavaş indiriyor?
Çoğunlukla istemci dosyayı verilen adreste bulamaz. Sunucunun ayarlarına göre dosyayı ya yavaş olan doğrudan indirmeyle alır ya da hiç alamaz. sv_downloadurl değerinin yazımını, sondaki eğik çizgiyi ve klasör yapısını kontrol et, dosyayı da deneme amacıyla bir tarayıcıda aç.