Projekt Darkstar - Project Darkstar

Projekt Darkstar
Původní autořiSun Microsystems
První vydání30. srpna 2007 (2007-08-30)
Stabilní uvolnění
0.9.11 / 29. října 2009; Před 11 lety (2009-10-29)
NapsánoJáva
PlošinaJáva
TypMiddleware MMOG
LicenceGPLv 2, BSD
webová stránkahttp://www.projectdarkstar.com/

Projekt Darkstar byl open-source MMOG middleware řešení napsané v Jáva. Projekt Darkstar začal jako osobní projekt Jeffa Kesselmana v roce 1999. Později se stal výzkumným projektem ve společnosti Sun Microsystems,[1] a zaměřené na „pomoc vývojářům a provozovatelům vyhnout se řadě závažných, přesto typických problémů spojených s masovými online hrami, virtuálními světy a dnešními aplikacemi sociálních sítí, včetně přetížení zón, poškození dat a nedostatečného využití serverů.“[2][3]

Dějiny

Projekt Darkstar začínal jako osobní projekt Jeffa Kesselmana v roce 1999, zatímco pracoval jako Senior Engineer pro integraci her v Total Entertainment Network. V roce 2004 byla založena společnost Sun's Game Technology Group a v té době pan Kesselman přinesl třetí iteraci projektu do společnosti Sun, kde byl nazván Sun Game Server. (Přezdívka SGS přežije dodnes v názvech balíků serveru Project Darkstar Server.)

Pan Kesselman rok pracoval na třetí verzi jako sólový projekt v Sunu a debutoval v rané verzi na konferenci vývojářů her v tomto roce. Po reorganizaci kanceláře Software CTO v roce 2005 byl projekt přesunut do Sun Labs pod vedením Sun Labs Karla Haberla. Karl zvýšil lidskou sílu a přidal Setha Proctora a Dana Ellarda jako spoluřešitele, stejně jako dodavatele Jamese Megquiera a Stena Andersona. Tento tým dodal to, co je nyní známé jako verze Early Access, první fungující server, pro GDC 2005.

2. února 2010, v důsledku nákupu společnosti Sun společností Oracle, Jim Waldo zveřejnil na fóru „Oznámení o projektu“, že „vývojové úsilí společnosti Sun Labs již není vyvíjeno na vývoj Darkstar“. Řada členů týmu Sun Labs a řada členů komunity Darkstar nějakou dobu pracovala na RedDwarf Server jako nástupce Darkstar.[4]

Funkce

Přehled sítě Project Darkstar.

Když je spuštěna implementace serveru Project Darkstar, buď spustí novou síť, nebo se připojí k právě spuštěné síti. Všechny sítě obsahují klienty, serveru implementace, zásobník Project Darkstar, na kterém běží implementace serveru, a několik meta-služba uzly, které zpracovávají provoz mezi jednotlivými uzly v zásobníku serveru. Implementace serveru je vytvořena uživatelem program napsáno s projektem Darkstar API. Mezi klienty patří všechny aplikace a hry na straně klienta, které jsou připojeny k hernímu serveru v síti.

Projekt Darkstar je vyvíjen tak, aby podporoval všechny funkce zásadní pro masivně multiplayerovou hru a zároveň byl dostatečně škálovatelný, aby podporoval nemasivní online hry pro více hráčů.[5] Existuje tedy mnoho funkcí, které podporuje, a mnoho funkcí, které se do něj aktivně implementují a integrují.

API Project Darkstar je klíčovou komponentou pro vývojáře, kteří tuto technologii používají. Díky tomu mohou vyvíjet herní servery, aby správně komunikovaly s jejich klientskou technologií a mít spuštěný server, který běží na vrcholu herního zásobníku Project Darkstar. Rozhraní API je napsáno tak, aby skrylo souběžnost podkladového systému, který zásobník projektu Darkstar provádí pro vývojáře, aby bylo možné program psát s iluzí, že jde o jedno vlákno, i když je zásobník plně paralelní. Mezi hlavní části API patří úkol správa, data vytrvalost a komunikace kanálu.[6]

Řízení informací na serveru Project Darkstar se obvykle provádí pomocí úkolů, i když v některých zvláštních případech nejsou nutné. Používají se v případech, kdy musí být úložiště nebo načítání dat chráněno ze serveru pád nebo vypnout, protože úkoly jsou ukládány a pamatovány, když jsou spuštěny, a mohou být obnoveny, když je server restartován ve stejném stavu, v jakém byly před pádem.[7] To je užitečné například při aktualizaci informací o postavách. Pokud se interně něco pokazí se serverem, informace o znaku přetrvávají a při restartu serveru se informace o znaku obnoví z posledního stavu, ve kterém byl před selháním.[Citace je zapotřebí ]

Berkeley DB používaný projektem Darkstar ukládá všechna data, která mají být zachována. Cokoli, co má být uloženo v databáze také musí být serializovatelný jako databáze je naprogramován tak, aby ukládal binární informace. Spravovaným objektem může být cokoli od dat hráče (tj. Pozice, vybavení) až po interní data serveru a logiku řízení (tj. Škálovatelná datová struktura, úkoly). Užitečnost spravovaných objektů je vidět v případě selhání serveru. Protože spravované objekty se aktualizují transakčně, veškerá poškozená data se na serveru zahodí restartovat a spravovaný objekt je stáhl se do posledního funkčního stavu.[Citace je zapotřebí ]

Kanály umožňují vývojářům snadný způsob komunikace s mnoha klienty. Způsob práce kanálů spočívá v tom, že klientům poskytuje způsob předplatného kanálů, aby mohli posílat zprávy na kanál a přijímat zprávy z kanálu. Když je zpráva odeslána na kanál od klienta nebo serveru, zpráva je vícesměrové vysílání všem klientům, kteří si jej předplatili. Jedná se o abstrakci postavenou na vrcholu komunikační vrstvy, která pomáhá při vývoji snadné a rozšiřitelné komunikace mezi mnoha klienty a serverem.[Citace je zapotřebí ]

Pozoruhodná použití

Recepce

Někteří autoři navrhli, že správa prostředí Central Object Store a Distributed Random Access nemusí být ve vysoce interaktivním herním prostředí realisticky možná.[10]

Červený trpaslík

Logo serveru RedDwarf.png

RedDwarf Server byl open-source middleware řešení pro vývoj na straně serveru z masivně online hry pro více hráčů. Byla to oficiální komunitní vidlice Project Darkstar. Jakmile společnost Oracle ukončila podporu projektu, komunita rebranded nejnovější codebase repozitářů Project Darkstar a vydal jej jako RedDwarf Server.[11] RedDwarf zdědil licenční schéma Project Darkstar, přičemž RedDwarf Server byl distribuován pod GPLv2 a API serveru, která jsou zpřístupněna pod GNU General Public License (GPL) s výjimka classpath. Klientská API Java a C - dostupná jako součást projektu RedDwarf - byla distribuována pod a Licence BSD.[12]

Klienti mohou se serverem komunikovat pomocí a Jáva nebo C API. Komunita také vydala klientská API pro další platformy včetně C#, Krajta, Cíl-C, a ActionScript.[13] Server RedDwarf používá pro síťovou komunikaci vestavěný protokol.[14]

Reference

  1. ^ Stephen Shankland (2006). „Projekt Sunstar Darkstar usiluje o herní služby“. CNET. Citováno 2012-02-27.
  2. ^ Brent Rabowsky; Radiosity Press (8. ledna 2010). Interactive Entertainment: A Videogame Industry Guide. hraindustrybook. str. 55. ISBN  978-0-9842984-1-9. Citováno 27. února 2012.
  3. ^ Tim Blackman (2006). „Škálovatelné úložiště dat v projektu Darkstar“ (PDF). Oracle.com. Citováno 2012-02-27.[trvalý mrtvý odkaz ]
  4. ^ "RedDwarf Server". web.archive.org. 2010-02-17. Citováno 2020-07-17.
  5. ^ Andrew Davison (30. dubna 2007). Vývoj her Pro Java 6 3D: Java 3D, JOGL, JInput a JOAL API. Springer. str. 10. ISBN  978-1-59059-817-7. Citováno 27. února 2012.
  6. ^ Diomidis Spinellis; Georgios Gousios (22. ledna 2009). Krásná architektura. O'Reilly Media, Inc. str. 52. ISBN  978-0-596-51798-4. Citováno 27. února 2012.
  7. ^ Václav Snasel; Jan Platos; Eyas El-Qawasmeh (20. srpna 2011). Digitální zpracování informací a komunikace: Mezinárodní konference, ICDIPC 2011, Ostrava, Česká republika, 7. – 9. Července 2011. Sborník. Springer. str. 219. ISBN  978-3-642-22388-4. Citováno 27. února 2012.
  8. ^ Joseph Fong; Reggie Kwan; Fu Lee Wang (2008). Hybridní učení a vzdělávání: První mezinárodní konference, Ichl 2008 Hong Kong, Čína, sborník 13. – 15. Srpna 2008. Springer. str. 57. ISBN  978-3-540-85169-1. Citováno 27. února 2012.
  9. ^ Youngkyun Baek (1. dubna 2010). Hry pro učení ve třídě: digitální hraní rolí jako motivátor studia. Idea Group Inc (IGI). str. 272. ISBN  978-1-61520-713-8. Citováno 27. února 2012.
  10. ^ Hamido Fujita; Imran Zualkernan (15. října 2008). Nové trendy v softwarových metodikách, nástrojích a technikách: postup ze sedmého SoMeT_08. IOS Press. str. 359. ISBN  978-1-58603-916-5. Citováno 27. února 2012.
  11. ^ http://www.reddwarfserver.org/?q=content/welcome
  12. ^ http://www.reddwarfserver.org/?q=content/open-source-online-gaming-universe
  13. ^ http://sourceforge.net/apps/trac/reddwarf/wiki/Extensions
  14. ^ https://svn.java.net/svn/sgs-server~svn/branches/sgs-server-0.9.10/sgs-server/src/main/resources/com/sun/sgs/impl/kernel/doc- files / config-properties.html

externí odkazy