| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| servers:bsd:games:trinitycore_3.3.5_localhost [2024/12/01 16:00] – Sean Rhone | servers:bsd:games:trinitycore_3.3.5_localhost [2025/10/26 04:33] (current) – [authserver] Sean Rhone |
|---|
| ====== Information ====== | ====== Information ====== |
| |
| * TrinityCore ((https://www.trinitycore.org)) | * TrinityCore |
| * 3.3.5 ((https://github.com/TrinityCore/TrinityCore/tree/3.3.5)) | * [[https://talk.trinitycore.org/t/singleplayer-scripts-and-desktop-start-launchers-on-windows-linux-freebsd/33293|TrinityCore Forums]] |
| |
| * These notes provide a local singleplayer server for World of Warcraft 3.3.5 on FreeBSD | * These notes provide a local single-player server for World of Warcraft 3.3.5 |
| | |
| | ===== Media ===== |
| | |
| | * [[https://media.realmofespionage.xyz/index/category/6|Progress Pics]] |
| |
| ===== Prerequisites ===== | ===== Prerequisites ===== |
| |
| * [[bsd;freebsd_14.2_xfce|FreeBSD 14.2 (Xfce)]] | * [[bsd:freebsd_15.0_xfce|FreeBSD 15.0 (Xfce)]] |
| * [[servers:bsd:mariadb|MariaDB]] | * [[servers:bsd:mariadb|MariaDB]] |
| * [[games;bsd;wine;world_of_warcraft_3.3.5|World of Warcraft 3.3.5]] | * [[games:bsd:wine:world_of_warcraft_3.3.5|World of Warcraft 3.3.5]] |
| | |
| ===== Resources ===== | |
| | |
| * [[https://trinitycore.org/|TrinityCore]] | |
| * [[https://trinitycore.info/|TrinityCore MMo Project Wiki]] | |
| |
| ====== Dependencies ====== | ====== Dependencies ====== |
| | |
| | * :?: May require a ''boost'' package ((''keepassxc'' pulls in ''boost-libs'')) |
| |
| su - | su - |
| |
| pkg install git readline boost-all mariadb114-client cmake bzip2 libressl | pkg install git readline mariadb118-client mariadb118-server cmake-core bzip2 libressl |
| |
| ====== Download Source ====== | ====== Download Source ====== |
| |
| **** | * https://github.com/TrinityCore/TrinityCore/commits/3.3.5/ |
| |
| cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/TrinityCore-335/src' && git clone --branch '3.3.5' --depth '1' --recurse-submodules 'https://github.com/TrinityCore/TrinityCore.git' ~/'Projects/TrinityCore-335/src' && sync | cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/TrinityCore-335/src' && git clone --branch '3.3.5' --depth '1' --recurse-submodules 'https://github.com/TrinityCore/TrinityCore.git' ~/'Projects/TrinityCore-335/src' && sync |
| | |
| | ====== Database ====== |
| | |
| | ===== Settings ===== |
| | |
| | rm -Rf ~/'Projects/TrinityCore-335/mariadb/database' && mkdir -p ~/'Projects/TrinityCore-335/mariadb/database' && ee ~/'Projects/TrinityCore-335/mariadb/custom.cnf' |
| | |
| | <code> |
| | [client] |
| | default-character-set = 'utf8mb4' |
| | |
| | [mariadb-client] |
| | default-character-set = 'utf8mb4' |
| | |
| | [mariadbd] |
| | 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' |
| | |
| | # End</code> |
| | |
| | ===== Initialize ===== |
| | |
| | **** |
| | |
| | mariadb-install-db --datadir=$HOME/'Projects/TrinityCore-335/mariadb/database' --defaults-file=$HOME/'Projects/TrinityCore-335/mariadb/custom.cnf' |
| | |
| | ===== Initial Setup ===== |
| | |
| | ==== Server Start ==== |
| | |
| | **** |
| | |
| | mariadbd-safe --datadir=$HOME/'Projects/TrinityCore-335/mariadb/database' --socket=$HOME/'Projects/TrinityCore-335/mariadb/mariadb.sock' |
| | |
| | ==== Set-up ==== |
| | |
| | * Separate Terminal window |
| | * Change the root password: ''N'' |
| | |
| | mariadb-secure-installation --socket=$HOME/'Projects/TrinityCore-335/mariadb/mariadb.sock' --user=$USER |
| |
| ====== Databases ====== | ====== Databases ====== |
| |
| mariadb -u 'root' -p | ===== Connect ===== |
| | |
| | mariadbd-safe --datadir=$HOME/'Projects/TrinityCore-335/mariadb/database' --socket=$HOME/'Projects/TrinityCore-335/mariadb/mariadb.sock' |
| | |
| | mariadb --socket=$HOME/'Projects/TrinityCore-335/mariadb/mariadb.sock' --user=$USER |
| | |
| | ===== Databases ===== |
| |
| CREATE DATABASE authserver; | CREATE DATABASE authserver; |
| |
| CREATE DATABASE worldserver; | CREATE DATABASE worldserver; |
| | |
| | ===== Users ===== |
| |
| CREATE USER 'authserver'@'localhost' IDENTIFIED BY 'x'; | CREATE USER 'authserver'@'localhost' IDENTIFIED BY 'x'; |
| CREATE USER 'worldserver'@'localhost' IDENTIFIED BY 'x'; | CREATE USER 'worldserver'@'localhost' IDENTIFIED BY 'x'; |
| |
| GRANT ALL PRIVILEGES ON authserver.* to authserver@localhost; | ===== Permissions ===== |
| |
| GRANT ALL PRIVILEGES ON characters.* to characters@localhost; | GRANT ALL PRIVILEGES ON authserver.* to 'authserver'@'localhost'; |
| |
| GRANT ALL PRIVILEGES ON worldserver.* to worldserver@localhost; | GRANT ALL PRIVILEGES ON characters.* to 'characters'@'localhost'; |
| |
| FLUSH PRIVILEGES; | GRANT ALL PRIVILEGES ON worldserver.* to 'worldserver'@'localhost'; |
| |
| EXIT | FLUSH PRIVILEGES;EXIT; |
| |
| ====== Initial Compile ====== | ====== Initial Compile ====== |
| **** | **** |
| |
| rm -Rf ~/'Projects/TrinityCore-335/build' && mkdir -p ~/'Projects/TrinityCore-335/build' ~/'Projects/TrinityCore-335/run' && cd ~/'Projects/TrinityCore-335/build' && cmake ~/'Projects/TrinityCore-335/src' -DCMAKE_INSTALL_PREFIX=~/'Projects/TrinityCore-335/run' -DCMAKE_BUILD_TYPE='Release' -DWITHOUT_METRICS='1' -DTOOLS='1' && sync && make -j '8' install && sync | rm -Rf ~/'Projects/TrinityCore-335/build' && mkdir -p ~/'Projects/TrinityCore-335/build' ~/'Projects/TrinityCore-335/run' && cd ~/'Projects/TrinityCore-335/build' && cmake ~/'Projects/TrinityCore-335/src' -DCMAKE_INSTALL_PREFIX=~/'Projects/TrinityCore-335/run' -DCMAKE_BUILD_TYPE='Release' -DWITHOUT_METRICS='1' -DTOOLS='1' && make -j "$(nproc)" install |
| | |
| ====== Update ====== | |
| | |
| * https://github.com/TrinityCore/TrinityCore/commits/3.3.5/ | |
| | |
| git -C ~/'Projects/TrinityCore-335/src' pull origin '3.3.5' && cd ~/'Projects/TrinityCore-335/build' && cmake ~/'Projects/TrinityCore-335/src' -DCMAKE_INSTALL_PREFIX=~/'Projects/TrinityCore-335/run' -DCMAKE_BUILD_TYPE='Release' -DWITHOUT_METRICS='1' -DTOOLS='1' && sync && make -j '8' install && sync | |
| |
| ====== Content ====== | ====== Content ====== |
| **** | **** |
| |
| cp -f ~/'Projects/TrinityCore-335/run/bin/mapextractor' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && rm -Rf 'dbc' 'maps' 'Cameras' && ./'mapextractor' -f '0' && sync | cp -f ~/'Projects/TrinityCore-335/run/bin/mapextractor' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && rm -Rf 'dbc' 'maps' 'Cameras' && ./'mapextractor' -f '0' |
| |
| ===== VMaps ===== | ===== VMaps ===== |
| **** | **** |
| |
| cp -f ~/'Projects/TrinityCore-335/run/bin/vmap4extractor' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && rm -Rf 'Buildings' && ./'vmap4extractor' -l && sync | cp -f ~/'Projects/TrinityCore-335/run/bin/vmap4extractor' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && rm -Rf 'Buildings' && ./'vmap4extractor' -l |
| |
| ==== Assemble ==== | ==== Assemble ==== |
| **** | **** |
| |
| cp -f ~/'Projects/TrinityCore-335/run/bin/vmap4assembler' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && rm -Rf 'vmaps' && mkdir -p 'vmaps' && ./'vmap4assembler' 'Buildings' 'vmaps' && sync | cp -f ~/'Projects/TrinityCore-335/run/bin/vmap4assembler' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && rm -Rf 'vmaps' && mkdir -p 'vmaps' && ./'vmap4assembler' 'Buildings' 'vmaps' |
| |
| ===== MMaps ===== | ===== MMaps ===== |
| |
| * :!: Takes about 30 minutes on i5-8400H | * :!: ~30 minutes i5-8400H ((2025/10/25: ''28 Minutes 14 Seconds'' at ''--threads 8'')) |
| | * ''--threads $(nproc)'' |
| |
| cp -f ~/'Projects/TrinityCore-335/run/bin/mmaps_generator' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && rm -Rf 'mmaps' && mkdir -p 'mmaps' && ./'mmaps_generator' --bigBaseUnit 'true' --threads 8 && sync | cp -f ~/'Projects/TrinityCore-335/run/bin/mmaps_generator' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && rm -Rf 'mmaps' && mkdir -p 'mmaps' && ./'mmaps_generator' --bigBaseUnit 'true' --threads "$(nproc)" |
| |
| ===== Move Files ===== | ===== Move Files ===== |
| **** | **** |
| |
| cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && mv -f 'dbc' 'maps' 'Cameras' 'vmaps' 'mmaps' ~/'Projects/TrinityCore-335/run/bin' && rm -f 'mapextractor' 'vmap4extractor' 'vmap4assembler' 'mmaps_generator' && cd ~ && sync | cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && mv -f 'dbc' 'maps' 'Cameras' 'vmaps' 'mmaps' ~/'Projects/TrinityCore-335/run/bin' && rm -f 'mapextractor' 'vmap4extractor' 'vmap4assembler' 'mmaps_generator' && cd ~ && sync |
| |
| ==== Check Files ==== | ==== Check Files ==== |
| ls -d ~/'Projects/TrinityCore-335/run/bin/dbc' ~/'Projects/TrinityCore-335/run/bin/maps' ~/'Projects/TrinityCore-335/run/bin/Cameras' ~/'Projects/TrinityCore-335/run/bin/vmaps' ~/'Projects/TrinityCore-335/run/bin/mmaps' | ls -d ~/'Projects/TrinityCore-335/run/bin/dbc' ~/'Projects/TrinityCore-335/run/bin/maps' ~/'Projects/TrinityCore-335/run/bin/Cameras' ~/'Projects/TrinityCore-335/run/bin/vmaps' ~/'Projects/TrinityCore-335/run/bin/mmaps' |
| |
| gio open ~/'Projects/TrinityCore-335/run/bin/' | gio open ~/'Projects/TrinityCore-335/run/bin' |
| |
| ===== Clean-up ===== | ===== Clean-up ===== |
| |
| cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && rm -Rf 'Buildings' 'mapextractor' 'vmap4extractor' 'vmap4assembler' 'mmaps_generator' 'WoWDL.lnk' && cd ~ && sync | cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' && rm -Rf 'Buildings' 'mapextractor' 'vmap4extractor' 'vmap4assembler' 'mmaps_generator' && cd ~ && sync |
| |
| cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && rm -Rf 'dbc' 'maps' 'Cameras' 'vmaps' 'mmaps' && cd ~ && sync | gio open ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft' |
| | |
| gio open ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' | |
| |
| ===== World Database ===== | ===== World Database ===== |
| |
| * https://github.com/TrinityCore/TrinityCore/releases | * https://github.com/TrinityCore/TrinityCore/releases |
| * Download the latest ''TDB 335'' ''.7z'' with a web browser | * Last tested: ''TDB_full_world_335.25101_2025_10_21.7z'' |
| |
| * Expects something like ''TDB_full_world_335.24081_2024_08_17.7z'' in ''~/Downloads'' | ls ~/'Downloads/TDB_full_world_335.'*'.7z' && rm -f ~/'Projects/TrinityCore-335/run/bin/TDB_full_world_335.'*'.sql' && 7z e -o$HOME/'Projects/TrinityCore-335/run/bin' -y ~/'Downloads/TDB_full_world_335.'*'.7z' |
| | |
| rm -Rf ~/'Projects/TrinityCore-335/run/bin/TDB_full_world_335.'*'.sql' && cd ~/'Projects/TrinityCore-335/run/bin' && 7zz x ~/'Downloads/TDB_full_world_335.'*'.7z' && cd ~ && ls ~/'Projects/TrinityCore-335/run/bin/TDB_full_world_335.'*'.sql' | |
| |
| ====== Settings ====== | ====== Settings ====== |
| |
| ===== authserver ===== | ===== authserver ===== |
| |
| ==== Initial Defaults Copy ==== | |
| |
| **** | |
| |
| cp -v ~/'Projects/TrinityCore-335/run/etc/authserver.conf.dist' ~/'Projects/TrinityCore-335/run/etc/authserver.conf' | |
| |
| ==== localhost ==== | |
| |
| * Last commit: [[https://github.com/TrinityCore/TrinityCore/commit/68bf7e6d12e1689d688db32c05066b8832922c67|Jul 28, 2021]] ''68bf7e6'' | * Last commit: [[https://github.com/TrinityCore/TrinityCore/commit/68bf7e6d12e1689d688db32c05066b8832922c67|Jul 28, 2021]] ''68bf7e6'' |
| * [[https://github.com/TrinityCore/TrinityCore/commits/3.3.5/src/server/authserver/authserver.conf.dist|New commits check]] | * [[https://github.com/TrinityCore/TrinityCore/commits/3.3.5/src/server/authserver/authserver.conf.dist|New commits check]] |
| * [[https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/authserver/authserver.conf.dist|Upstream authserver.conf.dist]] ([[https://raw.githubusercontent.com/TrinityCore/TrinityCore/3.3.5/src/server/authserver/authserver.conf.dist|raw]]) | * [[https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/authserver/authserver.conf.dist|Upstream authserver.conf.dist]] ([[https://raw.githubusercontent.com/TrinityCore/TrinityCore/3.3.5/src/server/authserver/authserver.conf.dist|raw]]) |
| | |
| | cp -f ~/'Projects/TrinityCore-335/run/etc/authserver.conf.dist' ~/'Projects/TrinityCore-335/run/etc/authserver.conf' |
| |
| mkdir -p ~/'Projects/TrinityCore-335/authserver.conf.d' && ee ~/'Projects/TrinityCore-335/authserver.conf.d/localhost-authserver.conf' | mkdir -p ~/'Projects/TrinityCore-335/authserver.conf.d' && ee ~/'Projects/TrinityCore-335/authserver.conf.d/localhost-authserver.conf' |
| |
| <code>[authserver] | <code>[authserver] |
| LoginDatabaseInfo = ".;/var/run/mysql/mysql.sock;authserver;x;authserver" | |
| Updates.EnableDatabases = 1</code> | |
| |
| ===== worldserver ===== | # Connection |
| | BindIP = "127.0.0.1" |
| | LoginDatabaseInfo = ".;../../mariadb/mariadb.sock;authserver;x;authserver" |
| | AllowLoggingIPAddressesInDatabase = 0 |
| |
| ==== Initial Defaults Copy ==== | # Etc |
| | RealmsStateUpdateDelay = 0 |
| | Updates.EnableDatabases = 1 |
| | Updates.CleanDeadRefMaxCount = -1 |
| |
| **** | # End</code> |
| |
| cp -v ~/'Projects/TrinityCore-335/run/etc/worldserver.conf.dist' ~/'Projects/TrinityCore-335/run/etc/worldserver.conf' | ===== worldserver ===== |
| | |
| ==== localhost ==== | |
| |
| * Last commit: [[https://github.com/TrinityCore/TrinityCore/commit/65e2474ff264e40f579ce2aa29921e9d72c75c6f|Nov 29, 2024]] ''65e2474'' | * Last commit: [[https://github.com/TrinityCore/TrinityCore/commit/0bd56da09b1f0ae34605a1a6fdd14ca26cd42d4c|June 10th, 2025]] ''0bd56da'' |
| * [[https://github.com/TrinityCore/TrinityCore/commits/3.3.5/src/server/worldserver/worldserver.conf.dist|New commits check]] | * [[https://github.com/TrinityCore/TrinityCore/commits/3.3.5/src/server/worldserver/worldserver.conf.dist|New commits check]] |
| * [[https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/worldserver/worldserver.conf.dist|Upstream worldserver.conf.dist]] ([[https://raw.githubusercontent.com/TrinityCore/TrinityCore/3.3.5/src/server/worldserver/worldserver.conf.dist|raw]]) | * [[https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/worldserver/worldserver.conf.dist|Upstream worldserver.conf.dist]] ([[https://raw.githubusercontent.com/TrinityCore/TrinityCore/3.3.5/src/server/worldserver/worldserver.conf.dist|raw]]) |
| | |
| | cp -f ~/'Projects/TrinityCore-335/run/etc/worldserver.conf.dist' ~/'Projects/TrinityCore-335/run/etc/worldserver.conf' |
| |
| mkdir -p ~/'Projects/TrinityCore-335/worldserver.conf.d' && ee ~/'Projects/TrinityCore-335/worldserver.conf.d/localhost-worldserver.conf' | mkdir -p ~/'Projects/TrinityCore-335/worldserver.conf.d' && ee ~/'Projects/TrinityCore-335/worldserver.conf.d/localhost-worldserver.conf' |
| <code> | <code> |
| [worldserver] | [worldserver] |
| | |
| | # Connection |
| | BindIP = "127.0.0.1" |
| LoginDatabaseInfo = ".;/var/run/mysql/mysql.sock;authserver;x;authserver" | LoginDatabaseInfo = ".;/var/run/mysql/mysql.sock;authserver;x;authserver" |
| WorldDatabaseInfo = ".;/var/run/mysql/mysql.sock;worldserver;x;worldserver" | WorldDatabaseInfo = ".;/var/run/mysql/mysql.sock;worldserver;x;worldserver" |
| CharacterDatabaseInfo = ".;/var/run/mysql/mysql.sock;characters;x;characters" | CharacterDatabaseInfo = ".;/var/run/mysql/mysql.sock;characters;x;characters" |
| | |
| | # Server |
| | Updates.CleanDeadRefMaxCount = -1 |
| | FlashAtStart = 0 |
| | Server.LoginInfo = 1 |
| | Motd = "Welcome to your localhost server!" |
| | AllowTickets = 0 |
| | CharDelete.Method = 1 |
| | CharDelete.KeepDays = 0 |
| | WhoList.Update.Interval = 300 |
| | HotSwap.Enabled = 0 |
| | HotSwap.EnableReCompiler = 0 |
| | |
| | # Quests |
| Quests.LowLevelHideDiff = -1 | Quests.LowLevelHideDiff = -1 |
| Quests.HighLevelHideDiff = -1 | Quests.HighLevelHideDiff = -1 |
| Motd = "Welcome to your localhost server!" | |
| Server.LoginInfo = 1</code> | |
| |
| ====== Launch ====== | # Character |
| | GM.LoginState = 0 |
| |
| * Two separate Terminal windows for ''authserver'' and ''worldserver'' | # Protections |
| | MaxOverspeedPings = 0 |
| | PacketSpoof.Policy = 0 |
| | ChatFakeMessagePreventing = 0 |
| | ChatFlood.MessageCount = 0 |
| |
| cd ~/'Projects/TrinityCore-335/run/bin' && ~/'Projects/TrinityCore-335/run/bin/authserver' --config-dir ~/'Projects/TrinityCore-335/authserver.conf.d' | # End</code> |
| |
| cd ~/'Projects/TrinityCore-335/run/bin' && ~/'Projects/TrinityCore-335/run/bin/worldserver' --config-dir ~/'Projects/TrinityCore-335/worldserver.conf.d' | ====== Scripts ====== |
| |
| ===== Script ===== | ===== Server Start ===== |
| | |
| * This is attached to the [[games;bsd;wine;world_of_warcraft_3.3.5#desktop_launcher|WoW 3.3.5 desktop launcher]] Server action | |
| |
| mkdir -p ~/'Projects/TrinityCore-335/scripts' && ee ~/'Projects/TrinityCore-335/scripts/localhost-server-start.sh' && chmod +x ~/'Projects/TrinityCore-335/scripts/localhost-server-start.sh' | mkdir -p ~/'Projects/TrinityCore-335/scripts' && ee ~/'Projects/TrinityCore-335/scripts/localhost-server-start.sh' && chmod +x ~/'Projects/TrinityCore-335/scripts/localhost-server-start.sh' |
| cd ~/'Projects/TrinityCore-335/run/bin' | cd ~/'Projects/TrinityCore-335/run/bin' |
| |
| xfce4-terminal -T 'WoW 3.3.5 localhost — authserver' -I ~/'.local/share/icons/hicolor/48x48/apps/WBE5_Wow.0.png' -e "./'authserver' --config-dir ../../'authserver.conf.d'" & | xfce4-terminal -T 'WoW — authserver' -I ~/'.local/share/icons/hicolor/48x48/apps/WBE5_Wow.0.png' -e "./'authserver' --config-dir ../../'authserver.conf.d'" & |
| xfce4-terminal -T 'WoW 3.3.5 localhost — worldserver' -I ~/'.local/share/icons/hicolor/48x48/apps/WBE5_Wow.0.png' -e "./'worldserver' --config-dir ../../'worldserver.conf.d'" | xfce4-terminal -T 'WoW — worldserver' -I ~/'.local/share/icons/hicolor/48x48/apps/WBE5_Wow.0.png' -e "./'worldserver' --config-dir ../../'worldserver.conf.d'" |
| |
| # End</code> | # End</code> |
| |
| ~/'Projects/TrinityCore-335/scripts/tc-335-server-start.sh' | ~/'Projects/TrinityCore-335/scripts/localhost-server-start.sh' |
| | |
| | ==== Xfce TODO ==== |
| | |
| | <code>xfce4-terminal --minimize -T 'WoW 3.3.5 — [auth]' -I ~/'.wine/Icons/WoW-335-256.png' -x ~/'Projects/TrinityCore-335/run/bin/authserver' --config-dir ~/'Projects/TrinityCore-335/authserver.conf.d'</code> |
| | |
| | <code>xfce4-terminal --minimize -T 'WoW 3.3.5 — [world]' -I ~/'.wine/Icons/WoW-335-256.png' -x ~/'Projects/TrinityCore-335/run/bin/worldserver' --config-dir ~/'Projects/TrinityCore-335/worldserver.conf.d'</code> |
| | |
| | ===== Server Update ===== |
| | |
| | * TODO |
| | |
| | ===== Database Back-up ===== |
| | |
| | mkdir -p ~/'Projects/TrinityCore-335/scripts' && ee ~/'Projects/TrinityCore-335/scripts/localhost-databases-backup.sh' && chmod +x ~/'Projects/TrinityCore-335/scripts/localhost-databases-backup.sh' |
| | |
| | <code> |
| | #!/bin/sh |
| | |
| | cd ~/'Downloads' |
| | mariadb-dump -u 'root' -p --opt -r 'localserver-authserver-database-'$(date +%Y-%m-%d-%s)'.sql' 'authserver' |
| | mariadb-dump -u 'root' -p --opt -r 'localserver-characters-database-'$(date +%Y-%m-%d-%s)'.sql' 'characters' |
| | sync |
| | notify-send -i ~/'.local/share/icons/hicolor/48x48/apps/WBE5_Wow.0.png' 'WoW 3.3.5 Databases Backed-up Successfully to Downloads' |
| | |
| | # End</code> |
| | |
| | ~/'Projects/TrinityCore-335/scripts/localhost-databases-backup.sh' |
| |
| ====== Create GM Account ====== | ====== Create GM Account ====== |
| |
| * ''worldserver'' | * Done from ''worldserver'' console |
| * Change ''x'' to password | * Change ''x'' to password |
| | |
| | ~/'Projects/TrinityCore-335/scripts/localhost-server-start.sh' |
| |
| account create Espionage724 x | account create Espionage724 x |
| server shutdown 1 | server shutdown 1 |
| |
| ====== Database Data ====== | ====== Extras ====== |
| |
| ===== Backup ===== | ===== Items ===== |
| |
| ==== Commands ==== | ==== Northshire Gift Voucher ==== |
| |
| * Dumps ''authserver'' and ''characters'' databases as ''.sql'' in ''~/Downloads'' | * https://www.wowhead.com/classic/item=14646/northshire-gift-voucher |
| | * https://www.wowhead.com/wotlk/item=13584/diablo-stone |
| | * Gives Diablo Stone for Mini Diablo pet |
| |
| cd ~/'Downloads' && mariadb-dump -u 'root' -p --opt -r 'localserver-authserver-database-'$(date +%Y-%m-%d-%s)'.sql' 'authserver' | .additem 14646 |
| |
| cd ~/'Downloads' && mariadb-dump -u 'root' -p --opt -r 'localserver-characters-database-'$(date +%Y-%m-%d-%s)'.sql' 'characters' | ==== Tyrael's Hilt ==== |
| |
| ==== Script ==== | * https://www.wowhead.com/wotlk/item=39656/tyraels-hilt |
| | * :?: Mini Tyrael might have buggy movement and not follow more-often than other pets (Mini Diablo seems fine) |
| |
| * This is attached to the [[games:bsd:wine:world_of_warcraft_3.3.5#desktop_launcher|WoW 3.3.5 desktop launcher]] Saves action | .additem 39656 |
| |
| mkdir -p ~/'Projects/TrinityCore-335/scripts' && ee ~/'Projects/TrinityCore-335/scripts/localhost-databases-backup.sh' && chmod +x ~/'Projects/TrinityCore-335/scripts/localhost-databases-backup.sh' | ====== Character Data ====== |
| |
| <code> | ===== Backup ===== |
| #!/bin/sh | |
| |
| cd ~/'Downloads' | mariadbd-safe --datadir=$HOME/'Projects/TrinityCore-335/mariadb/database' --socket=$HOME/'Projects/TrinityCore-335/mariadb/mariadb.sock' |
| mariadb-dump -u 'root' -p --opt -r 'localserver-authserver-database-'$(date +%Y-%m-%d-%s)'.sql' 'authserver' | |
| mariadb-dump -u 'root' -p --opt -r 'localserver-characters-database-'$(date +%Y-%m-%d-%s)'.sql' 'characters' | |
| sync | |
| notify-send -i ~/'.local/share/icons/hicolor/48x48/apps/WBE5_Wow.0.png' 'WoW 3.3.5 Databases Backed-up Successfully to Downloads' | |
| |
| # End</code> | mariadb-dump --socket=$HOME/'Projects/TrinityCore-335/mariadb/mariadb.sock' --user=$USER --single-transaction --quick 'authserver' -r $HOME/'Downloads/'$(date +%Y-%m-%d-%s)'-WoW-335-localhost-authserver.sql' |
| | |
| | mariadb-dump --socket=$HOME/'Projects/TrinityCore-335/mariadb/mariadb.sock' --user=$USER --single-transaction --quick 'characters' -r $HOME/'Downloads/'$(date +%Y-%m-%d-%s)'-WoW-335-localhost-characters.sql' |
| |
| ===== Restore ===== | ===== Restore ===== |
| |
| ==== authserver ==== | * [[#databases|Initial set-up]] |
| |
| * ''x'' is path to ''localserver-authserver-database-*.sql'' | mariadbd-safe --datadir=$HOME/'Projects/TrinityCore-335/mariadb/database' --socket=$HOME/'Projects/TrinityCore-335/mariadb/mariadb.sock' |
| |
| mariadb -u 'root' -p | ==== authserver ==== |
| |
| DROP DATABASE authserver; | mariadb --socket=$HOME/'Projects/TrinityCore-335/mariadb/mariadb.sock' --user=$USER --execute='CREATE DATABASE authserver;' |
| |
| CREATE DATABASE authserver; | cat ~/'Downloads/'*'-WoW-335-localhost-authserver.sql' | mariadb --socket=$HOME/'Projects/TrinityCore-335/mariadb/mariadb.sock' --user=$USER 'authserver' |
| |
| EXIT | ==== characters ==== |
| |
| mariadb -u 'root' -p -f 'authserver' < x | mariadb --socket=$HOME/'Projects/TrinityCore-335/mariadb/mariadb.sock' --user=$USER --execute='CREATE DATABASE characters;' |
| |
| ==== characters ==== | cat ~/'Downloads/'*'-WoW-335-localhost-characters.sql' | mariadb --socket=$HOME/'Projects/TrinityCore-335/mariadb/mariadb.sock' --user=$USER 'characters' |
| |
| * ''x'' is path to ''localserver-characters-database-*.sql'' | ====== Quick Commands ====== |
| |
| mariadb -u 'root' -p | ===== Execute ===== |
| |
| DROP DATABASE characters; | ==== MariaDB ==== |
| |
| CREATE DATABASE characters; | **** |
| |
| EXIT | su - 'root' -c 'service 'mysql-server' onestart' |
| |
| mariadb -u 'root' -p -f 'characters' < x | ==== authserver ==== |
| |
| ==== Reapply Permissions ==== | **** |
| |
| mariadb -u 'root' -p | cd ~/'Projects/TrinityCore-335/run/bin' && ~/'Projects/TrinityCore-335/run/bin/authserver' --config-dir ~/'Projects/TrinityCore-335/authserver.conf.d' |
| |
| CREATE USER 'authserver'@'localhost' IDENTIFIED BY 'x'; | ==== worldserver ==== |
| |
| CREATE USER 'characters'@'localhost' IDENTIFIED BY 'x'; | **** |
| |
| GRANT ALL PRIVILEGES ON authserver.* to authserver@localhost; | cd ~/'Projects/TrinityCore-335/run/bin' && ~/'Projects/TrinityCore-335/run/bin/worldserver' --config-dir ~/'Projects/TrinityCore-335/worldserver.conf.d' |
| |
| GRANT ALL PRIVILEGES ON characters.* to 'characters'@'localhost'; | ===== Update ===== |
| |
| FLUSH PRIVILEGES; | * https://github.com/TrinityCore/TrinityCore/commits/3.3.5/ |
| |
| EXIT | git -C ~/'Projects/TrinityCore-335/src' pull origin '3.3.5' && cd ~/'Projects/TrinityCore-335/build' && cmake ~/'Projects/TrinityCore-335/src' -DCMAKE_INSTALL_PREFIX=~/'Projects/TrinityCore-335/run' -DCMAKE_BUILD_TYPE='Release' -DWITHOUT_METRICS='1' -DTOOLS='0' && make -j "$(nproc)" install |
| |