Sunucu ve topluluk

GMod haritasını Steam Workshop'a yükleme: adım adım

GMod haritasını Workshop'a yükle: addon.json içeren bir klasör oluştur, gmad.exe ile .gma üret, gmpublish.exe ile yayınla. En sık görülen hatalarla.

Bir GMod haritasını üç adımda yayınlarsın: içinde bir addon.json ve maps/ altında BSP bulunan bir klasör oluşturursun, gmad.exe ile bundan bir .gma dosyası üretirsin ve onu gmpublish.exe ile, 512 × 512 piksellik bir ikonla birlikte yüklersin. Yeni öğe başlangıçta gizlidir ve ancak Workshop sayfasında herkese açık yaptığında görünür olur. Yükleme başarısız olursa neden çoğunlukla whitelist'te olmayan bir dosya, addon.json ya da ikondur.

Önce karar ver: Workshop mu, satış mı

Herkese açık bir Workshop öğesi ücretsizdir ve herkesin erişimine açıktır. Bu temiz biçimde geri alınamaz: Steam Abone Sözleşmesi'ne göre öğeyi sonradan kaldırmak, bir kopyayı zaten edinmiş kullanıcıların haklarını etkilemez. Bu yüzden satmak istediğin bir haritanın önceden Workshop'ta işi yoktur. Öte yandan Workshop, serbestçe erişilebilir olması istenen her şey için en rahat yoldur, çünkü dağıtımı ve güncellemeleri Steam üstlenir. Bir sunucunun bakış açısından artılar ve eksiler özel harita mı, Workshop haritası mı yazısında, satışa giden yol ise GMod haritası satmak yazısında ele alınıyor.

Klasör düzeni ve addon.json

Teknik olarak bir Workshop addon'u tek bir .gma dosyasıdır: garrysmod/ gibi düzenlenmiş bir klasörden oluşturulan bir arşiv. Klasörün adı önemli değildir. Bir harita için şöyle görünür:

rp_harbourtown/
  addon.json
  maps/rp_harbourtown_v2.bsp
  maps/rp_harbourtown_v2.nav
  maps/graphs/rp_harbourtown_v2.ain
  maps/thumb/rp_harbourtown_v2.png
  materials/...
  models/...
  sound/...

materials/, models/ ve sound/ klasörlerine yalnızca BSP'nin içinde olmayan içerik için ihtiyacın var. Çoğunlukla her şeyi paketlemek daha kolaydır, bkz. özel içeriği BSP içine paketleme. maps/thumb/ altındaki görsel, oyunun harita seçiminde görünür. GMod'la birlikte gelen küçük resimler 128 × 128 piksellik PNG dosyalarıdır.

addon.json addon'u tanımlar:

{
	"title": "rp_harbourtown",
	"type": "map",
	"tags": [ "roleplay", "scenic" ],
	"ignore": [ "*.vmf", "*.psd" ]
}
Alanİzin verilen değerler
titleAddon'un adı, ideal olarak yalnızca ASCII karakterler
typeşunlardan biri: gamemode, map, weapon, vehicle, npc, entity, tool, effects, model, ServerContent
tagsşunlardan en fazla ikisi: fun, roleplay, scenic, movie, realism, cartoon, water, comic, build
ignoreArşive girmemesi gereken dosyalar için kalıplar

gmad.exe ile .gma oluşturma

gmad.exe ve gmpublish.exe, oyun kurulumunun GarrysMod/bin klasöründedir. GMod wiki'si gmad'ı başka bir yere taşımaya karşı uyarır.

gmad.exe create -folder "C:\maps\rp_harbourtown" -out "C:\maps\rp_harbourtown.gma"

gmad her dosyayı bir whitelist'e göre kontrol eder ve biri geçemezse File list verification failed ile işlemi keser. maps/ altında yalnızca .bsp, .nav, .ain, .lmp ve maps/thumb/ altındaki PNG dosyalarına izin verilir; bunlara materyaller, modeller, sesler ve Lua için alışılmış formatlar eklenir. -warninvalid seçeneğiyle gmad geçersiz dosyaları işlemi kesmek yerine atlar.

MesajNeden
[Not allowed by whitelist]Dosya türüne ya da klasöre izin verilmiyor, örneğin .vmf, maps/ ya da scripts/ altında .txt (scripts/vehicles/ hariç), modellerde .sw.vtx
[Filename contains captial letters]Yolda büyük harfler var. gmad dosyayı yine de oluşturur, ama onu yeniden adlandır
addon.json error: Couldn't find fileaddon.json klasörde yok
Couldn't parse jsonaddon.json içinde sözdizimi hatası, örneğin eksik bir virgül
type isn't a supported type!type değeri listede yok
too many tags - specify 2 only!ikiden fazla tag

Whitelist'in mapper'lar için önemli bir sonucu var: soundscape script'leri (scripts/soundscapes_<mapname>.txt) ve bir parçacık manifestosu (maps/<mapname>_particles.txt) ayrı dosyalar olarak gönderilemez. Alışılmış çıkış yolu bunları BSP'ye paketlemektir. Soundscape'ler için bu, Valve Developer Community'de belgelenmiştir. Paketlemeden sonra seslerin ve parçacıkların gerçekten yüklendiğini oyunda kontrol et.

gmpublish.exe ile yayınlama

Yeni bir öğe oluşturma komutu şudur:

gmpublish.exe create -icon "C:\maps\rp_harbourtown.jpg" -addon "C:\maps\rp_harbourtown.gma"
  1. İkonu hazırla. Tam olarak 512 × 512 piksellik, baseline JPEG olarak (progressive değil) kaydedilmiş ve 1 MB'tan küçük bir JPEG olmalıdır. Wiki ayrıca 4:2:0 renk alt örneklemesinden söz eder. PNG çalışmaz.
  2. Steam'i başlat ve öğenin sahibi olması gereken hesapla giriş yap. gmpublish, çalışan Steam istemcisi üzerinden işler.
  3. Komutu çalıştır. Steam'in Workshop sözleşmesini henüz kabul etmediysen gmpublish işlemi keser ve bunun için gereken adresi yazdırır. Başarılı olursa çıktıda Success! Your new item ID is ve ardından ID yer alır. Bunu not et.
  4. Sayfayı doldur. gmpublish yeni öğenin gizli olarak işaretlendiğini bildirir. Öğeyi Workshop'ta aç, bir açıklama ve ekran görüntüleri ekle.
  5. Görünürlüğü ayarla. Öğeyi ancak bundan sonra herkese açık yaparsın.

Steam'de dört görünürlük düzeyi vardır: herkese açık, yalnızca arkadaşlar, gizli (yalnızca sen) ve liste dışı. "Liste dışı", bağlantıya sahip herkesin öğeyi görebildiği ama öğenin hiçbir aramada çıkmadığı anlamına gelir. Bir sunucunun Workshop addon'larını nasıl yüklediği ve oyunculara nasıl aktardığı FastDL mi, Workshop mu yazısında anlatılıyor.

Güncellemeler ve değişiklik notları

gmpublish.exe list
gmpublish.exe update -id 1234567890 -addon "C:\maps\rp_harbourtown.gma" -changes "v3: fixed spawn in town hall"
gmpublish.exe update -id 1234567890 -icon "C:\maps\rp_harbourtown.jpg"

list yüklediğin öğeleri gösterir. ID ayrıca Workshop sayfasının adresinde ?id= ifadesinden sonra yer alır. -changes isteğe bağlıdır ve notu daha sonra Workshop sayfasındaki "Change Notes" sekmesinde düzenleyebilirsin. Notu yalnızca ASCII karakterlerle yaz, yani Türkçe karakter ya da aksanlı harf kullanma. Wiki'ye göre aksi halde yükleme tamamlanır ama not eksik olur. Wiki'ye göre başlık, açıklama ve görseller Workshop sayfasında değiştirilir.

Yeni sürümleri yeni bir öğe olarak değil, bu öğenin güncellemesi olarak yayınla. GMod için Workshop kuralları bunu önerir. Sunucular addon'larındaki güncellemeleri yeniden başlatılırken kontrol eder. O zamana kadar orada eski BSP çalışır ve GMod wiki'sine göre bu, oyuncuların katılmasını engelleyebilir. Yeni bir sürümün neden yeni bir dosya adı da alması gerektiği harita adları ve sürümleri yazısında anlatılıyor.

Üçüncü taraf içerik: kurallar ne diyor

Bu bir hukuki tavsiye değil, kurallarda yazanların bir özetidir.

  • Steam Abone Sözleşmesi'nde, bir Workshop katkısını kendin oluşturduğunu ya da ilgili herkes adına göndermeye yetkili olduğunu ve içerik üzerinde gerekli haklara sahip olduğunu beyan edersin.
  • GMod wiki'si bunu daha açık sözlü ifade eder: yazar kabul etmedikçe kendi yapmadığın addon'ları yükleme, düzeltilmiş sürümlerini bile. Yeniden yüklemeler, orijinali artık mevcut olmasa bile kaldırılır.
  • Workshop kurallarına göre Counter-Strike: Source ya da Half-Life 2 gibi ücretli oyunlardan içerik barındıran addon'lar, addon'un çalışmak için bu prop'lara ihtiyaç duysa bile kaldırılır. Dolayısıyla bu tür dosyaları BSP'ye paketleme.
  • Ayrıca boş öğelere ve test öğelerine, harici bir indirme gerektiren addon'lara ve kullanımını belirli sunucularla sınırlayan addon'lara izin verilmez.

Abone Sözleşmesi uyarınca Valve katkıları herhangi bir nedenle kısıtlayabilir ya da kaldırabilir. Bir haritanın hangi parçalarının haklarının kimde olduğu GMod haritalarında telif hakkının temelleri yazısında açıklığa kavuşturuluyor.

Sık sorulan sorular

maps/ altında .txt dosyasına izin verilmiyorsa bir TTT script'ini nasıl gönderirim?

data_static/ üzerinden. TTT silah ve spawn script'ini önce maps/<mapname>_ttt.txt altında, sonra data_static/<mapname>_ttt.txt altında arar. Whitelist bu klasörde .txt, .json, .xml, .csv ve .dat dosyalarına izin verir.

Bir Workshop öğesini sonradan silebilir miyim?

Evet, Workshop sayfasından, ve bu geri alınamaz. Abonelerin zaten sahip olduğu kopyaları geri getirmez.

Bir haritayı yalnızca kendi sunucuma vermek için "liste dışı" yeterli mi?

Hayır. Bağlantıya sahip herkes öğeye abone olabilir ve katılan her oyuncu dosyayı zaten alır. Herkese açık olmaması gereken haritalar için alışılmış yol FastDL'dir.

Bir addon ne kadar büyük olabilir?

Workshop kuralları 4 GB civarında bir sınırdan söz eder ve bir addon'u birkaç parçaya bölmemeyi tavsiye eder. Yükleme "Compression Failed" bildirirse wiki'ye göre addon fazla büyüktür. Daha küçük texture'lar ilk çaredir, bkz. BSP dosya boyutunu küçültme.