PayPal
Personal tools
Namespaces
Variants
Actions

Compile MaNGOS On Ubuntu/it

From mangos

Jump to: navigation, search

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):

1).../sources/MaNGOS/sql/mangos.sql
2).../sources/MaNGOS/src/bindings/ScriptDev2/sql/mangos_scriptname_full.sql

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...

Navigation
Interaction
Toolbox