Opensource

Z EreborWiki
Verze z 17. 6. 2018, 15:00, kterou vytvořil SirGlorg (diskuse | příspěvky) (Skriptování)
Přejít na: navigace, hledání

GM tým shardu Erebor se rozhodl otevřít komunitě skripty sphere serveru, na kterých hra běží. Každý hráč tak má možnost podílet se na vývoji hry a opravě chyb. Z důvodů stability a vyvážení hry však GM tým bude nadále pečlivě vybírat, co smí do hry přijít. Pečlivě proto čtěte instrukce na těchto stránkách, kde se dozvíte všechny podmínky potřebné k tomu, aby byla vaše změna přijata a zahrnuta do hry.

GIT Repozitář

Stažení skriptů

Skripty Ereboru jsou uloženy na volně dostupném GIT serveru www.gitlab.com. Práci s GITem zde nebudeme rozebírat, internet je plný desítek návodů a instrukcí, jak s GIT repozitáři pracovat. Nastudujte si proto základy sami, například zde. Pro snažší kontrolu a správu změn doporučuji nainstalovat a používat aplikaci SourceTree. Tato aplikace slouží jako GUI k práci s GITem. Součástí distribuce již je předinstalovaný interní GIT, takže nemusíte dodatečně instalovat vlastní.

Pro stažení a úpravu skriptů budete potřebovat účet na stránkách gitlabu.

Po přihlášení naleznete samotný repozitář Sphere skritpů: Sphere

Pravidla pro změny v repozitáři

Protože Sphere Ereboru pravidelně každé ráno v 5h načítá aktuální skripty z master větve výše uvedeného GIT repozitáře, je naprosto nezbytné, aby byla master větev zabezpečená proti nežádoucím změnám. Z tohoto důvodu není možné provádět změny přímo v master větvi, ale musíte nejdřív vytvořit boční větev se svými změnami a požádat o tzv. merge do hlavní větve. Tuto žádost o merge potom schvalují ověření uživatelé s dobrou znalostí kódu. Během vaší žádosti o merge budete s vysokou pravděpodobností vyzváni o dodatečné úpravy, pokud při revizi vašich změn kontrolující člověk nalezne nějaké nedostatky. Chcete-li, aby vaše změny byly použity, je vaší vlastní povinností všem požadavkům vyhovět a provést potřebné úpravy.

Jména větví

Jména větví je nutné rozlišovat podle účelu. V tuto chvíli jsou povolené 3 prefixy:

  1. bugfix/* - opravy chyb
  2. feature/* - nové vlastnosti - např. nové ability monster/hráčů, nová past do dungeonu apod.
  3. quest/* - nové questy nebo rozšíření stávajících

Základní sekvence kroků pro úpravy

  1. před zahájením změn se ujistěte, že váš lokální repozitář odpovídá aktuálnímu stavu master větve
    1. poprvé (ještě nemáte klon repozitáře u sebe): CLONE https://gitlab.com/erebor/sphere.git
    2. následné úpravy: CHECKOUT master && PULL
  2. vytvořte novou branch s odpovídajícím jménem: branch quest/q0234_novej_quest
  3. úpravujte kód, testujte
  4. COMMIT všech změněných souborů & PUSH
  5. Vytvořte Merge request:
    1. Jděte na stránku Sphere
    2. V navigačním panelu vyberte Repository > Branches.
    3. Nalezněte svou větev a klikněte na tlačítko 'Merge Request'
    4. Vyplňte formulář změn:
      1. Zadejte stručné jméno změny.
      2. V Description detailně popište, čeho se vaše změny týkají a pokud je nutný ruční zásah ve hře, uveďte postup, který je třeba vykonat (např. osazení nových quest NPC a podobně).
      3. Jako Assignee zvolte uživatele Pavel Mičan.
      4. Ujistěte se, že Source Branch je vaše větev a Target Branch je master.
      5. Zaškrtněte obě volby "Remove source branch when merge request is accepted." a "Squash commits when merge request is accepted.".
      6. klikněte na tlačítko "Submit merge request"
  6. Vyčkejte, než se někdo z GM týmu bude věnovat vaší žádosti o merge - doporučuji zrevidovat vaše e-mailové notifikace na vašem gitlab účtu a v nastavení Sphere repozitáře tak, abyste byli včas upozorněni na komentáře k vaším žádostem.
  7. V případě, že budete požádání o dodatečné úpravy, proveďte je a až budete hotovi, znovu proveďte COMMIT && PUSH (v té samé větvi, pro kterou jste vytvořili Merge request).
  8. GM odsouhlasí a mergne váš merge request - druhý den budou vaše změny ve hře.

Spuštění a login

Po stažení zdrojových souborů bude většina věcí připravena na spuštění. Sphere ovšem ještě potřebuje znát cestu k MUL souborům, které jsou příliš velké a jejich změna a distribuce jsou nezávislé. Tyto mul soubory obsahují grafiku předmětů a mapu a jsou součástí vaší instalace UO pro Erebor server. Pro správnou funkčnost Sphere můžete zvolit jeden ze 2 následujících kroků

Úprava sphere.ini

  1. v libovolném textovém editoru si otevřete soubor sphere.ini nacházející se v kořeni vašeho lokálního repozitáře Sphere
  2. najděte řádek obsahující "MULFILES=muls\"
  3. změňte uvedenou cestu tak, aby mířila na vaši lokální instalaci UO Ereboru, např: "MULFILES=C:\Program Files (x86)\Erebor"

Kopie MUL souborů

  1. otevřete si adresář s instalací Ereboru (typicky Program Files (x86)/Erebor)
  2. vyberte všechny soubory s příponou .mul
  3. zkopírujte soubory do vašeho lokálního GIT repozitáře Sphere: sphere/muls

Start Sphere

Pokud jste všechny výše uvedené kroky provedli správně, měli byste nyní být schopní spustit soubor SphereSvr.exe. Při startu na vás vyskočí velké množství WARNINGu. To je běžné z důvodů použití tzv. custom triggerů. Mějte se však na pozoru, jediným warningem, který byste měli vidět je "Unknown trigger ...". (pozn. v době, kdy je psána tato poznámka můžete vidět nekolik výskytů chyby "Redef resource", což je ovšem skutečná chyba v kódu, která by měla být opravena, kód je ovšem jinak funkční).

Účty a připojení

Pro účely rychlé práce a vývoje jsou pro vás připraveny 3 účty. Jejich popis naleznete v souboru accounts/sphereaccu.scp. Podle vzoru, který vidíte můžete libovolně přidávat další účty, pokud budete potřebovat. GM účty musí mít nastavený PLevel=6 a vyšší (zástupné jméno "Plevel=GM"). Běžný hráčský účet nemusí mít Plevel vůbec uvedený.

Pro nalogování na vaší lokální Sphere prvně jděte do vaší instalace Erebor UO a změňte IP adresu v souboru login.cfg na hodnotu: LoginServer=127.0.0.1,2593 (nezapomeňte si poznamenat původní hodnotu, abyste se mohli znovu připojit na ostrý server). Pokud používáte Injection, můžete pro jednodužší přepínání mezi servery (ostrý a lokální sphere server) využít Injection Launcher, kde si můžete uložit různé servery a pod jednotlivými servery i různé účty.

Nyní už stačí spustit herního clienta Ereboru. Prvně zkuste přihlášení z původními účty administratora: Account name: admin, password: admin

Skriptování

Zde naleznete seznam stránek se základními informacemi o skriptování