-
Member
[Ubuntu/Linux] Install any server (excluding Warlords of Draenor)
I have created a script that will download and install any server emulator except Warlords of Draenor (I can't find an open source one).
All of them will download the latest source, build them, and install them.
MYSQL database management is not included. SQL databases will be installed into /opt/GAME/sql/ (excluding Cata, Mop, and Legion, these need to be downloaded manually. The script includes the link to download them).
All of the servers downloaded are actively maintained and hosted on github.
The script also downloads all dependencies needed on Ubuntu. The package names will most likely be named different for different distributions.
Code:
#!/bin/bashclear
date=$(date +%m.%d.%Y.%H.%M.%S)
getroot(){
if [ "${EUID}" -ne 0 ]; then
echo "Script neds to be run as root (sudo ./update.sh)"
else
dependencies
fi
}
update(){
clear
echo "This will install ${version} server emulator"
echo ""
echo "Source"
echo "${source}"
echo "Database"
echo "${database}"
echo ""
read -p "Press [enter] to continue" read
echo ""
if [ -d "${installpath}" ]; then
echo "This will move the current folder /opt/${game} to /opt/${game}.bak"
echo ""
read -p "Press [enter] to continue"
sudo mv "${installpath}" "${installpath}.bak"
fi
sudo mkdir "${installpath}"
sudo mkdir "${installpath}/sql"
sudo mkdir "${installpath}/source"
sudo git clone --recursive "${source}" "${sourcepath}"
sudo mkdir "${sourcepath}/build"
cd "${sourcepath}/build"
cmake -DBUILD_EXTRACTORS=1 -DTOOLS=1 -DCMAKE_INSTALL_PREFIX="${installpath}" "${sourcepath}"
sudo make -j4
sudo make install
if [ "${game}" = "wow" ]; then
sudo git clone --recursive "${database}" "${installpath}/sql/${dbname}"
echo "${dbname} database created on ${date}" > "${installpath}/sql/${dbname}.log"
elif [ "${game}" = "tbc" ]; then
sudo git clone --recursive "${database}" "${installpath}/sql/${dbname}"
echo "${dbname} database created on ${date}" > "${installpath}/sql/${dbname}.log"
elif [ "${game}" = "wotlk" ]; then
cd "${sourcepath}/bin/db_assembler"
echo 1 | sudo ./db_assembler.sh
sudo mv output "${installpath}/sql/${dbname}"
echo "${dbname} database created on ${date}" > "${installpath}/sql/${dbname}.log"
elif [ "${game}" = "cata" ]; then
echo ""
echo "Please visit the website below to download the latest database."
echo "${database}"
echo ""
elif [ "${game}" = "mop" ]; then
echo ""
echo "Please visit the website below to download the latest database."
echo "${database}"
echo ""
elif [ "${game}" = "wod" ]; then
echo ""
elif [ "${game}" = "legion" ]; then
echo ""
echo "Please visit the website below to download the latest database."
echo "${database}"
echo ""
fi
}
start(){
clear
echo "Which server would you like to install?"
echo ""
echo "1) World of Warcraft (Drums of War) 1.12.1 [5875]"
echo "2) The Burning Crusade (Fury of the Sunwell) 2.4.3 [8606]"
echo "3) Wrath of the Lich King (Fall of the Lich King) 3.3.5a [12340]"
echo "4) Cataclysm (Hour of Twilight) 4.3.4 [15595]"
echo "5) Mists of Pandaria (Siege of Orgrimmar) 5.4.8 [18414]"
echo "6) Warlords of Dreanor (Fury of Hellfire) 6.2.4a [21676] (No Servers Available)"
echo "7) Legion (Tomb of Sargeras) 7.2.0 [24015]"
echo ""
read -p "Choose [1-7] " read
if [ "${read}" = "1" ]; then
game="wow"
server="cmangos"
version="World of Warcraft (Drums of War) 1.12.1 [5875]"
source="https://github.com/cmangos/mangos-classic"
database="https://github.com/cmangos/classic-db"
dbname="classic-db"
elif [ "${read}" = "2" ]; then
game="tbc"
server="cmangos"
version="The Burning Crusade (Fury of the Sunwell) 2.4.3 [8606]"
source="https://github.com/cmangos/mangos-tbc"
database="https://github.com/cmangos/tbc-db"
dbname="tbc-db"
elif [ "${read}" = "3" ]; then
game="wotlk"
server="azeroth"
version="Wrath of the Lich King (Fall of the Lich King) 3.3.5a [12340]"
source="https://github.com/azerothcore/azerothcore-wotlk"
database="Available inside source"
dbname="wotlk-db"
elif [ "${read}" = "4" ]; then
game="cata"
server="trinity"
version="Cataclysm (Hour of Twilight) 4.3.4 [15595]"
source="https://gitlab.com/trinitycore/TrinityCore_434"
database="https://github.com/TrinityCoreLegacy/TrinityCore/releases"
elif [ "${read}" = "5" ]; then
game="mop"
server="skyfire"
version="Mists of Pandaria (Siege of Orgrimmar) 5.4.8 [18414]"
source="https://github.com/ProjectSkyfire/SkyFire.548"
database="https://www.projectskyfire.org/index.php?/files/"
dbname="SkyFireDB"
elif [ "${read}" = "6" ]; then
game="wod"
server=""
version="Warlords of Dreanor (Fury of Hellfire) 6.2.4a [21676]"
source=""
database=""
dbname=""
start
elif [ "${read}" = "7" ]; then
game="legion"
server="trinity"
version="Legion (Tomb of Sargeras) 7.2.0 [24015]"
source="https://github.com/TrinityCore/TrinityCore"
database="https://github.com/TrinityCore/TrinityCore/releases"
else
start
fi
installpath="/opt/${game}"
sourcepath="${installpath}/source/${server}"
update
}
dependencies(){
echo "Installing dependencies"
echo ""
sudo apt-get -y install build-essential autoconf libtool gcc g++ make cmake subversion git patch wget links zip unzip openssl libssl-dev mysql-server mysql-client libmysqlclient-dev libmysql++-dev lib64readline6-dev zlib1g-dev libbz2-dev git-core libace-dev openssl libssl-dev ace automake git-core libtool grep binutils zlibc libc6 libboost-all-dev clang libreadline-dev libncurses-dev libace-6.* p7zip-full
clear
start
}
getroot
You need to save this script on your system and then run with sudo ./NAMEOFSCRIPT
Last edited by Knuxyl; 06-09-2017 at 11:57 AM.
These ads disappear when you log in.
-
Post Thanks / Like - 4 Thanks
-
Member
Thanks
just a mod script need to be save as .sh for the -linux noob
For Debian User edit first line #!/bin/bashclear to #!/bin/bash
-
Post Thanks / Like - 1 Thanks
levcsu (1 members gave Thanks to Yuukie for this useful post)
-
Member
Hello,
Thank you. How can I launch the server after downloading it, please ? I ran the .sh file, but after that I didn't know how to launch the server, create an account, etc... Thanks.
-
Member
Thank you very much, but i can't run the script on Ubuntu 16.04.
sudo ./scriptname doesn't work (command not found)
If i run it with sudo sd scriptname then i get only Syntax errorss (elif" unexpected (expecting "then"))
Don't know much about coding, but when i change the elif to then, i get other errors.
-
Member
Mine worked great up to installing the project then glitched out :-( here is the copy of what happend during the last stages. Looks like a file is missing :-( any help would be cool ;-)
Install the project...
-- Install configuration: "Release"
-- Installing: /opt/wotlk/bin/mapextractor
-- Set runtime path of "/opt/wotlk/bin/mapextractor" to "/opt/wotlk/lib"
-- Installing: /opt/wotlk/bin/vmap4assembler
-- Set runtime path of "/opt/wotlk/bin/vmap4assembler" to "/opt/wotlk/lib"
-- Installing: /opt/wotlk/bin/vmap4extractor
-- Set runtime path of "/opt/wotlk/bin/vmap4extractor" to "/opt/wotlk/lib"
-- Installing: /opt/wotlk/bin/mmaps_generator
-- Set runtime path of "/opt/wotlk/bin/mmaps_generator" to "/opt/wotlk/lib"
-- Installing: /opt/wotlk/bin/authserver
-- Set runtime path of "/opt/wotlk/bin/authserver" to "/opt/wotlk/lib"
-- Installing: /opt/wotlk/etc/authserver.conf.dist
-- Installing: /opt/wotlk/bin/worldserver
-- Set runtime path of "/opt/wotlk/bin/worldserver" to "/opt/wotlk/lib"
-- Installing: /opt/wotlk/etc/worldserver.conf.dist
wowserver: 43: cd: can't cd to /opt/wotlk/source/azeroth/bin/db_assembler
sudo: ./db_assembler.sh: command not found
mv: cannot stat 'output': No such file or directory
[email protected]:/home/psx# cd /
[email protected]:/# ls
bin dev home lib libx32 media opt root sbin srv tmp var
boot etc initrd.img lib64 lost+found mnt proc run snap sys usr vmlinuz
[email protected]:/# cd opt
[email protected]:/opt# ls
wotlk
[email protected]:/opt# cd wotlk
[email protected]:/opt/wotlk# cd wotlk
bash: cd: wotlk: No such file or directory
[email protected]:/opt/wotlk# ls
bin etc source sql
[email protected]:/opt/wotlk# cd source
[email protected]:/opt/wotlk/source# ls
azeroth
[email protected]:/opt/wotlk/source# cd azeroth
[email protected]:/opt/wotlk/source/azeroth# ls
apps build conf deps install.sh LICENSE-AGPL3 modules pull_request_template.md src
bin CMakeLists.txt data env issue_template.md LICENSE-GPL2 PreLoad.cmake README.md var
[email protected]:/opt/wotlk/source/azeroth# cd bin
[email protected]:/opt/wotlk/source/azeroth/bin# ls
acore acore-compiler acore-db-asm acore-db-export acore-db-pendings acore-installer README.md
-
Member
2019 and this is very usable and this is helping me a lot in linux.
-
Member
add line
Added 2 notes
ADD Might want to add line to run the script in root "sudo su -"
ADD UBUNTU runs script as "sh scriptname.sh"
Originally Posted by
Knuxyl
I have created a script that will download and install any server emulator except Warlords of Draenor (I can't find an open source one).
All of them will download the latest source, build them, and install them.
MYSQL database management is not included. SQL databases will be installed into /opt/GAME/sql/ (excluding Cata, Mop, and Legion, these need to be downloaded manually. The script includes the link to download them).
All of the servers downloaded are actively maintained and hosted on github.
The script also downloads all dependencies needed on Ubuntu. The package names will most likely be named different for different distributions.
Code:
#!/bin/bashclear
date=$(date +%m.%d.%Y.%H.%M.%S)
getroot(){
if [ "${EUID}" -ne 0 ]; then
echo "Script neds to be run as root (sudo ./update.sh)"
else
dependencies
fi
}
update(){
clear
echo "This will install ${version} server emulator"
echo ""
echo "Source"
echo "${source}"
echo "Database"
echo "${database}"
echo ""
read -p "Press [enter] to continue" read
echo ""
if [ -d "${installpath}" ]; then
echo "This will move the current folder /opt/${game} to /opt/${game}.bak"
echo ""
read -p "Press [enter] to continue"
sudo mv "${installpath}" "${installpath}.bak"
fi
sudo mkdir "${installpath}"
sudo mkdir "${installpath}/sql"
sudo mkdir "${installpath}/source"
sudo git clone --recursive "${source}" "${sourcepath}"
sudo mkdir "${sourcepath}/build"
cd "${sourcepath}/build"
cmake -DBUILD_EXTRACTORS=1 -DTOOLS=1 -DCMAKE_INSTALL_PREFIX="${installpath}" "${sourcepath}"
sudo make -j4
sudo make install
if [ "${game}" = "wow" ]; then
sudo git clone --recursive "${database}" "${installpath}/sql/${dbname}"
echo "${dbname} database created on ${date}" > "${installpath}/sql/${dbname}.log"
elif [ "${game}" = "tbc" ]; then
sudo git clone --recursive "${database}" "${installpath}/sql/${dbname}"
echo "${dbname} database created on ${date}" > "${installpath}/sql/${dbname}.log"
elif [ "${game}" = "wotlk" ]; then
cd "${sourcepath}/bin/db_assembler"
echo 1 | sudo ./db_assembler.sh
sudo mv output "${installpath}/sql/${dbname}"
echo "${dbname} database created on ${date}" > "${installpath}/sql/${dbname}.log"
elif [ "${game}" = "cata" ]; then
echo ""
echo "Please visit the website below to download the latest database."
echo "${database}"
echo ""
elif [ "${game}" = "mop" ]; then
echo ""
echo "Please visit the website below to download the latest database."
echo "${database}"
echo ""
elif [ "${game}" = "wod" ]; then
echo ""
elif [ "${game}" = "legion" ]; then
echo ""
echo "Please visit the website below to download the latest database."
echo "${database}"
echo ""
fi
}
start(){
clear
echo "Which server would you like to install?"
echo ""
echo "1) World of Warcraft (Drums of War) 1.12.1 [5875]"
echo "2) The Burning Crusade (Fury of the Sunwell) 2.4.3 [8606]"
echo "3) Wrath of the Lich King (Fall of the Lich King) 3.3.5a [12340]"
echo "4) Cataclysm (Hour of Twilight) 4.3.4 [15595]"
echo "5) Mists of Pandaria (Siege of Orgrimmar) 5.4.8 [18414]"
echo "6) Warlords of Dreanor (Fury of Hellfire) 6.2.4a [21676] (No Servers Available)"
echo "7) Legion (Tomb of Sargeras) 7.2.0 [24015]"
echo ""
read -p "Choose [1-7] " read
if [ "${read}" = "1" ]; then
game="wow"
server="cmangos"
version="World of Warcraft (Drums of War) 1.12.1 [5875]"
source="https://github.com/cmangos/mangos-classic"
database="https://github.com/cmangos/classic-db"
dbname="classic-db"
elif [ "${read}" = "2" ]; then
game="tbc"
server="cmangos"
version="The Burning Crusade (Fury of the Sunwell) 2.4.3 [8606]"
source="https://github.com/cmangos/mangos-tbc"
database="https://github.com/cmangos/tbc-db"
dbname="tbc-db"
elif [ "${read}" = "3" ]; then
game="wotlk"
server="azeroth"
version="Wrath of the Lich King (Fall of the Lich King) 3.3.5a [12340]"
source="https://github.com/azerothcore/azerothcore-wotlk"
database="Available inside source"
dbname="wotlk-db"
elif [ "${read}" = "4" ]; then
game="cata"
server="trinity"
version="Cataclysm (Hour of Twilight) 4.3.4 [15595]"
source="https://gitlab.com/trinitycore/TrinityCore_434"
database="https://github.com/TrinityCoreLegacy/TrinityCore/releases"
elif [ "${read}" = "5" ]; then
game="mop"
server="skyfire"
version="Mists of Pandaria (Siege of Orgrimmar) 5.4.8 [18414]"
source="https://github.com/ProjectSkyfire/SkyFire.548"
database="https://www.projectskyfire.org/index.php?/files/"
dbname="SkyFireDB"
elif [ "${read}" = "6" ]; then
game="wod"
server=""
version="Warlords of Dreanor (Fury of Hellfire) 6.2.4a [21676]"
source=""
database=""
dbname=""
start
elif [ "${read}" = "7" ]; then
game="legion"
server="trinity"
version="Legion (Tomb of Sargeras) 7.2.0 [24015]"
source="https://github.com/TrinityCore/TrinityCore"
database="https://github.com/TrinityCore/TrinityCore/releases"
else
start
fi
installpath="/opt/${game}"
sourcepath="${installpath}/source/${server}"
update
}
dependencies(){
echo "Installing dependencies"
echo ""
sudo apt-get -y install build-essential autoconf libtool gcc g++ make cmake subversion git patch wget links zip unzip openssl libssl-dev mysql-server mysql-client libmysqlclient-dev libmysql++-dev lib64readline6-dev zlib1g-dev libbz2-dev git-core libace-dev openssl libssl-dev ace automake git-core libtool grep binutils zlibc libc6 libboost-all-dev clang libreadline-dev libncurses-dev libace-6.* p7zip-full
clear
start
}
getroot
You need to save this script on your system and then run with sudo ./NAMEOFSCRIPT
-
Member
I want to understand linux, right now I'm learning about managing running processes and also checking running processes, can you advise a good article about this?
-
Member
The easiest way to deal with running processes is to read a book on administering Linux systems. Choose any book because there is a chapter on process management and a complete description of all the process management commands. There is a good article about checking running processes in Linux https://www.hostforweb.com/article/how-check-running-processes-linux The information is quite good there too. It should be easy for you to figure it all out.
-
Member
Hi,
I wish to install Azerothcore Wotlk spp from Zaicopx on my steam deck which run on linux SteamOS.
SteamOS come from Debian 8 so the package will be different i guess.
Anybody have tried to install any kind of repack on steamOS?