TrinityCore è un framework per applicazioni server di tipo MMORPG basato su MaNGOS, è scritto in C++ mediante programmazione orientata agli oggetti e si appoggia ad un database di tipo MySQL. Il progetto viene rilasciato sotto licenza GPL in modalità rolling release, il codice sorgente viene costantemente aggiornato e rilasciato tramite protocollo git presso il repository ufficiale del progetto, ospitato su GitHub[1].

TrinityCore
software
Schermata di avvio della console di TrinityCore, branch 6.x
Schermata di avvio della console di TrinityCore, branch 6.x
Schermata di avvio della console di TrinityCore, branch 6.x
GenereServer MMORPG (non in lista)
SviluppatoreTrinityCore Team
Ultima versione735.00 (19 febbraio 2018)
Sistema operativoMultipiattaforma
LinguaggioC++
SQL
LicenzaGPL
(licenza libera)
Sito webwww.trinitycore.org

TrinityCore è considerato un progetto educativo, all'interno del quale chiunque può apportare il proprio contributo. Per questo motivo il team ufficiale si limita a rilasciare il codice sorgente, non vengono infatti rilasciati versioni ufficiali del progetto già compilate. L'utente utilizzatore del progetto deve infatti scaricare i sorgenti e compilarli per il proprio ambiente per poter eseguire TrinityCore.

Attualmente TrinityCore supporta diverse versioni del protocollo di rete del MMORPG World of Warcraft.

Nonostante TrinityCore sia ufficialmente un progetto educativo e dovrebbe essere utilizzato esclusivamente per fini didattici, esso deve la propria popolarità al fatto che la maggior parte dei server privati (non ufficiali) di World of Waracraft utilizza proprio TrinityCore (o progetti da esso derivati) come emulatore[2]. Per questo motivo TrinityCore è dotato di una comunità molto grande rispetto agli altri progetti dello stesso tipo.

Nell'anno 2012 TrinityCore si è classificato al 9º posto tra i progetti con il più grande numero di collaboratori unici su GitHub[3]. Attualmente risulta essere tra le prime posizioni dei progetti C++ dotati di maggiori fork su GitHub.[4]

Nell'anno 2008 alcuni membri appartenenti alla comunità di MaNGOS decisero di separarsi dal progetto e fondare TrinityCore (creando come un vero e proprio fork di MaNGOS), criticando l'eccessiva attenzione che gli sviluppatori di MaNGOS avevano per la pulizia e la stabilità del codice in quanto causava ritardi nell'introduzione di nuove caratteristiche e funzionalità, sviluppate da parte di utenti collaboratori, all'interno del codice sorgente ufficiale del progetto.

L'obiettivo di TrinityCore era dunque sviluppare un'applicazione server riuscendo ad introdurre le nuove funzionalità proposte dalla comunità in tempi abbastanza brevi.

Inizialmente TrinityCore veniva visto come una copia di MaNGOS meno stabile ma dotata di maggiori funzionalità. In quel periodo la maggior parte dei server privati di World of Warcraft utilizzava MaNGOS o ArcEMU come emulatore.

Con il passare del tempo il codice di TrinityCore venne ripulito e migliorato[5], risolvendo i problemi di stabilità di cui veniva criticato, e sempre più server privati rimpiazzarono i loro emulatori con TrinityCore, andando ad accrescere ulteriormente la sua comunità.

Oggi TrinityCore, nell'ambito dell'emulazione open source di World of Warcraft, può essere indubbiamente ritenuto il progetto che maggiormente ha contribuito alla diffusione degli emulatori MaNGOS-based (emulatori basati su MaNGOS) a danno delle altre tipologie di emulatori.

Differenze rispetto a MaNGOS

modifica

A differenza di MaNGOS, che affidava a progetti satelliti (come UDB, ScriptDev2 e ACID) lo sviluppo dei contenuti del database e dell'intelligenza artificiale viene svolta dallo stesso team di TrinityCore.

Vi è infatti un unico forum di sviluppo, diviso in varie sessioni, ognuna dedicata alla discussione riguardante lo sviluppo di diversi componenti del progetto. Analogamente vi è un unico canale di chat IRC #trinity nel server irc.rizon.net all'interno del quale tutti i membri della comunità hanno la possibilità di discutere e scambiarsi informazioni.

Versioni del client di World of Warcraft supportate

modifica

Esistono diverse branch del repository di TrinityCore, ognuna supporta una versione del client di World of Warcraft differente.

World of Warcraft: Wrath of The Lich King 3.3.5a

modifica

La branch 3.3.5 di TrinityCore supporta la versione 3.3.5a (12340) di World of Warcraft: Wrath of The Lich King.

Attualmente è la branch più completa e stabile, in cui la maggior parte dei contenuti del gioco originale sono stati replicati fedelmente e senza bug frequenti. Fino ad ottobre 2014 è stata la branch principale del progetto. Nonostante non sia più la branch "di punta" riceve ancora molta attenzione da parte di diversi sviluppatori e da una buona parte della comunità.

World of Warcraft: Warlords of Draenor 6.x

modifica

La branch 6.x di TrinityCore supporta l'ultima attuale versione del client World of Warcraft: Warlords of Draenor.

Nuova branch, ancora incompleta e nata ad ottobre 2014, attualmente è la branch principale del progetto, alla quale viene rivolta più attenzione rispetto alle altre[6].

Altre versioni del client

modifica

La branch 4.3.4 di TrinityCore supportava la versione 4.3.4 di World of Warcraft: Cataclysm. Rispetto alla branch 3.3.5a è sempre stata meno stabile e con molti contenuti incompleti o mancanti, è sempre stata una branch "secondaria" e non ha mai raggiunto notevole attenzione da parte della comunità. È stata rimossa in data 11 maggio 2015[7].

Non ci sono altre versioni del client di gioco supportate ufficialmente da TrinityCore. Tuttavia, esistono svariati progetti basati sul codice di TrinityCore e/o MaNGOS in grado di supportare altre versioni del client di gioco, per esempio SkyFire per la versione 5.4.8 World of Warcraft: Mists of Pandaria o CMaNGOS(Classic) per la versione 1.12.x.

  1. ^ github.com, https://github.com/TrinityCore/TrinityCore.
  2. ^ Emulazione di World of Warcraft, su azerothshard.ga. URL consultato il 1º novembre 2015 (archiviato dall'url originale l'8 dicembre 2015).
  3. ^ The Octoverse in 2012 · GitHub
  4. ^ Search · stars:>1 · GitHub
  5. ^ https://www.trinitycore.org/
  6. ^ Copia archiviata, su trinitycore.org. URL consultato l'8 maggio 2015 (archiviato dall'url originale il 16 maggio 2015).
  7. ^ 6.x is now the supported branch 6.1.2 19865 [collegamento interrotto], su TrinityCore. URL consultato il 13 giugno 2015.

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica