User Tools

Site Tools


servers:linux:games:mangos_zero_vanilla_localhost

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
servers:linux:games:mangos_zero_vanilla_localhost [2025/10/18 01:48] – created (large WIP) Sean Rhoneservers:linux:games:mangos_zero_vanilla_localhost [2025/10/18 21:25] (current) – [Settings] Sean Rhone
Line 8: Line 8:
 ===== Prerequisites ===== ===== Prerequisites =====
  
-  * [[windows:10|Windows 10 (21H2)]] +  * [[linux:distros:opensuse_tumbleweed_xfce|openSUSE Tumbleweed (Xfce)]] 
-  * [[programs;windows;git|Git]] +  * [[games:linux:wine:world_of_warcraft_1.12.1|World of Warcraft 1.12.1]]
-  * [[servers;windows;mariadb|MariaDB]] (Dev components required; no service/networking) +
-  * [[games;windows;world_of_warcraft_1.12.1|World of Warcraft 1.12.1]]+
  
 ====== Dependencies ====== ====== Dependencies ======
  
-===== Visual Studio 2022 =====+****
  
-  * VS2022 [[https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&channel=Release&version=VS2022|VisualStudioSetup.exe]]+  sudo zypper install git-core cmake clang mariadb libmariadb-devel
  
-  * Pause installer to prevent initial auto-download of unnecessary components+====== Download Source ======
  
-==== Required Components ====+  * https://github.com/mangoszero/server/commits/master/
  
-  * Desktop development with C++ (C++ core desktop features) +  cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/MaNGOS-Zero/src' && git clone --branch 'master' --depth '1' --recurse-submodules 'https://github.com/mangoszero/server.git' ~/'Projects/MaNGOS-Zero/src'
-  * MSVC v143 VS 2022 C++ x64/x86 build tools (Latest) +
-  * Windows 11 SDK (10.0.26100.4654)+
  
-  "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\setup.exe"+====== Database ======
  
-===== CMake =====+===== Settings =====
  
-  * https://cmake.org/download/ +  rm -Rf ~/'Projects/MaNGOS-Zero/mariadb/database&& mkdir -p ~/'Projects/MaNGOS-Zero/mariadb/database' && nano ~/'Projects/MaNGOS-Zero/mariadb/custom.cnf'
-  * Last tested: ''cmake-4.1.1-windows-x86_64.msi''+
  
-  * ''[ ]'' Add CMake to the PATH environment variable+<code> 
 +[client] 
 +default-character-set = 'utf8mb4'
  
-===== OpenSSL =====+[mariadb-client] 
 +default-character-set 'utf8mb4'
  
-  * https://slproweb.com/products/Win32OpenSSL.html (:!: not Light) +[mariadbd] 
-  * Last tested: ''Win64OpenSSL-3_5_4.msi''+character-set-client-handshake = 'FALSE' 
 +character-set-server = 'utf8mb4' 
 +collation-server = 'utf8mb4_unicode_ci' 
 +init-connect='SET NAMES utf8mb4' 
 +expire_logs_days = '7' 
 +max_binlog_size = '100M' 
 +skip-networking = 'On' 
 +table_definition_cache = '1400'
  
-  * Copy OpenSSL DLLs to: +# End</code>
-    * ''[x]'' The OpenSSL binaries (/bin) directory+
  
-====== Download Source ======+===== Initialize =====
  
-  https://github.com/mangoszero/server/commits/master/+****
  
-  "%ProgramFiles%\Git\bin\git.exe" clone --branch "master" --depth "1" --recurse-submodules "https://github.com/mangoszero/server.git" "%UserProfile%\Projects\MaNGOS-Zero\src"+  mariadb-install-db --datadir=$HOME/'Projects/MaNGOS-Zero/mariadb/database' --defaults-file=$HOME/'Projects/MaNGOS-Zero/mariadb/custom.cnf' 
 + 
 +===== Initial Setup ===== 
 + 
 +==== Server Start ==== 
 + 
 +**** 
 + 
 +  '/usr/sbin/mariadbd' --datadir=$HOME/'Projects/MaNGOS-Zero/mariadb/database' --socket=$HOME/'Projects/MaNGOS-Zero/mariadb/mariadb.sock' 
 + 
 +==== Set-up ==== 
 + 
 +  * Enter current password for root''(enter)'' 
 +  * Switch to unix_socket authentication: ''Y'' 
 +  * :!: Change the root password: ''N'' 
 +  * Remove anonymous users: ''Y'' 
 +  * Disallow root login remotely: ''Y'' 
 +  * Remove test database and access to it: ''Y'' 
 +  * Reload privilege tables now: ''Y'' 
 + 
 +  mariadb-secure-installation --socket=$HOME/'Projects/MaNGOS-Zero/mariadb/mariadb.sock' --user=$USER 
 + 
 +  mariadb-admin 'shutdown' --socket=$HOME/'Projects/MaNGOS-Zero/mariadb/mariadb.sock' --user=$USER
  
 ====== Databases ====== ====== Databases ======
Line 54: Line 80:
 ===== Connect ===== ===== Connect =====
  
-  "%ProgramFiles%\MariaDB 12.1\bin\mariadbd.exe" --defaults-file="%ProgramFiles%\MariaDB 12.1\data\my.ini"+  * 2 Terminal windows
  
-  "%ProgramFiles%\MariaDB 12.1\bin\mariadb.exe" -u "root" -p+  '/usr/sbin/mariadbd' --datadir=$HOME/'Projects/MaNGOS-Zero/mariadb/database' --socket=$HOME/'Projects/MaNGOS-Zero/mariadb/mariadb.sock' 
 + 
 +  mariadb --socket=$HOME/'Projects/MaNGOS-Zero/mariadb/mariadb.sock' --user=$USER
  
 ===== Databases ===== ===== Databases =====
  
-  CREATE DATABASE realmd;+  CREATE DATABASE realmd0;
  
   CREATE DATABASE character0;   CREATE DATABASE character0;
Line 68: Line 96:
 ===== Users ===== ===== Users =====
  
-  CREATE USER 'realmd'@'localhost' IDENTIFIED BY 'x';+  CREATE USER 'realmd0'@'localhost' IDENTIFIED BY 'x';
  
   CREATE USER 'character0'@'localhost' IDENTIFIED BY 'x';   CREATE USER 'character0'@'localhost' IDENTIFIED BY 'x';
Line 76: Line 104:
 ===== Permissions ===== ===== Permissions =====
  
-  GRANT ALL PRIVILEGES ON realmd.* to 'realmd'@'localhost';+  GRANT ALL PRIVILEGES ON realmd0.* to 'realmd0'@'localhost';
  
   GRANT ALL PRIVILEGES ON character0.* to 'character0'@'localhost';   GRANT ALL PRIVILEGES ON character0.* to 'character0'@'localhost';
Line 82: Line 110:
   GRANT ALL PRIVILEGES ON mangos0.* to 'mangos0'@'localhost';   GRANT ALL PRIVILEGES ON mangos0.* to 'mangos0'@'localhost';
  
-  FLUSH PRIVILEGES; +  FLUSH PRIVILEGES;EXIT;
- +
-  EXIT+
  
 ====== Initial Compile ====== ====== Initial Compile ======
- 
-===== CMake ===== 
  
 **** ****
  
-<code>"%ProgramFiles%\CMake\bin\cmake.exe" -S "%UserProfile%\Projects\MaNGOS-Zero\src" -B "%UserProfile%\Projects\MaNGOS-Zero\build" -G "Visual Studio 17 2022" --fresh -Wno-dev -DMySQL_INCLUDE_DIR="%ProgramFiles%\MariaDB 12.1\include\mysql" -DMySQL_LIBRARY="%ProgramFiles%\MariaDB 12.1\lib\libmariadb.lib" -DDEBUG="0" -DPLAYERBOTS="0" -DSCRIPT_LIB_ELUNA="0" -DBUILD_TOOLS="1"</code> +  rm -Rf ~/'Projects/MaNGOS-Zero/build' ~/'Projects/MaNGOS-Zero/run' && mkdir -p ~/'Projects/MaNGOS-Zero/build' ~/'Projects/MaNGOS-Zero/run' && cd ~/'Projects/MaNGOS-Zero/build&& CC='/usr/bin/clang' CXX='/usr/bin/clang++' cmake ~/'Projects/MaNGOS-Zero/src-DCMAKE_INSTALL_PREFIX=~/'Projects/MaNGOS-Zero/run' -DCONF_INSTALL_DIR=~/'Projects/MaNGOS-Zero/run/bin-DCMAKE_BUILD_TYPE='Release' -DDEBUG='0' -DPLAYERBOTS='0' -DSCRIPT_LIB_ELUNA='0' -DBUILD_TOOLS='1' && make --jobs=$(nproc) install
- +
-===== Compile ===== +
- +
-  * 2-3 minutes i5-8400H ((2025/10/08: ''00:02:38.58'')) +
- +
-<code>"%ProgramFiles%\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.exe" "%UserProfile%\Projects\MaNGOS-Zero\build\ALL_BUILD.vcxproj" -target:"Rebuild" -property:"Configuration=Release"</code> +
- +
-===== Server Files ===== +
- +
-  MKDIR "%UserProfile%\Projects\MaNGOS-Zero\server" COPY /Y "%UserProfile%\Projects\MaNGOS-Zero\build\src\realmd\Release\realmd.exe" "%UserProfile%\Projects\MaNGOS-Zero\server" +
- +
-  MKDIR "%UserProfile%\Projects\MaNGOS-Zero\server" COPY /Y "%UserProfile%\Projects\MaNGOS-Zero\build\src\mangosd\Release\mangosd.exe" "%UserProfile%\Projects\MaNGOS-Zero\server" +
- +
-  MKDIR "%UserProfile%\Projects\MaNGOS-Zero\server" & COPY /Y "%ProgramFiles%\MariaDB 12.1\lib\libmariadb.dll" "%UserProfile%\Projects\MaNGOS-Zero\server" +
- +
-  MKDIR "%UserProfile%\Projects\MaNGOS-Zero\server" & COPY /Y "%ProgramFiles%\OpenSSL-Win64\bin\libcrypto-3-x64.dll" "%UserProfile%\Projects\MaNGOS-Zero\server"+
  
 ====== Content ====== ====== Content ======
  
-  * Expects [[games;windows;world_of_warcraft_2.4.3#install|World of Warcraft 1.12.1]]+  * Expects [[games:linux:wine:world_of_warcraft_1.12.1|World of Warcraft 1.12.1]]
  
-  DIR "%ProgramFiles(x86)%\World of Warcraft 1.12.1\Wow.exe"+  ls ~/'.wine/World of Warcraft 1.12.1/drive_c/Program Files/World of Warcraft/WoW.exe'
  
 ===== DBCs and Maps ===== ===== DBCs and Maps =====
Line 120: Line 128:
 **** ****
  
-  MKDIR "%UserProfile%\Projects\MaNGOS-Zero\server" & "%UserProfile%\Projects\MaNGOS-Zero\build\src\tools\Extractor_projects\Release\map-extractor.exe" -i "%ProgramFiles(x86)%\World of Warcraft 1.12.1-o "%UserProfile%\Projects\MaNGOS-Zero\server" -f "0"+  ~/'Projects/MaNGOS-Zero/run/bin/tools/map-extractor-i ~/'.wine/World of Warcraft 1.12.1/drive_c/Program Files/World of Warcraft' -o ~/'Projects/MaNGOS-Zero/run/bin' -f '0'
  
 ===== VMaps ===== ===== VMaps =====
Line 126: Line 134:
 **** ****
  
-  MKDIR "%UserProfile%\Projects\MaNGOS-Zero\server" & CD "%UserProfile%\Projects\MaNGOS-Zero\server" && "%UserProfile%\Projects\MaNGOS-Zero\build\src\tools\Extractor_projects\Release\vmap-extractor.exe" -i "%ProgramFiles(x86)%\World of Warcraft 1.12.1"+  cd ~/'Projects/MaNGOS-Zero/run/bin' && ~/'Projects/MaNGOS-Zero/run/bin/tools/vmap-extractor-i ~/'.wine/World of Warcraft 1.12.1/drive_c/Program Files/World of Warcraft'
  
 ===== MMaps ===== ===== MMaps =====
  
-  * :!: ~10 minutes i5-8400H ((2025/10/08: ''746 seconds'')) +  * :!: ~10 minutes i5-8400H ((2025/10/18: ''568 seconds'')) 
-  * ''--threads %NUMBER_OF_PROCESSORS%''+  * '' --threads $(nproc)''
  
-  MKDIR "%UserProfile%\Projects\MaNGOS-Zero\server" & CD "%UserProfile%\Projects\MaNGOS-Zero\server" && "%UserProfile%\Projects\MaNGOS-Zero\build\src\tools\Extractor_projects\Release\mmap-extractor.exe" -i "%ProgramFiles(x86)%\World of Warcraft 1.12.1--offMeshInput "%UserProfile%\Projects\MaNGOS-Zero\src\src\tools\Extractor_Binaries\offmesh.txt--bigBaseUnit "true--threads %NUMBER_OF_PROCESSORS%+  cd ~/'Projects/MaNGOS-Zero/run/bin' && ~/'Projects/MaNGOS-Zero/run/bin/tools/mmap-extractor-i ~/'.wine/World of Warcraft 1.12.1/drive_c/Program Files/World of Warcraft' --offMeshInput ~/'Projects/MaNGOS-Zero/run/bin/tools/offmesh.txt--bigBaseUnit 'true--threads $(nproc)
  
 ===== Clean-up ===== ===== Clean-up =====
Line 139: Line 147:
 **** ****
  
-  RMDIR /S /Q "%UserProfile%\Projects\MaNGOS-Zero\server\Buildings"+  rm -Rf ~/'Projects/MaNGOS-Zero/run/bin/Buildings'
  
 ====== World Database ====== ====== World Database ======
Line 149: Line 157:
   * https://github.com/mangosone/database/commits/master/   * https://github.com/mangosone/database/commits/master/
  
-  "%ProgramFiles%\Git\bin\git.exe" clone --branch "master--depth "1--recurse-submodules "https://github.com/mangoszero/database.git" "%UserProfile%\Projects\MaNGOS-Zero\database"+  cd ~ && rm -Rf ~/'Projects/MaNGOS-Zero/database-src' && git clone --branch 'master--depth '1--recurse-submodules 'https://github.com/mangoszero/database.git' ~/'Projects/MaNGOS-Zero/database-src'
  
 ==== Base Imports ==== ==== Base Imports ====
Line 820: Line 828:
 ===== Restore ===== ===== Restore =====
  
-  [[#databases|Initial set-up]]+****
  
-  "%ProgramFiles%\MariaDB 12.1\bin\mariadbd.exe" --defaults-file="%ProgramFiles%\MariaDB 12.1\data\my.ini"+  '/usr/sbin/mariadbd--datadir=$HOME/'Projects/MaNGOS-Zero/mariadb/database' --socket=$HOME/'Projects/MaNGOS-Zero/mariadb/mariadb.sock'
  
 ==== realmd ==== ==== realmd ====
  
-  "%ProgramFiles%\MariaDB 12.1\bin\mariadb.exe" -u "root" ---execute="CREATE DATABASE realmd"+  mariadb --socket=$HOME/'Projects/MaNGOS-Zero/mariadb/mariadb.sock' --user=$USER --execute='CREATE DATABASE realmd0'
  
-  "%ProgramFiles%\MariaDB 12.1\bin\mariadb.exe" -u "root" -p "realmd" "%UserProfile%\Downloads\localhost-realmd.sql"+  mariadb --socket=$HOME/'Projects/MaNGOS-Zero/mariadb/mariadb.sock' --user=$USER 'realmd0' ~/'Downloads/localhost-realmd0.sql'
  
 ==== character0 ==== ==== character0 ====
  
-  "%ProgramFiles%\MariaDB 12.1\bin\mariadb.exe" -u "root" ---execute="CREATE DATABASE character0"+  mariadb --socket=$HOME/'Projects/MaNGOS-Zero/mariadb/mariadb.sock' --user=$USER --execute='CREATE DATABASE character0'
  
-  "%ProgramFiles%\MariaDB 12.1\bin\mariadb.exe" -u "root" -p "character0"%UserProfile%\Downloads\localhost-character0.sql"+  mariadb --socket=$HOME/'Projects/MaNGOS-Zero/mariadb/mariadb.sock' --user=$USER 'character0~/'Downloads/localhost-character0.sql'
  
 ====== Quick Commands ====== ====== Quick Commands ======
Line 842: Line 850:
 **** ****
  
-  "explorer.exe" "%UserProfile%\Projects\MaNGOS-Zero\server"+  gio open ~/'Projects/MaNGOS-Zero/run/bin'
  
 ====== TODOs ====== ====== TODOs ======
/srv/www/wiki/data/attic/servers/linux/games/mangos_zero_vanilla_localhost.1760766493.txt.gz · Last modified: by Sean Rhone · Currently locked by: Sean Rhone