Installation Debian 9 (Linux 243 (General)): Difference between revisions

From Project Skyfire
Jump to navigation Jump to search
No edit summary
No edit summary
Line 72: Line 72:
'''Installing ACE''' - You should check if "6.3.3" or newer is the latest version installed.
'''Installing ACE''' - You should check if "6.3.3" or newer is the latest version installed.


For cases where you want to run an even newer release of ACE than mentioned here, or your distribution not supplying a version that isn't of recent date, please check your distributions repositories or documentation. You can also retrieve it as sourcecode at http://download.dre.vanderbilt.edu (feel free to use newer packages if you really feel like it). To build it from sourcecode,
 
start by downloading and unzipping the source:
64-bit Debian-based distributions


<pre>
<pre>
wget http://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-6_3_3/ACE-6.3.3.tar.gz
wget http://ftp.br.debian.org/debian/pool/main/a/ace/ace-gperf_6.3.3+dfsg-1.2_arm64.deb
tar xvzf ACE-6.3.3.tar.gz
wget http://ftp.br.debian.org/debian/pool/main/a/ace/libace-6.3.3_6.3.3+dfsg-1.2_amd64.deb
cd ACE_wrappers/
wget http://ftp.br.debian.org/debian/pool/main/a/ace/libace-dev_6.3.3+dfsg-1.2_arm64.deb
mkdir build
wget http://ftp.br.debian.org/debian/pool/main/a/ace/libace-ssl-6.3.3_6.3.3+dfsg-1.2_amd64.deb
cd build
wget http://ftp.br.debian.org/debian/pool/main/a/ace/libace-ssl-dev_6.3.3+dfsg-1.2_amd64.deb
dpkg -i ace-gperf_6.3.3+dfsg-1.2_arm64.deb
dpkg -i libace-6.3.3_6.3.3+dfsg-1.2_amd64.deb
dpkg -i libace-dev_6.3.3+dfsg-1.2_arm64.deb
dpkg -i libace-ssl-6.3.3_6.3.3+dfsg-1.2_amd64.deb
dpkg -i libace-ssl-dev_6.3.3+dfsg-1.2_amd64.deb
</pre>
</pre>


Here is where we compile ACE
 
32-bit Debian-based distributions


<pre>
<pre>
../configure --disable-ssl
wget http://ftp.br.debian.org/debian/pool/main/a/ace/ace-gperf_6.2.8+dfsg-1_i386.deb
make
wget http://ftp.br.debian.org/debian/pool/main/a/ace/libace-6.3.3_6.3.3+dfsg-1.2_i386.deb
make install
wget http://ftp.br.debian.org/debian/pool/main/a/ace/libace-dev_6.3.3+dfsg-1.2_i386.deb
wget http://ftp.br.debian.org/debian/pool/main/a/ace/libace-ssl-6.3.3_6.3.3+dfsg-1.2_i386.deb
wget http://ftp.br.debian.org/debian/pool/main/a/ace/libace-ssl-dev_6.3.3+dfsg-1.2_i386.deb
dpkg -i ace-gperf_6.2.8+dfsg-1_i386.deb
dpkg -i libace-6.3.3_6.3.3+dfsg-1.2_i386.deb
dpkg -i libace-dev_6.3.3+dfsg-1.2_i386.deb
dpkg -ilibace-ssl-6.3.3_6.3.3+dfsg-1.2_i386.deb
dpkg -i libace-ssl-dev_6.3.3+dfsg-1.2_i386.deb
</pre>
</pre>


<pre>
In the event one has a 4-core processor, you would use "make -j5", minus quotations.
Note: There is NO SPACE inbetween j and 5. It's all a single stroke.</pre>
Please note that any old revision of the OpenSSL package installed by the distribution may/will interfere with the new version. See your distribution documentation for information on how to remove it to be able to use the new one.


'''Installing MySQL'''
'''Installing MySQL'''

Revision as of 06:30, 28 August 2019

! ! ! ! ! ! T H I S - I S - W O R K - I N - P R O G R E S S ! ! ! ! ! !

Introduction

This is a basic guide on how to install SkyFire One and SFODB from scratch. **Please note this is a work in progress and only contains enough information to get most people a viable server in Linux.

Prerequisites

The compilation of SkyFire One and the setup of SFODB will require certain packages to be installed. In Linux Debian 9 use the following command:

Debian based distributions use these commands:

apt-get update -y && apt-get upgrade -y
apt-get install build-essential autoconf libtool make cmake git-core patch wget links zip unzip unrar openssl libssl-dev default-libmysqlclient-dev libmysql++-dev libreadline-dev zlib1g-dev libbz2-dev

Installing OpenSSL - You should check if "1.0.1t" is the latest version

The entire procedure here is for people that do believe they need the latest revision - normally the version that comes with your distribution is sufficient enough.

64-bit Debian-based distributions

wget http://ftp.debian.org/debian/pool/main/o/openssl/libssl-dev_1.0.1t-1+deb8u8_amd64.deb
wget http://ftp.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u8_amd64.deb
wget http://ftp.debian.org/debian/pool/main/o/openssl/openssl_1.0.1t-1+deb8u8_amd64.deb
sudo dpkg -i libssl-dev_1.0.1t-1+deb8u8_amd64.deb
sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u8_amd64.deb
sudo dpkg -i openssl_1.0.1t-1+deb8u8_amd64.deb

32-bit Debian-based distributions

wget http://ftp.debian.org/debian/pool/main/o/openssl/libssl-dev_1.0.1t-1+deb8u8_i386.deb
wget http://ftp.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u8_i386.deb
wget http://ftp.debian.org/debian/pool/main/o/openssl/openssl_1.0.1t-1+deb8u8_i386.deb
sudo dpkg -i libssl-dev_1.0.1t-1+deb8u8_i386.deb
sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u8_i386.deb
sudo dpkg -i openssl_1.0.1t-1+deb8u8_i386.deb

Other distributions

For cases where you want to run an even newer release of OpenSSL than mentioned here, or your distribution not supplying a version that isn't of recent date, please check your distributions repositories or documentation. You can also retrieve it as sourcecode at http://openssl.org/source (feel free to use newer packages if you really feel like it). To build it from sourcecode, here's a primer :

wget http://openssl.org/source/openssl-1.0.1t.tar.gz
tar -xvf openssl-1.0.1t.tar.gz
cd openssl-1.0.1t

Alternative 1 : Local installation

./Configure -g linux-x86_64 --prefix=/home/`echo $USER`/.sys shared
make
make install

Alternative 2 : Systemwide installation

./Configure -g linux-x86_64 shared
make
make install

Please note that any old revision of the OpenSSL package installed by the distribution may/will interfere with the new version. See your distribution documentation for information on how to remove it to be able to use the new one.

Installing ACE - You should check if "6.3.3" or newer is the latest version installed.


64-bit Debian-based distributions

wget http://ftp.br.debian.org/debian/pool/main/a/ace/ace-gperf_6.3.3+dfsg-1.2_arm64.deb
wget http://ftp.br.debian.org/debian/pool/main/a/ace/libace-6.3.3_6.3.3+dfsg-1.2_amd64.deb
wget http://ftp.br.debian.org/debian/pool/main/a/ace/libace-dev_6.3.3+dfsg-1.2_arm64.deb
wget http://ftp.br.debian.org/debian/pool/main/a/ace/libace-ssl-6.3.3_6.3.3+dfsg-1.2_amd64.deb
wget http://ftp.br.debian.org/debian/pool/main/a/ace/libace-ssl-dev_6.3.3+dfsg-1.2_amd64.deb
dpkg -i ace-gperf_6.3.3+dfsg-1.2_arm64.deb
dpkg -i libace-6.3.3_6.3.3+dfsg-1.2_amd64.deb
dpkg -i libace-dev_6.3.3+dfsg-1.2_arm64.deb
dpkg -i libace-ssl-6.3.3_6.3.3+dfsg-1.2_amd64.deb
dpkg -i libace-ssl-dev_6.3.3+dfsg-1.2_amd64.deb


32-bit Debian-based distributions

wget http://ftp.br.debian.org/debian/pool/main/a/ace/ace-gperf_6.2.8+dfsg-1_i386.deb
wget http://ftp.br.debian.org/debian/pool/main/a/ace/libace-6.3.3_6.3.3+dfsg-1.2_i386.deb
wget http://ftp.br.debian.org/debian/pool/main/a/ace/libace-dev_6.3.3+dfsg-1.2_i386.deb
wget http://ftp.br.debian.org/debian/pool/main/a/ace/libace-ssl-6.3.3_6.3.3+dfsg-1.2_i386.deb
wget http://ftp.br.debian.org/debian/pool/main/a/ace/libace-ssl-dev_6.3.3+dfsg-1.2_i386.deb
dpkg -i ace-gperf_6.2.8+dfsg-1_i386.deb
dpkg -i libace-6.3.3_6.3.3+dfsg-1.2_i386.deb
dpkg -i libace-dev_6.3.3+dfsg-1.2_i386.deb
dpkg -ilibace-ssl-6.3.3_6.3.3+dfsg-1.2_i386.deb
dpkg -i libace-ssl-dev_6.3.3+dfsg-1.2_i386.deb


Installing MySQL Start by downloading and dpkg the package.

wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
dpkg -i mysql-apt-config_0.8.12-1_all.deb

After following the configuration screen you want to apt-get update and install the libraries.

apt-get update
apt-get install mysql-server mysql-client libmysqlclient-dev libmysql++-dev

Installing GCC 9 Start by adding ppa:ubuntu-toolchain-r/test to your repository list

add-apt-repository ppa:ubuntu-toolchain-r/test -y
apt-get update

Now we can install gcc-9 and g++-9.

apt-get install gcc-9 g++-9

Symbolic links cc and c++ are installed by default. We will install symbol links for gcc and g++, then link cc and c++ to gcc and g++ respectively.

update-alternatives --remove-all gcc 
update-alternatives --remove-all g++

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 10
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 10

update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 10
update-alternatives --set cc /usr/bin/gcc
update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 10
update-alternatives --set c++ /usr/bin/g++

The last step is configuring the default commands for gcc, g++.

update-alternatives --config gcc
update-alternatives --config g++

Compiling and Installing the SkyFire One 2.4.3

Grab the latest version of SkyFire One 2.4.3 using git:

git clone https://github.com/ProjectSkyfire/SkyFire_one.git

This should create a directory called SkyFireEMU that will contain all the files necessary to compile the server and it's tools. Change to the directory, configure, and build.

cd SkyFire_one
mkdir build
cd build
cmake ../ -DSCRIPTS=1 -DTOOLS=1
make -j(#cores+1)
make install

Parameter explanations

-DACE_LIBRARY=<path to ACE library>                      (full path to your libACE.so file INCLUDING the filename - do not use if you have ACE installed systemwide)
-DACE_INCLUDE_DIR=<path to ACE includes/headers>         (path to the libACE include directory - do not use if you have ACE installed systemwide)
-DOPENSSL_LIBRARIES=<path to OpenSSL library>            (path to your OpenSSL library - do not use if you have OpenSSL installed systemwide)
-DOPENSSL_INCLUDE_DIR=<path to OpenSSL includes>         (path to your OpenSSL includes directory - do not use if you have OpenSSL installed systemwide)

-DSERVERS             Build worldserver and authserver
-DSCRIPTS             Build core with scripts included
-DTOOLS               Build map/vmap extraction/assembler tools
-DUSE_SCRIPTPCH       Use precompiled headers when compiling scripts
-DUSE_COREPCH         Use precompiled headers when compiling servers
-DUSE_SFMT            Use SFMT as random numbergenerator
-DWITH_WARNINGS       Show all warnings during compile
-DWITH_COREDEBUG      Include additional debug-code in core
-DWITH_SQL            Copy SQL files during installation
-DPREFIX              Set installation directory
-DCONF_DIR            Set configuration directory
-DLIBSDIR             Set library directory
-DCMAKE_C_FLAGS       Set C_FLAGS for compile (advanced users only)
-DCMAKE_CXX_FLAGS     Set CXX_FLAGS for compile (advanced users only)

Installing SkyFireDataBase (SFDB)

Now we will set up the database framework for which SkyFire will be installed into:

It is assumed that you cloned SkyFireEMU into your home directory ~/

Replace the parts in <> to the correct administrative username, and associated password. Usually the administrative user is root, but you may have altered it.


In the terminal window:

mysql -u <mysql_root> -p < ~/SkyFireEMU/sql/create/create_mysql.sql
mysql -u <mysql_root> -p auth < ~/SkyFireEMU/sql/base/auth/auth.sql 
mysql -u <mysql_root> -p characters < ~/SkyFireEMU/sql/base/character/character.sql

Grab the latest version of SkyFireDB on our forum. http://www.projectskyfire.org/index.php?/files/
The DB download contains an installer for Linux and Windows. Also a single Sql file.

!!!You will also need to manually run any sql's found in the cores sql folder .../sql/updates/world and .../sql/updates/char!!!

(If you are doing this for more than local use you will also need to change a database entry using this mysql command.)

update auth.realmlist set adress = "YOUR IP HERE" where id = 1;

Configuration

Now move and edit the configuration files to run the server.

mv ~/skyfire/etc/worldserver.conf.dist ~/skyfire/etc/worldserver.conf
mv  ~/skyfire/etc/authserver.conf.dist  ~/skyfire/etc/authserver.conf

Edit both of these files to the correct Mysql user name, password, and your DataDir.

nano ~/skyfire/etc/(correctserver).conf

Extractor and VMAPs

If you need a Windows compiled copy of the DBC Extractor and the tools for the VMAP
Extraction and assembly you can get a copy of them using your GIT client and download
them from: https://github.com/ProjectSkyfire/SkyFire-Community-Tools


Before doing any of these commands, follow the guide at

http://appdb.winehq.org/objectManager.php?sClass=version&iId=20549

to obtain a working installation of the latest WoW 4.0.X client, then proceed:

The last and final step of setting up SkyFireEMU is to obtain a proper set of maps for use in the server. Change to the WoW directory and run some commands:

cd "Wow Directory"
~/skyfire/bin/extractor
~/skyfire/bin/vmap3extractor
mv dbc ~/skyfire/bin/dbc
mv maps ~/skyfire/bin/maps
mkdir vmaps 
~/skyfire/bin/vmap3assembler
mv vmaps ~/skyfire/bin/

References

http://www.trinitycore.org/w/How-to:Linux

http://wiki.cactusemu.com/index.php?title=Installation_%28Linux%29

http://wiki.winehq.org/winetricks

http://appdb.winehq.org/objectManager.php?sClass=version&iId=20549