Sunucu ve topluluk

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

  1. .bsp dosyasını FTP ya da SFTP ile garrysmod/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.
  2. Haritaya ait başka dosyalar varsa bunlar ilgili klasörlere gider. Bir .nav dosyası da garrysmod/maps/ içinde durur, paketlenmemiş içerik ise materials, models ya da sound klasörlerine gider. İçerik BSP'ye paketlenmişse bu adımı atlayabilirsin.
  3. Haritayı başlangıç haritası olarak ayarla. Sunucunun başlatma satırında bunu +map rp_example ile, oyun modunu ise +gamemode darkrp ile yaparsın. Birçok hosting sağlayıcısı web panelinde bunun için bir alan sunar.
  4. Çalışan bir sunucuda, sunucu konsolunda ya da RCON üzerinden changelevel rp_example ile 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ı

YolHızZahmetAvantajlarDezavantajlar
Doğrudan indirmeçok yavaşyokhemen çalışırboyut sınırı, uzun bekleme, oyun sunucusuna yük bindirir
FastDLhızlıweb alanı ve bakımdosyalar üzerinde tam kontrol, herkese açık bir listeleme gerekmezher güncellemede dosyaların iki yerde güncellenmesi gerekir
Workshophızlıazgüncellemeler ve dağıtım Steam üzerinden, kendi web alanın gerekmezharitanı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_allowdownload değeri 1 mi?
  • sv_downloadurl doğru mu ve dosya orada maps alt klasöründe duruyor mu?
  • .bz2 dosyası 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ç.