A csomagkészítés és terjesztés alapjai

A BVE Klub Wiki wikiből

Akár egy már létező kiegészítőt szeretnél megjelentetni az openBVE tartalomkezelőjében, akár egy új kiegészítőt szeretnél készíteni, ez a leírás bemutatja, hogyan tudod ezt megoldani.

Tartalomjegyzék

Hol kell a kiegészítőket tárolni?

Először is meg kell találnod, hogy a tartalomkezelőből letöltött kiegészítők hol vannak a számítógép könyvtárszerkezetében. Alapértelmezésben az openBVE egy operációs rendszertől függő mappába telepíti ezeket. Windows XP alatt ez a következő:

C:\Documents and Settings\USER\Application Data\openBVE\ManagedContent

Más operációs rendszereknél neked kell megkeresned ezt. Alternatívaként elhelyezheted ezt a mappát máshova is. Ha letöltöd a patchet a mappaszerkezethez, akkor a kiegészítők az openBVE\UserData\ManagedContent mappában lesznek megtalálhatók.

Az első kiegészítő megalkotása

Amint megtaláltad, hol tárolja a kezelt kiegészítőket a program, nyisd meg a mappát. Itt minden csomaghoz fogsz találni egy-egy mappát. A mappa neve megegyezik a csomagéval.

Készíts egy mappát azzal a névvel, amit a csomagodnak szeretnél adni. Vedd figyelembe, hogy a csomag neve nem tartalmazhat szóközöket. Vannak még egyéb karakterek is, mint a / \ [ ] . , : ' " $, amiket szintén nem lehet használni. Lehetőleg használj kizárólag betűket, számokat, kötőjeleket és alsó vonalakat.

Nyisd meg a mappát és készíts egy új fájlt package.cfg névvel. Helyezd a következő sorokat bele (példa):

protected = true
version = 0.1
type = route
caption[en-US] = Ginza Line
operator[en-US] = Tokyo Metro
city[en-US] = Tokyo
country[en-US] = Japan
entry = Railway\Route

Először is a protected parancs azt határozza meg, hogy az openBVE letörölheti-e vagy megváltoztathatja-e a kiegészítőt. Hasznos lehet ilyen módon megjelölni az összes saját kiegészítődet, mert így elkerülhető, hogy a véletlenül letöröld őket. Természetesen nem árt biztonsági mentéseket készítened arra az esetre, ha valami balul sül el.

A version árulja el a csomag verziószámát. Hivatalosan a nem teljesen elkészült kiegészítők verziószáma kisebb, mint 1.0, és az elkészült projektek száma 1.0-tól kezdődik. A type parancs a csomag típusát jelöli. Ez lehet route, train, library vagy shared library, azaz pálya, vonat, könyvtár vagy megosztott könyvtár. A caption, operator, city és a country parancsok a többivel együtt olyan parancsok, amik információt szolgáltatnak a kiegészítődről. Kérlek vedd figyelembe, hogy ezek az adatok más és más nyelveken is előfordulhatnak. A teljes kódtáblázatért kattints ide.

A későbbiekben további példákat és megadható adatokat is bemutatunk.

Pályák

Legegyszerűbben úgy hozhatsz létre pályából csomagot, hogy a csomag könyvtárán belül létrehozod a Railway, majd azon belül az Object, Route és Sound mappákat. Ezekbe a mappákba aztán bemásolhatod a pálya fájljait. Az entry sor adja meg az openBVE-nek, hogy hol találhatóak a route fájlok. Ebben az esetben ez a Railway\Route könyvtár kell, hogy legyen.

Vonatok

Egy vonat csomag tartalmazhat egy vagy több vonatot. Minden egyes vonatnak külön könyvtárat kell létrehozni a csomag könyvtárán belül. A könyvtárak neve azonos kell, hogy legyen az adott vonatok nevével. Az entry sor vonatok esetében kihagyható vagy üresen hagyható.

Az első kiegészítőd tesztelése a számítógépen

Most már jó ötlet lenne kipróbálni a kiegészítődet. Indítsd el a játékot és nézd meg, hogy listázva van-e a pályád vagy a vonatod a kiválasztásnál, és hogy megfelelő-e a kategorizálás. Vedd figyelembe, hogy a listák bizonyos esetekben automatikusan le vannak egyszerűsítve. Például ha az összes telepített kiegészítőd japánnak van titulálva, akkor az ország nem fog megjelenni az adatok között, hanem ehelyett a lista átugrik a következő ponthoz, azaz a városhoz, az üzemeltetőhöz, vagy akár magához a kiegészítőhöz.

Azt is vedd figyelembe, hogy a managed content mappában lévő kiegészítőknek tökéletesen kell működniük. Ez azt jelenti, hogy nem lehetnek bennük hibák (és figyelmeztetések sem). A kiegészítők szövegfájljai kizárólag UTF-8 kódolásban lehetnek és platformfüggetlen plugint kell tartalmazniuk, ha szükséges.

A jelenlegi fejlesztői változatban a hibák listája egy szöveges fájlba van kiírva, ahelyett, hogy megjelenne az indítás helyett. Ezt a fájlt a UserData\Settings\log.txt címen találhatod meg.

Első kiegészítőd közzététele

Ahhoz, hogy közzétehess egy kiegészítőd, először engedélyezni kell, majd helyesen becsomagolni, azután feltölteni a szerveredre, szerkeszteni egy leíró fájlt, azt is feltölteni, és végül ennek a fájlnak a linkjét elküldeni az openBVE projektnek. Kérlek olvasd végig a következő pontokat:

Engedélyezés (licensz)

Először is el kell helyezned egy LICENSE fájlt (kiterjesztés nélkül) a csomagodban (a package.cfg mellé). Ezt írd be a fájlba:

This add-on is placed under the following license:

YOU ARE ALLOWED TO MAKE VERBATIM COPIES OF THIS ADD-ON.

There are no terms and no conditions. This applies worldwide and is unlimited in duration. If additional permissions are granted, they are covered in a separate license.
You can find all licenses that are accepted here. If you want to inform users of additional rights, please include them in a separate file.

Csomagolás

Jelenleg egyetlen fájlformátum engedélyezett, ez a .tar.gz, másnéven tarball. Egyszerűen fogd a csomag gyökérkönyvtárát és tömörítsd be. Ha Windowst használsz és erre alkalmas programot keresel, a következő példa megmutatja, hogyan csinálhatod ezt meg a 7-zippel.

A csomag mappájával kezdjük...

Tarball1.png
Tarball2.png
Tarball3.png
Tarball4.png
Tarball5.png
Tarball6.png

...És végül megkapjuk a .tar.gz fájlt, ami érdekel minket. Vedd figyelembe, hogy az openBVE megköveteli, hogy a fájlnevek a tar fájlban mind UTF-8 kódolásúak legyenek. Ha egy olyan programot használsz, ami nem támogatja az UTF-8 kódolást tömörítésnél (mint a 7-Zip), akkor muszáj ASCII karaktereket használnod a kiegészítőben található fájlneveknél.

A leírófájl

Most, hogy becsomagoltad a kiegészítődet, töltsd fel a tárhelyedre. A következő lépés a leírófájl létrehozása. A leírófájl (descriptor) egy szöveges fájl, amit szintén fel kell töltened a szerveredre, de egy fix helyre. A leírófájl információkat tartalmaz a szerveren tárolt csomagról, és később ebben adhatod meg a kiegészítőid frissítéseit is.

Ahhoz, hogy létrehozd a leírófájlt, hozz létre egy szöveges fájlt és másold át a következő parancsokat:

[package]
name = animated-object-demo-route
version = 1.0
size = 1069556
md5 = 4C8D3D814F4A68E4CD7A9C5F784B817A
sources = http://trainsimframework.org/common/animated-object-demo-route.tar.gz
type = route
country[en-US] = Japan
caption[en-US] = Animated Object Demonstration Route
description[en-US] = This minimalistic route shows some animated objects in action...

A leírófájlnak ugyanaz a felépítése, mint a package.cfg-nek, de ennek a [package] paranccsal kell kezdődnie. A fájlon belül annyi ilyen szakasz lehet, amennyit akarsz.

Minden csomaghoz ugyanazok a szükséges parancssorok kellenek. A legfontosabbak a név (name), a verzió (version) és a típus (type). Ami új, az az, hogy meg kell adnod a pontos méretét a csomagodnak és annak az MD5-ét. Ha nem tudod, hogyan csináld ezt, használd ezt a programot. A források egy vesszővel elválasztott lista a kiegészítő pontos elérési címével/címeivel. Ez azt jelenti, hogy a kiegészítőt feltöltheted különböző szerverekre és az openBVE azt fogja letölteni, amit elsőként működőnek talál.

Vedd figyelembe, hogy a címeknek direkt linkeknek kell lenniük, nem HTML oldalnak. Más adatokat, mint az ország (country), az üzemeltető (operator) és a leírás (description) metaadatoknak nevezünk. Az alábbi oldalon részletes információt találsz arról, hogy milyen metaadatokat lehet megadni a csomagokhoz:

Ha kész vagy a leírófájllal, töltsd fel a szerverre, majd küldd el a leírófájl linkjét az openBVE projektnek:

Mail.png

Miután a leírófájlod linkje ismertté vált az openBVE projekt számára, legfeljebb 48 óránként beolvassa a rendszer a benne található adatokat, így gyűjtve információt új csomagokról, már létező csomagok új változatairól vagy a metaadatok frissítéséről. Ez egyrészt azt jelenti, hogy a leíró fájlod linkjét csak egyszer kell elküldeni, másrészt azt, hogy akár 48 óra is eltelhet, mielőtt egy módosítás megjelenik az openBVE-ben.

Fontos, hogy a leírófájlt egy fix helyen tartsd, mert már meglévő csomagok új verzióit csak ugyanabból a leírófájlról fogadja el a rendszer, amelyikben az illető csomag először megjelent. Ezt azonos eredet szabálynak nevezzük (same origin policy). Ez a mechanizmus alapvetően biztosítja, hogy csak az eredeti készítő tudjon új verziót kiadni egy csomagból és senki más.

Az első kiegészítő ismételt tesztelése

Miután beküldted a leírófájl linkjét, nézd meg, hogy megjelenik-e a csomagod a Kiegészítők telepítése lapon. Ne feledd, hogy akár 48 óra is eltelhet a megjelenésig. Amikor megjelenik a kiegészítőd kék ikonnal, érdemes egy másik mappába telepített openBVE-vel letölteni és kipróbálni. Ha működik, akkor gratulálunk, sikeresen kiadtad a csomagot a tartalomkezelőben! Ha nem működik, javítsd ki a problémát mielőbb. Ne feledd, hogy a javítást követően emelned kell a verziószámot és a változásoknak megfelelően módosítanod kell a leírófájlt, végül ismét fel kell töltened a csomagot és a leírófájlt a szerverre. Tudd, hogy a rosszul működő kiegészítőket blokkoljuk, illetve ha nem felel meg a licensz vagy a csomagolás, akkor eleve el se fogadjuk őket. Ha a kiegészítőd nem jelenik meg a Kiegészítők telepítése lapon 48 óra elteltével, nézd meg a log fájlt, keresd meg és olvasd el a leírófájloddal (descriptor) és a csomagoddal foglalkozó bejegyzéseket.

További lehetőségek tapasztalt fejlesztőknek

Mostanra megtanulhattad, hogyan kell elkészíteni egy önálló csomagot. Mindemellett gyakran szükség lehet arra, hogy egy kiegészítő több csomagra bontva jelenjen meg. Például elég egyszer feltölteni egy kocsit, majd azt több vonatban is használni lehet, illetve spórolni lehet ezáltal a tárhellyel. Szintén jól jöhet a kiegészítő több csomagra bontása, ha módosítani kell egy elemen: a módosítást csak egyszer kell elvégezni, és az rögtön minden, az adott elemet tartalmazó kiegészítőben megjelenik. Ha kíváncsi vagy rá, hogyan lehet több csomagra osztani egy kiegészítőt, olvasd el az erről szóló lapot. Ha nem, menj vissza a kezdőoldalra, és nézd meg, milyen útmutatók vannak még a csomagkészítéssel kapcsolatban.

Személyes eszközök
Névterek
Változók
Műveletek
Navigáció
Eszközök