Installation (Debian 13): Difference between revisions
| (4 intermediate revisions by the same user not shown) | |||
| Line 62: | Line 62: | ||
<pre> | <pre> | ||
git clone -b main https:// | git clone -b main https://github.com/ProjectSkyfire/SkyFire_548.git | ||
</pre> | </pre> | ||
| Line 72: | Line 72: | ||
cmake ../ -DCMAKE_INSTALL_PREFIX=$HOME/skyfire-server/ -DTOOLS=1 | cmake ../ -DCMAKE_INSTALL_PREFIX=$HOME/skyfire-server/ -DTOOLS=1 | ||
make -j(#cores+1) or $(nproc) | make -j(#cores+1) or $(nproc) | ||
make install | sudo make install | ||
</pre> | </pre> | ||
| Line 119: | Line 119: | ||
---- | ---- | ||
(For latest world database, check url from https:// | (For latest world database, check url from https://github.com/ProjectSkyfire/SkyFire_548/releases) | ||
<br> | <br> | ||
'''In the terminal window:''' | '''In the terminal window:''' | ||
| Line 125: | Line 125: | ||
cd $HOME/SkyFire_548/sql/base | cd $HOME/SkyFire_548/sql/base | ||
wget https:// | wget https://github.com/ProjectSkyfire/SkyFire_548/releases/download/24.001/SFDB_full_548_24.001_2024_09_04_Release.zip | ||
7z x SFDB_full_548_24.001_2024_09_04_Release.zip && sudo chmod -R 755 $HOME/SkyFire_548/sql/base | 7z x SFDB_full_548_24.001_2024_09_04_Release.zip && sudo chmod -R 755 $HOME/SkyFire_548/sql/base | ||
| Line 233: | Line 233: | ||
If you need a Windows compiled copy of the DBC Extractor and the tools for the VMAP<BR> | If you need a Windows compiled copy of the DBC Extractor and the tools for the VMAP<BR> | ||
Extraction and assembly you can get a copy of them using your GIT client and download<BR> | Extraction and assembly you can get a copy of them using your GIT client and download<BR> | ||
them from: https:// | them from: https://github.com/ProjectSkyfire/SkyFire-Community-Tools<BR><BR><BR> | ||
Before doing any of these commands, follow the guide at | Before doing any of these commands, follow the guide at | ||
| Line 256: | Line 256: | ||
The client will need to be patched before it can properly connect to the server. Acquire the patcher in the Community Tools repository. | The client will need to be patched before it can properly connect to the server. Acquire the patcher in the Community Tools repository. | ||
<pre>git clone https:// | <pre>git clone https://github.com/ProjectSkyfire/SkyFire-Community-Tools.git</pre> | ||
Install Mono in Wine or Crossover Office and run the patcher to modify your WoW.exe file. | Install Mono in Wine or Crossover Office and run the patcher to modify your WoW.exe file. | ||
Latest revision as of 20:00, 6 August 2025
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.
Special thanks to Digital Scriptorium (YouTube) for the video guide and outline of this Wiki page! Follow along with the video guide here
Download the text file with all commands used in the guide above here
Prerequisites
The compilation of SkyFire_548 and the setup of SFDB will require certain packages to be installed. This is for Debian 13:
Installing MySQL (For latest mysql-apt repository, check url from https://dev.mysql.com/downloads/repo/apt/ )
sudo apt-get install gnupg wget https://dev.mysql.com/get/mysql-apt-config_0.8.34-1_all.deb -O /tmp/mysql-apt-config_all.deb sudo DEBIAN_FRONTEND=noninteractive dpkg -i /tmp/mysql-apt-config_all.deb sudo dpkg-reconfigure mysql-apt-config (Debian Bookworm) (mysql-8.4-lts) (overwite? y)
Confirm you are seeing Bookworm and not Trixie until Debian 13 is officially released
sudo nano /etc/apt/sources.list.d/mysql.list
Install MySQL keys
wget https://repo.mysql.com/RPM-GPG-KEY-mysql-2023 gpg --dearmor < RPM-GPG-KEY-mysql-2023 | sudo tee /usr/share/keyrings/mysql.gpg > /dev/null sudo nano /etc/apt/sources.list.d/mysql.list sudo apt-get update
Install Libaio
wget http://ftp.debian.org/debian/pool/main/liba/libaio/libaio1_0.3.113-4_amd64.deb sudo dpkg -i libaio1_0.3.113-4_amd64.deb
Other prerequisites
sudo apt-get install git build-essential g++ cmake make libace-dev libmysqlclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev mysql-server p7zip zlib1g-dev -y sudo reboot
Compiling and Installing the SkyFire 5.4.8
Grab the latest version of SkyFire_548 using git:
git clone -b main https://github.com/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 mkdir build && cd build cmake ../ -DCMAKE_INSTALL_PREFIX=$HOME/skyfire-server/ -DTOOLS=1 make -j(#cores+1) or $(nproc) 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_17_STD Use c++17 standard (advanced users only) -DWITH_CXX_DRAFT_STD Use c++ draft standard (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 SkyFire_548 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:
sudo mysql -u <mysql_root> -p < ~/SkyFire_548/sql/create/create_mysql.sql sudo mysql -u <mysql_root> -p auth < ~/SkyFire_548/sql/base/auth/auth.sql sudo mysql -u <mysql_root> -p characters < ~/SkyFire_548/sql/base/character/character.sql
(For latest world database, check url from https://github.com/ProjectSkyfire/SkyFire_548/releases)
In the terminal window:
cd $HOME/SkyFire_548/sql/base wget https://github.com/ProjectSkyfire/SkyFire_548/releases/download/24.001/SFDB_full_548_24.001_2024_09_04_Release.zip 7z x SFDB_full_548_24.001_2024_09_04_Release.zip && sudo chmod -R 755 $HOME/SkyFire_548/sql/base cd $HOME/SkyFire_548/sql/base/SFDB_full_548_24.001_2024_09_04_Release nano linux_installer.sh
(skyfire credentials & adjust world DB name)
Example of linux_installer.sh
#!/bin/bash # Modified script from WhyDB ############################################################################ # # Tool Configuration # # user - root # pass - password # wdb - world # ############################################################################ user="mysql_user" CHANGE ME!!! pass="mysql_password" CHANGE ME!!! wdb="wow_world" CHANGE ME!!! ############################################################################ # # Server configuration, do not edit past this point # ############################################################################ server="localhost" port="3306" devpath="./main_db/world" procpath="./main_db/procs" uppath="./world_updates" bkpath="dump"
./linux_installer.sh #Option "i" to Install clean World Database, "x" to close
!!!You will also need to manually run any sql's found in the cores sql folder .../sql/updates/world and .../sql/updates/char!!!
Auth
cd ~/SkyFire_548/sql/updates/auth cat *.sql | mysql -u root -p auth > "update_log_$(date +%F_%H-%M-%S).txt" 2>&1
Characters
cd ~/SkyFire_548/sql/updates/characters cat *.sql | mysql -u root -p characters > "update_log_$(date +%F_%H-%M-%S).txt" 2>&1
World
cd ~/SkyFire_548/sql/updates/world cat *.sql | mysql -u root -p world > "update_log_$(date +%F_%H-%M-%S).txt" 2>&1
(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
Starting The Server
cd /usr/local/skyfire-server/bin ./authserver ./worldserver
To start in the background install "screen"
sudo apt-get install screen
cd /usr/local/skyfire-server/bin screen -AmdS authserver ./authserver screen -AmdS worldserver ./worldserver
To get back to the screen session use the below commands
screen -r worldserver screen -r authserver
Using the key combination of CTRL+A+D will detach from the screens session
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 5.4.8 client, then proceed:
The last and final step of setting up SkyFire_548 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/
SkyFire Patcher
The client will need to be patched before it can properly connect to the server. Acquire the patcher in the Community Tools repository.
git clone https://github.com/ProjectSkyfire/SkyFire-Community-Tools.git
Install Mono in Wine or Crossover Office and run the patcher to modify your WoW.exe file.
to install Mono simply, and correctly configured, please view:
http://wiki.winehq.org/winetricks
to obtain specific versions/running hackery in your Wine bottle.
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