Installation (Fedora 39): Difference between revisions
No edit summary |
No edit summary |
||
Line 21: | Line 21: | ||
sudo yum install mysql-server mysql-devel | sudo yum install mysql-server mysql-devel | ||
</pre> | </pre> | ||
'''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: | |||
<pre> | |||
wget https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-7_1_4/ACE+TAO-7.1.4.tar.gz | |||
tar xvzf ACE+TAO-7.1.4.tar.gz | |||
cd ACE_wrappers/ | |||
</pre> | |||
Add an environment variable called ACE_ROOT | |||
<pre> | |||
export ACE_ROOT=$(pwd) | |||
</pre> | |||
Create a configuration file, $ACE_ROOT/ace/config.h | |||
<pre> | |||
echo '#include "ace/config-linux.h"' >> $ACE_ROOT/ace/config.h | |||
</pre> | |||
Create a build configuration file, $ACE_ROOT/include/makeinclude/platform_macros.GNU | |||
<pre> | |||
echo 'include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU' >> $ACE_ROOT/include/makeinclude/platform_macros.GNU | |||
</pre> | |||
Here is where we compile ACE | |||
<pre> | |||
make | |||
export INSTALL_PREFIX=/usr/local | |||
make install | |||
</pre> | |||
Note: make install will need to be ran by the root user since /usr/local file permissions are usually under root | |||
<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. | |||
== Compiling and Installing the SkyFire 5.4.8 == | == Compiling and Installing the SkyFire 5.4.8 == |
Revision as of 07:28, 14 April 2024
Introduction
This is a basic guide on how to install SkyFire_548 and SFDB 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_548 and the setup of SFDB will require certain packages to be installed. In Fedora use the following command:
sudo yum install g++ make cmake git wget git-core openssl openssl-devel readline-devel zlib-devel
You may also want to install phpmyadmin and/or Apache. Do not forget the user and password for the Mysql root user.
Installing MySQL Start by downloading the rpm.
wget https://dev.mysql.com/get/mysql80-community-release-fc39-2.noarch.rpm sudo yum localinstall mysql80-community-release-fc39-2.noarch.rpm
sudo yum install mysql-server mysql-devel
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:
wget https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-7_1_4/ACE+TAO-7.1.4.tar.gz tar xvzf ACE+TAO-7.1.4.tar.gz cd ACE_wrappers/
Add an environment variable called ACE_ROOT
export ACE_ROOT=$(pwd)
Create a configuration file, $ACE_ROOT/ace/config.h
echo '#include "ace/config-linux.h"' >> $ACE_ROOT/ace/config.h
Create a build configuration file, $ACE_ROOT/include/makeinclude/platform_macros.GNU
echo 'include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU' >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
Here is where we compile ACE
make export INSTALL_PREFIX=/usr/local make install
Note: make install will need to be ran by the root user since /usr/local file permissions are usually under root
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.
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.
Compiling and Installing the SkyFire 5.4.8
Grab the latest version of SkyFire_548 using git:
git clone -b main https://codeberg.org/ProjectSkyfire/SkyFire_548.git
This should create a directory called SkyFire_548 that will contain all the files necessary to compile the server and it's tools. Change to the directory, configure, and build.
cd SkyFire_548 sudo mkdir build cd build sudo cmake ../ -DCMAKE_INSTALL_PREFIX=$HOME/skyfire-server/ -DTOOLS=1 make -j(#cores+1) sudo 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 -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) -DWITH_CXX_23_STD Use c++23 standard (advanced users only) -DWITH_CXX_DRAFT_STD Use c++ draft standard (advanced users only)