push
This commit is contained in:
		
						commit
						a94b563d5a
					
				
							
								
								
									
										11
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | |||||||
|  | # WORLD OF WARCRAFT SERVER INSTALL (VERSION 1.12) | ||||||
|  | 
 | ||||||
|  | - debian 12 | ||||||
|  | - user wow | ||||||
|  | 
 | ||||||
|  | - ports: | ||||||
|  |   - TCP: 1119, 3724, 6012 | ||||||
|  |   - UDP: 1119, 3724, 6012 | ||||||
|  | 
 | ||||||
|  | - WOW 1.12 client: https://drive.usercontent.google.com/download?id=1TDoNNUXCtsgIUhLw96biPCqjv3AcLYkg&export=download | ||||||
|  | 
 | ||||||
							
								
								
									
										201
									
								
								install.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										201
									
								
								install.sh
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,201 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | 
 | ||||||
|  | MANGOS_ETC="/home/wow/vmangos/etc" | ||||||
|  | MANGOS_DATA="/home/wow/vmangos/data" | ||||||
|  | MANGOS_LOGS="/home/wow/vmangos/logs" | ||||||
|  | 
 | ||||||
|  | MYSQL_ROOT_PASS="greg" | ||||||
|  | MANGOS_DB_PASS="mangos" | ||||||
|  | 
 | ||||||
|  | REALM_IP=$(hostname -I | awk '{print $1}') | ||||||
|  | REALM_NAME="wow-greg" | ||||||
|  | 
 | ||||||
|  | # CONFIG | ||||||
|  | echo "[INFO] Configuration & dependencies installation ..." | ||||||
|  | 
 | ||||||
|  | sudo systemctl stop apt-daily.timer | ||||||
|  | sudo systemctl disable apt-daily.timer | ||||||
|  | 
 | ||||||
|  | sudo apt update && sudo apt install git wget g++ cmake openssl libssl-dev build-essential checkinstall zlib1g-dev mariadb-server mariadb-client libmariadb-dev libmariadb-dev-compat libreadline-dev -y | ||||||
|  | 
 | ||||||
|  | sudo apt install -qq libace-dev -y | ||||||
|  | export ACE_ROOT=/usr/include/ace | ||||||
|  | 
 | ||||||
|  | sudo apt install -y libtbb-dev -y | ||||||
|  | export TBB_ROOT_DIR=/usr/include/tbb | ||||||
|  | 
 | ||||||
|  | # CLONING PROJECT | ||||||
|  | echo "[INFO] Cloning project ..." | ||||||
|  | 
 | ||||||
|  | sudo mkdir -p /home/wow/vmangos | ||||||
|  | sudo chown -R $USER:$USER /home/wow | ||||||
|  | cd /home/wow/vmangos | ||||||
|  | git clone -b development https://github.com/vmangos/core && git clone https://github.com/brotalnia/database vmangos/db | ||||||
|  | 
 | ||||||
|  | mkdir -p /home/wow/build | ||||||
|  | cd /home/wow/build | ||||||
|  | sudo cmake /home/wow/vmangos/core -DDEBUG=0 -DSUPPORTED_CLIENT_BUILD=5875 -DUSE_EXTRACTORS=0 -DCMAKE_INSTALL_PREFIX=$HOME/vmangos | ||||||
|  | 
 | ||||||
|  | # BUILDING PROJECT | ||||||
|  | echo "[INFO] building wow ..." | ||||||
|  | 
 | ||||||
|  | sudo make -j $(nproc) install | ||||||
|  | 
 | ||||||
|  | # GETTING DATAS | ||||||
|  | echo "[INFO] Getting datas ..." | ||||||
|  | 
 | ||||||
|  | cd /home/wow/vmangos | ||||||
|  | wget https://www.mediafire.com/file_premium/j6cyqjeif3dvrv2/data.7z | ||||||
|  | 7z x data.7z | ||||||
|  | rm -r data.7z | ||||||
|  | 
 | ||||||
|  | # MISE EN PLACE DES FICHIERS | ||||||
|  | echo "[INFO] Mise en place des fichiers ..." | ||||||
|  | mkdir /home/wow/vmangos/etc | ||||||
|  | 
 | ||||||
|  | sudo cp /home/wow/vmangos/etc/realmd.conf.dist /home/wow/vmangos/etc/mangosd.conf | ||||||
|  | sudo cp /home/wow/vmangos/etc/mangosd.conf.dist /home/wow/vmangos/etc/realmd.conf | ||||||
|  | 
 | ||||||
|  | sudo chown -R wow:wow /home/wow/vmangos/etc | ||||||
|  | 
 | ||||||
|  | mkdir -p /home/wow/vmangos/logs/{mangosd,realmd,honor} | ||||||
|  | 
 | ||||||
|  | sudo chown -R wow:wow /home/wow/vmangos/bin | ||||||
|  | 
 | ||||||
|  | # CONFIG AGAIN | ||||||
|  | echo "[INFO] Configuration de mangosd.conf ..." | ||||||
|  | sed -i \ | ||||||
|  |     -e "s|^DataDir.*|DataDir = \"$MANGOS_DATA\"|" \ | ||||||
|  |     -e "s|^LogsDir.*|LogsDir = \"$MANGOS_LOGS/mangosd\"|" \ | ||||||
|  |     -e "s|^HonorDir.*|HonorDir = \"$MANGOS_LOGS/honor\"|" \ | ||||||
|  |     "$MANGOS_ETC/mangosd.conf" | ||||||
|  | 
 | ||||||
|  | echo "[INFO] Configuration de realmd.conf ..." | ||||||
|  | sed -i \ | ||||||
|  |     -e "s|^LogsDir.*|LogsDir = \"$MANGOS_LOGS/realmd\"|" \ | ||||||
|  |     "$MANGOS_ETC/realmd.conf" | ||||||
|  | 
 | ||||||
|  | # MYSQL SECURE INSTALLATION | ||||||
|  | echo "[INFO] Sécurisation de MySQL ..." | ||||||
|  | 
 | ||||||
|  | sudo mysql <<EOF | ||||||
|  | DELETE FROM mysql.user WHERE User=''; | ||||||
|  | DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost'); | ||||||
|  | DROP DATABASE IF EXISTS test; | ||||||
|  | DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'; | ||||||
|  | FLUSH PRIVILEGES; | ||||||
|  | EOF | ||||||
|  | 
 | ||||||
|  | sudo mysql --user=root --password="${MYSQL_ROOT_PASS}" <<EOF | ||||||
|  | DROP USER IF EXISTS 'mangos'@'localhost'; | ||||||
|  | 
 | ||||||
|  | CREATE USER 'mangos'@'localhost' IDENTIFIED BY '${MANGOS_DB_PASS}' | ||||||
|  | WITH MAX_QUERIES_PER_HOUR 0 | ||||||
|  |      MAX_CONNECTIONS_PER_HOUR 0 | ||||||
|  |      MAX_UPDATES_PER_HOUR 0; | ||||||
|  | 
 | ||||||
|  | GRANT ALL PRIVILEGES ON *.* TO 'mangos'@'localhost' WITH GRANT OPTION; | ||||||
|  | 
 | ||||||
|  | CREATE DATABASE IF NOT EXISTS \`realmd\` | ||||||
|  |     DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||||||
|  | CREATE DATABASE IF NOT EXISTS \`mangos\` | ||||||
|  |     DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||||||
|  | CREATE DATABASE IF NOT EXISTS \`characters\` | ||||||
|  |     DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||||||
|  | CREATE DATABASE IF NOT EXISTS \`logs\` | ||||||
|  |     DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | ||||||
|  | 
 | ||||||
|  | GRANT ALL PRIVILEGES ON \`realmd\`.* TO 'mangos'@'localhost' WITH GRANT OPTION; | ||||||
|  | GRANT ALL PRIVILEGES ON \`mangos\`.* TO 'mangos'@'localhost' WITH GRANT OPTION; | ||||||
|  | GRANT ALL PRIVILEGES ON \`characters\`.* TO 'mangos'@'localhost' WITH GRANT OPTION; | ||||||
|  | GRANT ALL PRIVILEGES ON \`logs\`.* TO 'mangos'@'localhost' WITH GRANT OPTION; | ||||||
|  | 
 | ||||||
|  | FLUSH PRIVILEGES; | ||||||
|  | EOF | ||||||
|  | 
 | ||||||
|  | # not sure of usefullness | ||||||
|  | sudo mysql -u root -p"${MYSQL_ROOT_PASS}" -e "SHOW GRANTS FOR 'mangos'@'localhost';" | ||||||
|  | # end of 'not sure of usefullness' | ||||||
|  | 
 | ||||||
|  | sudo mysql -u root -p"${MYSQL_ROOT_PASS}" <<EOF | ||||||
|  | DROP USER IF EXISTS 'mangos'@'localhost'; | ||||||
|  | CREATE USER 'mangos'@'localhost' IDENTIFIED BY 'mangos'; | ||||||
|  | GRANT ALL PRIVILEGES ON *.* TO 'mangos'@'localhost' WITH GRANT OPTION; | ||||||
|  | FLUSH PRIVILEGES; | ||||||
|  | EOF | ||||||
|  | 
 | ||||||
|  | # FINAL CONFIGS | ||||||
|  | cd /home/wow/vmangos/vmangos/db/ | ||||||
|  | 
 | ||||||
|  | wget https://github.com/brotalnia/database/blob/master/world_full_14_june_2021.7z?raw=true | ||||||
|  | 
 | ||||||
|  | 7z x world_full_14_june_2021.7z | ||||||
|  | sudo mysql -u mangos -pmangos --database=mangos < world_full_14_june_2021.sql | ||||||
|  | rm -r world_full_14_june_2021.sql | ||||||
|  | 
 | ||||||
|  | cd /home/wow/vmangos/core/sql/ | ||||||
|  | 
 | ||||||
|  | mysql -u mangos -pmangos --database=characters < characters.sql | ||||||
|  | mysql -u mangos -pmangos --database=logs < logs.sql | ||||||
|  | mysql -u mangos -pmangos --database=realmd < logon.sql | ||||||
|  | 
 | ||||||
|  | sudo mysql -u root -p"${MYSQL_ROOT_PASS}" <<EOF | ||||||
|  | 
 | ||||||
|  | USE mangos; | ||||||
|  | 
 | ||||||
|  | ALTER TABLE locales_item | ||||||
|  | MODIFY COLUMN name_loc1 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc2 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc3 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc4 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc5 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc6 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc7 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc8 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci'; | ||||||
|  | 
 | ||||||
|  | ALTER TABLE locales_creature | ||||||
|  | MODIFY COLUMN name_loc1 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc2 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc3 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc4 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc5 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc6 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc7 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc8 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci'; | ||||||
|  | 
 | ||||||
|  | ALTER TABLE locales_gameobject | ||||||
|  | MODIFY COLUMN name_loc1 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc2 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc3 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc4 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc5 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc6 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc7 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci', | ||||||
|  | MODIFY COLUMN name_loc8 VARCHAR(100) NULL DEFAULT '' COLLATE 'utf8_general_ci'; | ||||||
|  | 
 | ||||||
|  | USE realmd; | ||||||
|  | 
 | ||||||
|  | DELETE FROM realmlist WHERE id=1; | ||||||
|  | INSERT INTO realmlist (id, name, address, localAddress, localSubnetMask, icon, timezone, realmbuilds) | ||||||
|  | VALUES (1, '${REALM_NAME}', '${REALM_IP}', '127.0.0.1', '255.255.255.0', 1, 2, '5875 6005 6141'); | ||||||
|  | 
 | ||||||
|  | EOF | ||||||
|  | 
 | ||||||
|  | # MIGRATIONS | ||||||
|  | cd /home/wow/vmangos/core/sql/migrations | ||||||
|  | 
 | ||||||
|  | ./merge.sh | ||||||
|  | 
 | ||||||
|  | mysql -u mangos -pmangos --database=mangos < world_db_updates.sql | ||||||
|  | mysql -u mangos -pmangos --database=logs < logs_db_updates.sql | ||||||
|  | mysql -u mangos -pmangos --database=characters < characters_db_updates.sql | ||||||
|  | mysql -u mangos -pmangos --database=realmd < logon_db_updates.sql | ||||||
|  | 
 | ||||||
|  | # START SERVER | ||||||
|  | cd /home/wow/vmangos/bin/ | ||||||
|  | sudo ./realmd | ||||||
|  | 
 | ||||||
|  | # OUVRIR NEW TERMINAL | ||||||
|  | cd /home/wow/vmangos/bin/ | ||||||
|  | 
 | ||||||
|  | sudo ./mangosd | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	