Compile MaNGOS On Ubuntu/it
From mangos
Premettendo, per chi non lo sapesse, che per alcuni di questi comandi sotto elencati è necessario inserire (se non si è loggati come root) "sudo" prima di ognuno di essi per disporre delle necessarie autorizzazioni per eseguire il comando (esempio: sudo apt-get update). Ogni volta che si usa questo comando verrà richiesto l'inserimento della password, qui trovate una guida per evitare di inserire ogni volta la password dopo aver digitato il comando sudo.
Contents |
Installazione softwares necessari
Per prima cosa aggiorniamo il sistema, dando il comando:
apt-get update
Se non avete un client di WoW qui c'è il Download: Client & [1] enUS-enGB
Adesso installiamo tutti i softwares di cui avremo bisogno durante l'installazione di MaNGOS dando il comando:
apt-get install build-essential gcc g++ cpp automake git-core autoconf make patch libmysql++-dev libtool libssl-dev grep binutils subversion zlibc libc6 nano wine unrar pkg-config
Successivamente, dobbiamo installare il database mysql, dando questo comando:
apt-get install mysql-server
Al termine del quale vi sarà richiesto l'inserimento di una password, che sarà quella del vostro database. Tenetela sicura.
Ricordo che in sistemi operativi come Ubuntu Server mysql dovrebbe già essere installato insieme ad applicazioni utili per un server come php, apache, ecc...
Per gestire il database potremmo benissimo usare la linea dei comandi, oppure usare programmi dotati di una GUI (interfaccia grafica) come SQLyog.
Ottenere le sorgenti
Create una cartella chiamandola "sources" dove metteremo tutte le sorgenti:
mkdir sources
E spostiamoci dentro di essa semplicemente con il comando:
cd sources
Dando il seguente comando creerete nella directory corrente la cartella "mangos" dentro al quale verranno scaricate le sorgenti del mangos:
git clone git://github.com/mangos/mangos.git
Dopo di che entrate nella cartella mangos con il comando:
cd mangos
E aggiungiamo le sorgenti di ScriptDev2 (che, con questo comando, verranno piazzate in /sources/mangos/src/bindings/ScriptDev2):
svn co https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/ src/bindings/ScriptDev2/
Adesso applichiamo la SD2 patch. Andate nella cartella src/bindings/ScriptDev2/patches/ e vedete qual è la patch (le patch hanno estensione .patch o .diff) con revisione mangos più recente e applicatela sostituendo nel seguente comando il nome della patch in questione al posto di "MaNGOS-XXXX-ScriptDev2.patch":
git am $(ls src/bindings/ScriptDev2/patches/MaNGOS-XXXX-ScriptDev2.patch | grep -v gz)
Compilazione
Diamo questo comando:
autoreconf --install --force;mkdir objdir;cd objdir;
E successivamente, diamo il comando per configurare MaNGOS, IMPORTANTE: sostituite /home/tuoutente con la directory in cui volete che venga create la cartella MaNGOS che conterrà il core del MaNGOS. Per esempio potete inserire al posto di "tuoutente" il nome del vostro utente di Ubuntu:
../configure --prefix=/home/tuoutente/MaNGOS --sysconfdir=/home/tuoutente/MaNGOS/etc --enable-cli --enable-ra --datadir=/home/tuoutente/MaNGOS
Infine, diamo il comando per avviare la compilazione. Questa operazione richiederà molto tempo (dipende dalla velocità del vostro pc). (La directory corrente dev'essere /sources/mangos/):
make; make install
DBC & Maps
Copiate il file ad.exe, che trovate nella cartella "...\sources\mangos\contrib\extractor", nella cartella del vostro client e apritelo. Quando il processo sarà terminato nella cartella del vostro client troverete altre 2 cartelle di nome "dbc" e "maps". Tagliatele e incollatele nella cartella bin del core (genericamente è /home/tuoutente/MaNGOS/bin/), dovrebbe essere la cartella che contiene gli esecutibili mangos-worldd e mangos-realmd.
DataBase
Aprite SQLyog, accedete al vostro database (inserendo i dati che avete scelto mentre installavate MySQL), create 4 database:
-realmd (database accounts&realmlist) <--A cui applicare il dump .../sources/MaNGOS/sql/realmd.sql
-characters (database dei personaggi) <--A cui applicare il dump .../sources/MaNGOS/sql/characters.sql
-scriptdev2 (database script) <--A cui applicare i dump (in ordine):
1) .../sources/MaNGOS/src/bindings/ScriptDev2/sql/scriptdev2_create_structure_mysql.sql
2) .../sources/MaNGOS/src/bindings/ScriptDev2/sql/scriptdev2_script_full.sql
-mangos (dabase world) <--A cui applicare i dump (in ordine):
- PER UN DATABASE PULITO (praticamente con il mondo vuoto: senza npc, quest, ecc..):
1).../sources/MaNGOS/sql/mangos.sql
2).../sources/MaNGOS/src/bindings/ScriptDev2/sql/mangos_scriptname_full.sql
- PER UN DATABASE PIENO (con il mondo completo) usando UDB:
1)Tutti i dump elencati in questa guida
2).../sources/MaNGOS/src/bindings/ScriptDev2/sql/mangos_scriptname_full.sql
Configurazione
Andate nella cartella dove avete piazzato il core del vostro mangos (generalmente /home/tuoutente/MaNGOS/), poi entrate nella cartella etc.
Copiate il file mangosd.conf.dist.in e rinominatelo in mangosd.conf.
Copiate il file realmd.conf.dist.in e rinominatelo in realmd.conf.
Copiate il file scriptdev2.conf.dist.in e rinominatelo in scriptdev2.conf.
Aprite i file mangos.conf, realmd.conf e scriptdev2.conf; e modificate le seguenti stringhe come segue:
in mangos.conf:
LoginDatabaseInfo = "127.0.0.1;3306;root;password;realmd"
WorldDatabaseInfo = "127.0.0.1;3306;root;password;mangos"
CharacterDatabaseInfo = "127.0.0.1;3306;root;password;characters"
in realmd.conf: LoginDatabaseInfo = "127.0.0.1;3306;root;password;realmd"
in scriptdev2.conf: ScriptDev2DatabaseInfo = "127.0.0.1;3306;root;password;scriptdev2"
Al posto di password ovviamente mettete la password del vostro database, quella che avete scelto mentre installavate MySQL (e che usate per accedere al db con SQLyog).
Restarter
Andate nella cartella bin del vostro mangos (dove stanno i file mangos-worldd e mangos-realmd).
Create due nuovi files chiamandoli mangos-realmd.h e mangos-worldd.h.
Adesso aprite con un editor di testo il file mangos-worldd.h e incollategli il seguente codice:
while date;
do MANGOS=`ps -el | grep mangos-worldd`;
if [ -z "$MANGOS" ];
then echo restarting server at time at `date +"%m-%d-%H:%M-%S"`>> worldd_restart_log.txt;
nice -n 20 /home/tuoutente/MaNGOS/bin/mangos-worldd;
fi;
sleep 5;
done
Al posto di "/home/tuoutente/MaNGOS/bin/mangos-worldd" mettetegli il path giusto del vostro mangos-worldd. Salvate e chiudete il file.
Cliccate col destro nel file "mangos-realmd.h" e andate su Proprietà-->Permessi e abilitate l'esecuzione del file come programma.
Adesso aprite con un editor di testo il file mangos-realmd.h e incollategli il seguente codice:
while date;
do MANGOS=`ps -el | grep realmd-worldd`;
if [ -z "$MANGOS" ];
then echo restarting server at time at `date +"%m-%d-%H:%M-%S"`>> realmd_restart_log.txt;
nice -n 20 /home/tuoutente/MaNGOS/bin/mangos-realmd;
fi;
sleep 5;
done
Al posto di "/home/tuoutente/MaNGOS/bin/mangos-realmd" mettetegli il path giusto del vostro mangos-worldd. Salvate e chiudete il file.
Cliccate col destro nel file "mangos-realmd.h" e andate su Proprietà-->Permessi e abilitate l'esecuzione del file come programma.
Setting UP
Per mettere UP il server vi basterà aprire (come applicazione nel terminale) i due file "mangos-worldd.h" e "mangos-realmd.h". Non usate collegamenti a questi file per avviare il MaNGOS altrimenti potreste avere problemi, come ad esempio il non riconoscimento dei DataFiles...