MaNGOS
Template:Infobox Software MaNGOS (Massively Network Game Object Server) è un progetto open source scritto in C++ facendo uso della programmazione orientata agli oggetti, volto a creare un applicativo server per MMORPG. Il progetto è sotto licenza GPL, e il codice sorgente delle nuove versioni viene costantemente rilasciato nel servizio git di GitHub. Attualmente il progetto supporta il protocollo di rete del mmorpg World of Warcraft. MaNGOS non è considerato un emulatore server di uno specifico mmorpg, bensì è un progetto educativo per la programmazione ad oggetti in C++, a cui tutti gli utenti possono apportare il proprio contributo, aumentando così il patrimonio cognitivo di tutta la community di utenti/sviluppatori.
Ulteriori informazioni
Tramite il repository ufficiale è possibile scaricare il pacchetto di sorgenti del programma, in modo che chiunque possa creare i binaries per il proprio sistema operativo tramite un apposito compilatore C++. Sul sito ufficiale del progetto esiste una sezione apposita in cui gli utenti possono inserire le proprie compilazioni, rendendole disponibili agli altri utenti.
Funzionamento
Il programma principale si occupa fondamentalmente di gestire le connessioni dai client, estrapolare i dati dal database e gestire il mondo del mmorpg in questione. Il database su cui si appoggia il progetto MaNGOS è di tipo MySQL o PostgreSQL. La struttura del database è sviluppata dallo stesso team del progetto; per quanto riguarda i contenuti, esistono diversi team di sviluppo che, nel tempo, rilasciano versioni sempre piu aggiornate di database per MaNGOS ed i MMORPG da esso supportati.
UDB
Il UDB (o Unified Database) è un progetto open source nato per fornire una base dati al progetto MaNGOS. La struttura del database (di tipo MySQL) rimane comunque quella creata dal team di sviluppo di Mangos. Il UDB è un progetto nato dalla fusione di due team di sviluppo, nel mese di settembre 2007: il SilverDatabase e il MoDB.
I dati riguardano tutto ciò che si può trovare all'interno del mmorpg per cui è predisposto MaNGOS. I dati presenti nel database riguardano quindi fondamentalmente i PnG, gli item e le quest che devono essere presenti nel gioco.
Il progetto è costantemente aggiornato grazie alle segnalazioni create dagli utenti stessi, i quali, notando determinate mancanze in fase di test, possono segnalare queste ultime al team (o agli altri utenti), oppure provvedere a sviluppare i dati mancanti. Successivamente questi dati (o patch) potranno essere sottoposti all'attenzione degli sviluppatori, i quali decideranno se includerli all'interno della prossima release ufficiale. Le patch vengono sviluppate in linguaggio SQL.
Nel mese di maggio 2009 il progetto si è unito a quello di TDB (TrinityDatabase), quest'ultimo era un progetto nato per fornire una base dati al progetto Trinity (il progetto Trinity è un derivato di MaNGOS). Dopo la fusione il progetto UDB supporta entrambi i due progetti: MaNGOS e Trinity.
Project Silvermoon
Come sopra, il Project Silvermoon Database (o PSDB) è un progetto open source nato per offrire una base dati a Mangos. Il progetto è nato a Settembre 2006, con l'obiettivo iniziale di sviluppare una base dati consistente per la prima espansione del gioco.
Utenti e amministratori postano sul forum i propri fix/patch in linguaggio SQL, e gli amministratori decideranno se includerli o meno nella revision successiva del database.
Inoltre, come ulteriore miglioramento, prima di rilasciare nuove versioni del database, gli amministratori scandagliano altri database in modo tale da cercare nuovi fix non ancora inclusi. Questa è una caratteristica che ha permesso al PSDB di crescere in maniera esponenziale.
ScriptDev2
ScriptDev2 è un progetto open source nato inizialmente per fornire un'intelligenza artificiale ai boss, successivamente si è sviluppato per aggiungere azioni o rude intelligenza artificiale ad ogni aspetto del gioco[1]. ScriptDev2 è quindi un'estensione di MaNGOS ed è scritta in C++.
Patch
Affiancati allo sviluppo principale del programma, esistono diversi progetti di estensione portati avanti da utenti volontari. Queste estensioni (o patch) possono correggere gli aspetti più disparati del codice nativo del programma. Solitamente, col passare del tempo, se queste patch risultano stabili e affidabili, vengono integrate nel codice nativo di mangos. Ad esempio, con il rilascio della Milestone "Eye of the Storm", è stata integrata la patch "Vmaps" o "LineOfSight", che permette al programma di gestire correttamente gli ambienti tridimensionali estratti dal client di gioco.
Roadmap
- Milestone 0.0.1 – Endeavour (13 settembre, 2005)
- Milestone 0.0.2 – Library (31 ottobre, 2005)
- Milestone 0.0.3 – Mango Carpet (Non rilasciato pubblicamente)
- Milestone 0.1 – Lightbringer (4 dicembre, 2005)
- Milestone 0.5 – Stable Master (20 settembre, 2006)
- Milestone 0.6 – Black Dragonflight (29 gennaio, 2007)
- Milestone 0.7 – Eye of the Storm (24 agosto, 2007)
- Milestone 0.8 – Innkeeper (17 ottobre, 2007)
- Milestone 0.9 – Flight Master (18 dicembre, 2007)
- Milestone 0.10 - (17 aprile 2008)
- Milestone 0.11 - (22 luglio 2008)
- Milestone 0.12 - (30 ottobre 2008)
- Milestone 0.13 - (10 giugno 2009)
Note
Collegamenti esterni
- Sito ufficiale del progetto MaNGOS
- Sezione MaNGOS di GitHub
- Sito ufficiale del progetto UDB
- Sezione di UDB di Sourceforge
- Sito ufficiale del progetto ScriptDev2
- Sezione ScriptDev2 di Sourceforge
- Sito ufficiale dei progetti MaNGOS (e derivati) italiano