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
servers:games:trinitycore_3.3.5 [2023/07/29 18:55] – [authserver.conf] Sean Rhoneservers:games:trinitycore_3.3.5 [2023/07/31 08:27] (current) – [TDB] 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 81: Line 75:
 ===== TDB ===== ===== TDB =====
  
-  * TDB335.21121 +  * :!: Check https://github.com/TrinityCore/TrinityCore/releases for updates
-  * Check https://github.com/TrinityCore/TrinityCore/releases for updates+
   * :!: Make certain the database is ''335'', and not ''927'' or etc   * :!: Make certain the database is ''335'', and not ''927'' or etc
   * :!: Do this **after** the initial compile ((the compile command below wipes out the ''run'' folder if it exists before compiling))   * :!: Do this **after** the initial compile ((the compile command below wipes out the ''run'' folder if it exists before compiling))
Line 150: Line 143:
  
   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   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/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 180: Line 166:
   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'
  
-===== authserver.conf =====+  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'
  
-  * Last updated: 2023/07/29 +====== Settings ======
-  * Last commit: [[https://github.com/TrinityCore/TrinityCore/commit/68bf7e6d12e1689d688db32c05066b8832922c67|2021/07/28]] ''68bf7e6'' +
-  * [[https://github.com/TrinityCore/TrinityCore/commits/3.3.5/src/server/authserver/authserver.conf.dist|New commits check]]+
  
-  nano ~/'Projects/trinity-335/run/etc/authserver.conf'+===== authserver.conf =====
  
-<code> +  * See [[notes:trinitycore_confs#authserverconf|authserver.conf]]
-[authserver] +
-LogsDir = "" +
-MaxPingTime = 30 +
-RealmServerPort = 3724 +
-BindIP = "0.0.0.0" +
-PidFile = "" +
-UseProcessors = 0 +
-ProcessPriority = 0 +
-RealmsStateUpdateDelay = 20 +
-WrongPass.MaxCount = 5 +
-WrongPass.BanTime = 0 +
-WrongPass.BanType = 0 +
-WrongPass.Logging = 0 +
-StrictVersionCheck = 1 +
-BanExpiryCheckInterval = 60 +
-SourceDirectory  = "" +
-MySQLExecutable = "" +
-IPLocationFile = "" +
-AllowLoggingIPAddressesInDatabase = 1 +
-CHANGEME +
-LoginDatabaseInfo = ".;/var/lib/mysql/mysql.sock;authserver;x;authserver" +
-# CHANGEME +
-LoginDatabase.WorkerThreads = 1 +
-LoginDatabase.SynchThreads  = 1 +
-TOTPMasterSecret = +
-Updates.EnableDatabases = 1 +
-Updates.AutoSetup   = 1 +
-Updates.Redundancy  = 1 +
-Updates.AllowRehash = 1 +
-Updates.CleanDeadRefMaxCount = -1 +
-Appender.Console=1,2,+
-Appender.Auth=2,2,0,Auth.log,+
-Logger.root=3,Console Auth+
  
-# End</code>+===== worldserver.conf =====
  
-===== worldserver =====+  * See [[notes:trinitycore_confs#worldserverconf|worldserver.conf]]
  
-==== Copy ====+====== Create GM Account ======
  
   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 318: Line 208:
   * 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 335: Line 226:
   * 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 342: Line 232:
  
 ===== 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 349: Line 241:
   * 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 361: Line 253:
 ===== 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 383: Line 275:
 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 423: Line 302:
 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 =====
/var/www/wiki/data/attic/servers/games/trinitycore_3.3.5.1690671346.txt.gz · Last modified: 2023/07/29 18:55 by Sean Rhone