Linux Core Installation
Set Up Directory Structure
Create the main installation directory:
# Create the installation directory in your home foldermkdir -p ~/SylCore
Clone Repository
Clone the SylCore WoTLK repository from GitHub:
# Clone the repositorygit clone https://github.com/SylCore/SylCore-WoTLK.git
# Check that the repository was successfully clonedls -la SylCore-WoTLK
Build SylCore
Compile and install SylCore:
# Enter the repository directorycd SylCore-WoTLK
# Create and enter the build directorymkdir -p buildcd build
# Configure the build with CMakecmake ../ -DCMAKE_INSTALL_PREFIX=~/SylCore -DCMAKE_C_COMPILER=/usr/bin/clang \-DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DSCRIPTS=static -DMODULES=static
# Compile and install SylCore (replace 4 with the number of CPU cores you want to use)make -j4 && make install
# Return to the home directorycd ~/
Download Data Files
Download and extract the required WoW 3.3.5a data files:
# Navigate to the bin directorycd ~/SylCore/bin
# Download WoW 3.3.5a data fileswget https://github.com/SylCore/WoW-3.3.5a-Data/releases/download/Release/data.zip
# Extract the data filesunzip data.zip
# Return to the home directorycd ~/
Configure SylCore
Set up the configuration files:
# Navigate to the configuration directorycd ~/SylCore/etc
# Create configuration files from templatesfor file in *.conf.dist; do if [ ! -f "${file%.conf.dist}.conf" ]; then cp "$file" "${file%.conf.dist}.conf" echo "Created config file: ${file%.conf.dist}.conf" else echo "Config file already exists: ${file%.conf.dist}.conf - keeping existing configuration" fidone
# Update the DataDir path in worldserver.conf# Replace "DataDir = \".\""" with "DataDir = \"~/SylCore/bin/\""sed -i "s#DataDir = \".\"#DataDir = \"$HOME/SylCore/bin/\"#g" worldserver.conf
# Return to the home directorycd ~/
Set Up Databases
Configure MySQL and create the required databases:
# Make sure MySQL service is runningsudo mysql
DROP USER IF EXISTS 'acore'@'localhost';CREATE USER 'acore'@'localhost' IDENTIFIED BY 'acore' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;GRANT ALL PRIVILEGES ON * . * TO 'acore'@'localhost' WITH GRANT OPTION;CREATE DATABASE IF NOT EXISTS `acore_world` DEFAULT CHARACTER SET UTF8MB4 COLLATE utf8mb4_unicode_ci;CREATE DATABASE IF NOT EXISTS `acore_characters` DEFAULT CHARACTER SET UTF8MB4 COLLATE utf8mb4_unicode_ci;CREATE DATABASE IF NOT EXISTS `acore_auth` DEFAULT CHARACTER SET UTF8MB4 COLLATE utf8mb4_unicode_ci;GRANT ALL PRIVILEGES ON `acore_world` . * TO 'acore'@'localhost' WITH GRANT OPTION;GRANT ALL PRIVILEGES ON `acore_characters` . * TO 'acore'@'localhost' WITH GRANT OPTION;GRANT ALL PRIVILEGES ON `acore_auth` . * TO 'acore'@'localhost' WITH GRANT OPTION;
Help
If you get stuck at any point, please feel free to join our Discord.
- Join Our Discord NOTE: SylCore Discord is not a 24/7 support server, so be respectful towards staff and other members!