Installation (Fedora 39)

From Project Skyfire
Revision as of 07:05, 14 April 2024 by Aridev (talk | contribs)
Jump to navigation Jump to search

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 openssl git-core

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

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
cmake ../ -DCMAKE_INSTALL_PREFIX=$HOME/skyfire-server/ -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
-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)