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
Last revisionBoth sides next revision
servers:games:trinitycore_3.3.5 [2023/07/24 23:11] Sean Rhoneservers:games:trinitycore_3.3.5 [2023/07/31 00:29] Sean Rhone
Line 11: Line 11:
   * [[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 Linux the extraction tools also require Linux))   * [[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 ===== 
- 
-  * :!: 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'' 
-  * [[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 34: Line 28:
 ====== Firewall ====== ====== Firewall ======
  
-  * 3724/tcp is loginserver and needs forwarded from the router also for WAN +  * :!: 3724/tcp is loginserver and needs forwarded from the router for both LAN and WAN 
-  * 8085/tcp is worldserver and needs forwarded from the router also for WAN+  * :!: 8085/tcp is worldserver and needs forwarded from the router for both LAN and WAN
   * 3443/tcp is Remote Console   * 3443/tcp is Remote Console
   * 7878/tcp is SOAP   * 7878/tcp is SOAP
Line 115: Line 109:
   * 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 129: Line 123:
   * :!: 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 137: Line 131:
   * :!: 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 143: 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' && 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 149: 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 '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 ===== +
- +
-  * Should be around 1.5GB +
-  * :!: 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+
  
 ===== Transfer Content to Server ===== ===== Transfer Content to Server =====
Line 163: Line 150:
   * :!: 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 169: 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' && 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 180: Line 167:
   sudo restorecon -F -I -R '/var/lib/trinity/Projects/trinity-335' && sync   sudo restorecon -F -I -R '/var/lib/trinity/Projects/trinity-335' && sync
  
-====== Settings ======+====== SELinux ======
  
-===== authserver =====+  sudo semanage fcontext --add --type 'bin_t' '/var/lib/trinity/Projects/trinity-335/run/bin/authserver' && sudo restorecon -F -I -R '/var/lib/trinity/Projects/trinity-335/run/bin/authserver'
  
-==== Copy ====+  sudo semanage fcontext --add --type 'bin_t' '/var/lib/trinity/Projects/trinity-335/run/bin/worldserver' && sudo restorecon -F -I -R '/var/lib/trinity/Projects/trinity-335/run/bin/worldserver'
  
-  sudo su 'trinity' -s '/usr/bin/bash'+====== Settings ======
  
-  cp ~/'Projects/trinity-335/run/etc/authserver.conf.dist' ~/'Projects/trinity-335/run/etc/authserver.conf'+===== authserver.conf =====
  
-==== Settings ====+  * See [[notes:trinitycore_confs#authserverconf|authserver.conf]]
  
-  sudo su 'trinity' -s '/usr/bin/bash'+===== worldserver.conf =====
  
-  nano ~/'Projects/trinity-335/run/etc/authserver.conf'+  * See [[notes:trinitycore_confs#worldserverconf|worldserver.conf]]
  
-<code> +====== Create GM Account ======
-WrongPass.MaxCount +
-WrongPass.BanTime +
- +
-StrictVersionCheck +
- +
-LoginDatabaseInfo ".;/var/lib/mysql/mysql.sock;authserver;x;authserver" +
- +
-Updates.EnableDatabases +
- +
-Updates.CleanDeadRefMaxCount -1</code> +
- +
-===== worldserver ===== +
- +
-==== Copy ====+
  
   sudo su 'trinity' -s '/usr/bin/bash'   sudo su 'trinity' -s '/usr/bin/bash'
  
-  cp ~/'Projects/trinity-335/run/etc/worldserver.conf.dist' ~/'Projects/trinity-335/run/etc/worldserver.conf'+  cd ~/'Projects/trinity-335/run/bin&& ~/'Projects/trinity-335/run/bin/authserver'
  
-==== Settings ==== +  Ctrl + C
- +
-  sudo su 'trinity' -s '/usr/bin/bash' +
- +
-  nano ~/'Projects/trinity-335/run/etc/worldserver.conf' +
- +
-<code> +
-LoginDatabaseInfo     = ".;/var/lib/mysql/mysql.sock;authserver;x;authserver" +
-WorldDatabaseInfo     = ".;/var/lib/mysql/mysql.sock;worldserver;x;worldserver" +
-CharacterDatabaseInfo = ".;/var/lib/mysql/mysql.sock;characters;x;characters" +
- +
-MaxCoreStuckTime = 10 +
- +
-CleanCharacterDB = 1 +
-PersistentCharacterCleanFlags = 14 +
- +
-RealmZone = 2 +
-StrictPlayerNames = 1 +
-StrictCharterNames = 1 +
-StrictPetNames = 1 +
- +
-DBC.Locale = 0   +
- +
-Instance.IgnoreRaid = 1 +
- +
-Quests.LowLevelHideDiff = -1 +
- +
-Motd = "Welcome to the Realm of Espionage World of Warcraft server!" +
-Server.LoginInfo = 1 +
-BirthdayTime = 1170471600 +
- +
-Updates.CleanDeadRefMaxCount = -1 +
- +
-Warden.Enabled = 0 +
- +
-PreserveCustomChannels = 0 +
- +
-Ra.Enable = 1 +
- +
-PacketSpoof.Policy = 0</code> +
- +
-=== Production === +
- +
-<code> +
-Warden.Enabled = 1 +
-Warden.ClientCheckFailAction = 2 +
- +
-SOAP.Enabled = 1 +
-SOAP.IP = "0.0.0.0" +
- +
-PreventRenameCharacterOnCustomization = 1 +
- +
-PacketSpoof.Policy = 2 +
-PacketSpoof.BanMode = 2 +
- +
-AntiCheat.PendingMoveChangesTimeoutTime = 3000</code> +
- +
-====== Create GM Account ====== +
- +
-  Starting the ''worldserver'' by itself and first is intentional +
- +
-  sudo su 'trinity' -s '/usr/bin/bash'+
  
   cd ~/'Projects/trinity-335/run/bin' && ~/'Projects/trinity-335/run/bin/worldserver'   cd ~/'Projects/trinity-335/run/bin' && ~/'Projects/trinity-335/run/bin/worldserver'
Line 297: Line 209:
   * 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, hence this isn't a one-liner yet 8-)
  
   sudo su 'trinity' -s '/usr/bin/bash'   sudo su 'trinity' -s '/usr/bin/bash'
Line 314: Line 227:
   * To be done after databases are initialized   * To be done after databases are initialized
   * Applies to the first realm   * Applies to the first realm
-  * :!: If running a LAN server, change ''wow.realmofespionage.xyz'' to LAN IP 
  
   sudo mysql   sudo mysql
Line 321: Line 233:
  
 ===== 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 328: Line 242:
   * 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 340: Line 254:
 ===== authserver ===== ===== authserver =====
  
-==== Service ====+  * 2027/07/30: TODO: Rename the service as ''tc-335-auth'' isn't rememberable
  
-  sudo -e '/etc/systemd/system/tc-335-auth.service' && sudo systemctl daemon-reload && sudo systemctl enable 'tc-335-auth'+  sudo -e '/etc/systemd/system/tc-335-auth.service' && sudo systemctl daemon-reload && sudo systemctl enable 'tc-335-auth' --now
  
 <code> <code>
Line 362: Line 276:
 WantedBy=multi-user.target</code> WantedBy=multi-user.target</code>
  
-=== SELinux === +  sudo systemctl status 'tc-335-auth' -l
- +
-  * :!: May have to re-run this series of commands over-time +
- +
-  sudo setenforce 0 +
- +
-  sudo systemctl start 'tc-335-auth' && sudo systemctl status 'tc-335-auth' -l +
- +
-  mkdir -p ~/'policies' && cd ~/'policies' && sudo grep 'authserver' '/var/log/audit/audit.log' | sudo audit2allow -M 'authserver' && sudo semodule -i 'authserver.pp' && cd ~ +
- +
-  sudo setenforce 1 +
- +
-  nano ~/'policies/authserver.te'+
  
 ===== worldserver ===== ===== worldserver =====
  
-  * :!: Make sure worldserver's Console is disabled before starting the ''worldserver'' service (see [[servers:games:trinitycore_3.3.5#disable_console|configuration]]) +  * :!: Make sure worldserver's Console is disabled before starting the ''worldserver'' service 
- +  * 2027/07/30TODORename the service as ''tc-335-world'' isn't rememberable
-==== Service ====+
  
   sudo -e '/etc/systemd/system/tc-335-world.service' && sudo systemctl daemon-reload && sudo systemctl enable 'tc-335-world'   sudo -e '/etc/systemd/system/tc-335-world.service' && sudo systemctl daemon-reload && sudo systemctl enable 'tc-335-world'
Line 402: Line 303:
 WantedBy=multi-user.target</code> WantedBy=multi-user.target</code>
  
-=== SELinux === +  sudo systemctl status 'tc-335-world' -l
- +
-  * :!: May have to re-run this series of commands over-time +
- +
-  sudo setenforce 0 +
- +
-  sudo systemctl start 'tc-335-world' && sudo systemctl status 'tc-335-world' -l +
- +
-  mkdir -p ~/'policies' && cd ~/'policies' && sudo grep 'worldserver' '/var/log/audit/audit.log' | sudo audit2allow -M 'worldserver' && sudo semodule -i 'worldserver.pp' && cd ~ +
- +
-  sudo setenforce 1 +
- +
-  nano ~/'policies/worldserver.te'+
  
 ===== Information ===== ===== Information =====
C:/www/wiki/data/pages/servers/games/trinitycore_3.3.5.txt · Last modified: 2023/07/31 08:27 by Sean Rhone