User Tools

Site Tools


servers:games:trinitycore_3.3.5

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
servers:games:trinitycore_3.3.5 [2022/09/30 10:57] – [Notes] Sean Rhoneservers:games:trinitycore_3.3.5 [2023/07/30 19:03] – [Two-Factor Authentication] Sean Rhone
Line 10: Line 10:
   * [[distros:fedora_server|Fedora Server]]   * [[distros:fedora_server|Fedora Server]]
   * [[servers:mariadb|MariaDB]]   * [[servers:mariadb|MariaDB]]
-  * [[games:wine:world_of_warcraft_3.3.5|World of Warcraft (3.3.5)]] ((required for content extraction, and since the core and tools are compiled on Linuxthe extraction tools will also require Linux OS to run on))+  * [[games:wine:world_of_warcraft_3.3.5|World of Warcraft (3.3.5)]] ((required for content extraction, and since the core and tools are compiled on Linux the extraction tools also require Linux))
  
 ===== Notes ===== ===== Notes =====
Line 16: Line 16:
   * :!: As of 2022/09/30, these notes were tested on F36 up until the systemd scripts; TODO: fix them   * :!: As of 2022/09/30, these notes were tested on F36 up until the systemd scripts; TODO: fix them
   * :!: Do **not** use Warmane's WotLK client for content extraction nor to play with as it's modified and fails if ''authserver.conf/StrictVersionCheck = 1''   * :!: Do **not** use Warmane's WotLK client for content extraction nor to play with as it's modified and fails if ''authserver.conf/StrictVersionCheck = 1''
-  * [[https://wowdl.net/index|WoWDL]] has a [[https://wowdl.net/client/3.3.5a-win-us|clean 3.3.5 client]]+  * [[https://wowdl.net/index|WoWDL]] has a [[https://wowdl.net/client/3.3.5a-win-us|clean 3.3.5 client]] that works fine with ''authserver.conf/StrictVersionCheck = 1''
  
 ====== Create Group and User ====== ====== Create Group and User ======
Line 89: Line 89:
   sudo su 'trinity' -s '/usr/bin/bash'   sudo su 'trinity' -s '/usr/bin/bash'
  
-  rm -Rf '/tmp/TDB' '/tmp/TDB/TDB335.7z' && mkdir -p '/tmp/TDB' && cd ~ && wget -O '/tmp/TDB/TDB335.7z' 'https://github.com/TrinityCore/TrinityCore/releases/download/TDB335.22081/TDB_full_world_335.22081_2022_08_15.7z' && 7za x '/tmp/TDB/TDB335.7z' -o'/tmp/TDB' && mv '/tmp/TDB/TDB_full_world_335'*'.sql' ~/'Projects/trinity-335/run/bin' && rm -Rf '/tmp/TDB' && sync+  rm -Rf '/tmp/TDB' '/tmp/TDB/TDB335.7z' && mkdir -p '/tmp/TDB' && cd ~ && wget -O '/tmp/TDB/TDB335.7z' 'https://github.com/TrinityCore/TrinityCore/releases/download/TDB335.23061/TDB_full_world_335.23061_2023_06_14.7z' && 7za x '/tmp/TDB/TDB335.7z' -o'/tmp/TDB' && mv '/tmp/TDB/TDB_full_world_335'*'.sql' ~/'Projects/trinity-335/run/bin' && rm -Rf '/tmp/TDB' && sync
  
 ====== Compile ====== ====== Compile ======
  
   * :!: This wipes out the ''run'' folder, so ideally any extracted content and the full TDB shouldn't be moved there until after this initial compile   * :!: This wipes out the ''run'' folder, so ideally any extracted content and the full TDB shouldn't be moved there until after this initial compile
 +  * :!: For content extraction, Fedora major versions should match between the compiler and extraction machines for Boost libraries ((can use ''LD_LIBRARY_PATH=.'' for all the extraction commands, and copy the requested ''.so'' library files from [[https://pkgs.org/|downloaded]] packages into the WoW folder))
  
   sudo su 'trinity' -s '/usr/bin/bash'   sudo su 'trinity' -s '/usr/bin/bash'
Line 114: Line 115:
   * See [[games:wine:world_of_warcraft_3.3.5|WoW 3.3.5]] installation notes   * See [[games:wine:world_of_warcraft_3.3.5|WoW 3.3.5]] installation notes
  
-  mkdir -p '/tmp/trinity-extractors' && scp espionage724@192.168.1.152:'/tmp/trinity-extractors/'* '/tmp/trinity-extractors' && mv '/tmp/trinity-extractors/'* ~/'Wine Prefixes/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && sync+  mkdir -p '/tmp/trinity-extractors' && scp espionage724@192.168.1.152:'/tmp/trinity-extractors/'* '/tmp/trinity-extractors' && mv '/tmp/trinity-extractors/'* ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && sync
  
 ===== Dependencies ===== ===== Dependencies =====
Line 128: Line 129:
   * :!: Run on the machine doing the content extraction   * :!: Run on the machine doing the content extraction
  
-  cd ~/'Wine Prefixes/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && ./'mapextractor' -f '0'  && sync+  cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && ./'mapextractor' -f '0'  && sync
  
 ==== VMaps ==== ==== VMaps ====
Line 136: Line 137:
   * :!: Run on the machine doing the content extraction   * :!: Run on the machine doing the content extraction
  
-  cd ~/'Wine Prefixes/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && ./'vmap4extractor' -l && sync+  cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && ./'vmap4extractor' -l && sync
  
 === Assemble === === Assemble ===
Line 142: Line 143:
   * :!: Run on the machine doing the content extraction   * :!: Run on the machine doing the content extraction
  
-  cd ~/'Wine Prefixes/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && mkdir -p 'vmaps' && ./'vmap4assembler' 'Buildings' 'vmaps' && sync+  cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && mkdir -p 'vmaps' && ./'vmap4assembler' 'Buildings' 'vmaps' && sync
  
 ==== MMaps ==== ==== MMaps ====
Line 148: Line 149:
   * :!: Run on the machine doing the content extraction   * :!: Run on the machine doing the content extraction
  
-  cd ~/'Wine Prefixes/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && mkdir -p 'mmaps' && ./'mmaps_generator' --bigBaseUnit 'true' --threads $(nproc) && sync+  cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && mkdir -p 'mmaps' && ./'mmaps_generator' --bigBaseUnit 'true' --threads $(nproc) && sync
  
 ===== Archive Content ===== ===== Archive Content =====
Line 155: Line 156:
   * :!: Run on the machine that did the content extraction   * :!: Run on the machine that did the content extraction
  
-  cd ~/'Wine Prefixes/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && tar -cvzf ~/'Downloads/WotLK-content-'$(date +%Y-%m-%d)'.tar.gz' 'dbc' 'maps' 'vmaps' 'mmaps' 'Cameras' && cd ~ && sync+  cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && tar -cvzf ~/'Downloads/WotLK-content-'$(date +%Y-%m-%d)'.tar.gz' 'dbc' 'maps' 'vmaps' 'mmaps' 'Cameras' && cd ~ && sync
  
 ===== Transfer Content to Server ===== ===== Transfer Content to Server =====
Line 162: Line 163:
   * :!: Run on the machine that did the content extraction   * :!: Run on the machine that did the content extraction
  
-  cd ~/'Wine Prefixes/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && scp -r 'dbc' 'maps' 'vmaps' 'mmaps' 'Cameras' espionage724@192.168.1.152:~+  cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && scp -r 'dbc' 'maps' 'vmaps' 'mmaps' 'Cameras' espionage724@192.168.1.152:~
  
 ===== Cleanup on Client ===== ===== Cleanup on Client =====
Line 168: Line 169:
   * :!: Run on the machine that did the content extraction   * :!: Run on the machine that did the content extraction
  
-  cd ~/'Wine Prefixes/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && rm -Rf 'Buildings' 'Cameras' 'dbc' 'maps' 'vmaps' 'mmaps' && cd ~/'Downloads' && rm -f 'mapextractor' 'vmap4extractor' 'vmap4assembler' 'mmaps_generator' && sync+  cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && rm -Rf 'Buildings' 'Cameras' 'dbc' 'maps' 'vmaps' 'mmaps' && cd ~/'Downloads' && rm -f 'mapextractor' 'vmap4extractor' 'vmap4assembler' 'mmaps_generator' && sync
  
 ===== Move Content on Server ===== ===== Move Content on Server =====
Line 176: Line 177:
  
   ls ~/'dbc' ~/'maps' ~/'vmaps' ~/'mmaps' ~/'Cameras' > '/dev/null' && sudo rm -Rf '/var/lib/trinity/Projects/trinity-335/run/bin/dbc' '/var/lib/trinity/Projects/trinity-335/run/bin/maps' '/var/lib/trinity/Projects/trinity-335/run/bin/vmaps' '/var/lib/trinity/Projects/trinity-335/run/bin/mmaps' '/var/lib/trinity/Projects/trinity-335/run/bin/Cameras' && cd ~ && sudo mv 'dbc' 'maps' 'vmaps' 'mmaps' 'Cameras' '/var/lib/trinity/Projects/trinity-335/run/bin' && sudo chown -R 'trinity':'trinity' '/var/lib/trinity/Projects/trinity-335/run/bin/dbc' '/var/lib/trinity/Projects/trinity-335/run/bin/maps' '/var/lib/trinity/Projects/trinity-335/run/bin/vmaps' '/var/lib/trinity/Projects/trinity-335/run/bin/mmaps' '/var/lib/trinity/Projects/trinity-335/run/bin/Cameras' && sync   ls ~/'dbc' ~/'maps' ~/'vmaps' ~/'mmaps' ~/'Cameras' > '/dev/null' && sudo rm -Rf '/var/lib/trinity/Projects/trinity-335/run/bin/dbc' '/var/lib/trinity/Projects/trinity-335/run/bin/maps' '/var/lib/trinity/Projects/trinity-335/run/bin/vmaps' '/var/lib/trinity/Projects/trinity-335/run/bin/mmaps' '/var/lib/trinity/Projects/trinity-335/run/bin/Cameras' && cd ~ && sudo mv 'dbc' 'maps' 'vmaps' 'mmaps' 'Cameras' '/var/lib/trinity/Projects/trinity-335/run/bin' && sudo chown -R 'trinity':'trinity' '/var/lib/trinity/Projects/trinity-335/run/bin/dbc' '/var/lib/trinity/Projects/trinity-335/run/bin/maps' '/var/lib/trinity/Projects/trinity-335/run/bin/vmaps' '/var/lib/trinity/Projects/trinity-335/run/bin/mmaps' '/var/lib/trinity/Projects/trinity-335/run/bin/Cameras' && sync
 +
 +  sudo restorecon -F -I -R '/var/lib/trinity/Projects/trinity-335' && sync
  
 ====== Settings ====== ====== Settings ======
Line 181: Line 184:
 ===== authserver ===== ===== authserver =====
  
-==== Copy ====+===== authserver.conf =====
  
-  sudo su 'trinity' -s '/usr/bin/bash' +  * Last updated: 2023/07/29 
- +  * Last commit: [[https://github.com/TrinityCore/TrinityCore/commit/68bf7e6d12e1689d688db32c05066b8832922c67|2021/07/28]] ''68bf7e6'
-  cp ~/'Projects/trinity-335/run/etc/authserver.conf.dist' ~/'Projects/trinity-335/run/etc/authserver.conf+  * [[https://github.com/TrinityCore/TrinityCore/commits/3.3.5/src/server/authserver/authserver.conf.dist|New commits check]]
- +
-==== Settings ==== +
- +
-  sudo su 'trinity' -s '/usr/bin/bash'+
  
   nano ~/'Projects/trinity-335/run/etc/authserver.conf'   nano ~/'Projects/trinity-335/run/etc/authserver.conf'
  
 <code> <code>
 +[authserver]
 +LogsDir = ""
 +MaxPingTime = 30
 +RealmServerPort = 3724
 +BindIP = "0.0.0.0"
 +PidFile = ""
 +UseProcessors = 0
 +ProcessPriority = 0
 +RealmsStateUpdateDelay = 20
 WrongPass.MaxCount = 5 WrongPass.MaxCount = 5
 WrongPass.BanTime = 0 WrongPass.BanTime = 0
 +WrongPass.BanType = 0 
 +WrongPass.Logging = 0
 StrictVersionCheck = 1 StrictVersionCheck = 1
 +BanExpiryCheckInterval = 60 
 +SourceDirectory  = "" 
 +MySQLExecutable = "" 
 +IPLocationFile = "" 
 +AllowLoggingIPAddressesInDatabase = 1 
 +# CHANGEME
 LoginDatabaseInfo = ".;/var/lib/mysql/mysql.sock;authserver;x;authserver" LoginDatabaseInfo = ".;/var/lib/mysql/mysql.sock;authserver;x;authserver"
 +# CHANGEME 
 +LoginDatabase.WorkerThreads = 1 
 +LoginDatabase.SynchThreads  = 1 
 +TOTPMasterSecret =
 Updates.EnableDatabases = 1 Updates.EnableDatabases = 1
 +Updates.AutoSetup   = 1
 +Updates.Redundancy  = 1
 +Updates.AllowRehash = 1
 +Updates.CleanDeadRefMaxCount = -1
 +Appender.Console=1,2,0
 +Appender.Auth=2,2,0,Auth.log,w
 +Logger.root=3,Console Auth
  
-Updates.CleanDeadRefMaxCount = -1</code>+# End</code>
  
 ===== worldserver ===== ===== worldserver =====
Line 294: Line 318:
   * Any additional console use should come from ''telnet'' from a remote machine on the local network   * Any additional console use should come from ''telnet'' from a remote machine on the local network
   * :!: Credentials for the remote console are the same as the GM account created above   * :!: Credentials for the remote console are the same as the GM account created above
 +  * 2023/07/30: TODO: ''sed'' didn't work as-expected
  
   sudo su 'trinity' -s '/usr/bin/bash'   sudo su 'trinity' -s '/usr/bin/bash'
Line 318: Line 343:
  
 ===== Two-Factor Authentication ===== ===== Two-Factor Authentication =====
 +
 +  * :!: 2023/07/30: This may have different behavior, see ''TOTPMasterSecret'' in auth and world confs
  
   * To be done after databases are initialized   * To be done after databases are initialized
Line 325: Line 352:
   * Authenticator will be prompted from the game client on each log-in   * Authenticator will be prompted from the game client on each log-in
  
-  mysql -u root -p+  sudo mysql
  
   UPDATE `authserver`.`account` SET `token_key` = 'x' WHERE `account`.`id` = 1   UPDATE `authserver`.`account` SET `token_key` = 'x' WHERE `account`.`id` = 1
Line 370: Line 397:
  
   sudo setenforce 1   sudo setenforce 1
 +
 +  nano ~/'policies/authserver.te'
  
 ===== worldserver ===== ===== worldserver =====
Line 408: Line 437:
  
   sudo setenforce 1   sudo setenforce 1
 +
 +  nano ~/'policies/worldserver.te'
  
 ===== Information ===== ===== Information =====
Line 561: Line 592:
  
   * This backs up an archive to the local disk   * This backs up an archive to the local disk
-  * :!: Everything below this line may need re-factored and isn't tested with the updated notes as of 2019/02/19 
  
 ==== authserver ==== ==== authserver ====
Line 655: Line 685:
 ==== Backup Database ==== ==== Backup Database ====
  
-  mysqldump -u 'root' -p --defaults-extra-file='/var/lib/mysql/auth/authserver' --single-transaction 'authserver' -r ~/'authserver-database-manual-'$(date +%Y-%m-%d)'.sql' && sync+  sudo mysqldump --defaults-extra-file='/var/lib/mysql/auth/authserver' --single-transaction 'authserver' -r ~/'authserver-database-manual-'$(date +%Y-%m-%d)'.sql' && sync
  
-  mysqldump -u 'root' -p --defaults-extra-file='/var/lib/mysql/auth/characters' --single-transaction 'characters' -r ~/'characters-database-manual-'$(date +%Y-%m-%d)'.sql' && sync+  sudo mysqldump --defaults-extra-file='/var/lib/mysql/auth/characters' --single-transaction 'characters' -r ~/'characters-database-manual-'$(date +%Y-%m-%d)'.sql' && sync
  
 ==== Start Services ==== ==== Start Services ====
Line 707: Line 737:
 ==== Drop Previous Database ==== ==== Drop Previous Database ====
  
-  mysql -u 'root' -p+  sudo mysql
  
   DROP DATABASE authserver;   DROP DATABASE authserver;
Line 717: Line 747:
 ==== Re-create Databases ==== ==== Re-create Databases ====
  
-  mysql -u 'root' -p+  sudo mysql
  
   CREATE DATABASE authserver;   CREATE DATABASE authserver;
Line 725: Line 755:
 ==== Restore Database ==== ==== Restore Database ====
  
-  mysql -u 'root' -p 'authserver' < ~/'authserver-database-'*'.sql' && sync+  sudo mysql 'authserver' < ~/'authserver-database-'*'.sql' && sync
  
-  mysql -u 'root' -p 'characters' < ~/'characters-database-'*'.sql' && sync+  sudo mysql 'characters' < ~/'characters-database-'*'.sql' && sync
  
 ==== Reapply Permissions ==== ==== Reapply Permissions ====
  
-  mysql -u 'root' -p+  sudo mysql
  
   GRANT ALL PRIVILEGES ON authserver.* to 'authserver'@'localhost' IDENTIFIED BY 'x';   GRANT ALL PRIVILEGES ON authserver.* to 'authserver'@'localhost' IDENTIFIED BY 'x';
Line 750: Line 780:
  
   rm ~/'authserver-database-'*'.sql' ~/'characters-database-'*'.sql' && sync   rm ~/'authserver-database-'*'.sql' ~/'characters-database-'*'.sql' && sync
 +
C:/www/wiki/data/pages/servers/games/trinitycore_3.3.5.txt · Last modified: 2023/07/31 08:27 by Sean Rhone