SlideShare une entreprise Scribd logo
1  sur  69
Télécharger pour lire hors ligne
TrinityCore
Understand & Implement
of Private Sever
http://collab.kpsn.org/display/tc/How-to_Linux
Environment
Client
- Windows 8
- WoW Client: 3.3.5a
Server
- Virtual box, Ubuntu 13.04
- TrinityCore: TDB 335.52
What will we learn from this course?
Server setting
apt-get update
apt-get install openssh-server
sudo ufw enable
sudo ufw allow 22
sudo ufw allow 3306
sudo ufw allow 3724
sudo ufw allow 8085
sudo ufw disable
Getting started
$ sudo apt-get install build-essential autoconf libtool gcc
g++ make cmake git-core patch wget links zip unzip unrar
$ sudo apt-get install openssl libssl-dev mysql-server
mysql-client libmysqlclient15-dev libmysql++-dev
libreadline6-dev zlib1g-dev libbz2-dev
Debian-based distributions
If you are using Ubuntu 12.04 LTS, Debian 7 or some 2013
linux distributions you will also need:
$ sudo apt-get install libncurses5-dev
Creating a user to work with
$ sudo adduser <username>
Installing ACE (Adaptive
Communication Environment)
$ sudo apt-get install libace-dev
Installing ACE (Adaptive
Communication Environment)
TrinityCore requires a specific communication-library for
inter-process communication, and as such needs special
attention on that matter. This is because most
distributions (even the most recent ones) do not supply
the version required by TrinityCore as part of their
basepackages.
Building the server itself
Getting the sourcecode
cd ~/
git clone git://github.com/TrinityCore/TrinityCore.git
A directory trinitycore will be created automatically and all the
source files will be stored in there.
Creating the build-directory
To avoid issues with updates and colliding sourcebuilds, we create a
specific build-directory, so we avoid any possible issues due to that (if
any might occur)
mkdir build
cd build
Configuring for compiling
To configure the core, we use space-separated parameters attached
to the configuration-tool (cmake) - do read the entire section before
even starting on the configuration-part.
<u>This is for your own good, and you HAVE been warned. A full
example will also be shown underneath the explanations.</u>
cmake ../TrinityCore/ -DPREFIX=/home/<username>/server DWITH_WARNINGS=1
Building the core
After configuring and checking that everything is in order (read
cmakes output), you can build Trinity (this will take some time unless
you are on a rather fast machine)
make
make install
Building the core
If you have multiple CPU cores, you can enable the use of those
during compile :

make -j <number of cores>
make install
Building the core
After compiling and installing, you will find your core binaries in
/home/<username>/server/bin, and the standard configuration files
in the /home/<username>/server/etc folder.
(As usual, replace <username> with the username you created
earlier). Now you can continue reading on and learn how to update
the sourcetree.
Keeping the code up to date
TrinityCore developers are always at work fixing and adding new
features to the core. You can always check them here. To update the
core files, do the following :
cd ~/TrinityCore/
git pull origin master
Now return to the compilation-section again, and repeat the
instructions there.
Installing libMPQ (MoPaQ)
MPQ-reader library
Installation of the libMPQ library is only required if you want to
extract the datafiles, and/or compile the tools.
Do note that the library has been hardlinked to the binary in later
revisions, and is not "enforced" unless the tools are required.
Configuring, compiling and installing
libMPQ
Change directory to ~/TrinityCore/dep/libmpq/ before doing this
Alternative 2 : Systemwide installation
sh ./autogen.sh
./configure
make
sudo make install
Optional software
Graphical database-viewing/editing
● HeidiSQL, http://www.heidisql.com/
● SQLyog, http://www.webyog.com/en/

Remote console connects to the server
● Putty, http://www.chiark.greenend.org.uk/~sgtatham/putty/
● Putty Tray, http://haanstra.eu/putty/

Filetransfer through SFTP or FTP
● WinSCP, http://winscp.net/eng/
Installing MySQL Server
When configuring MySQL make sure you remember the password you
set for the default root account and that you enabled both MyISAM
and InnoDB engines.
You can leave all the other settings as default. You might want to
enable remote access to your MySQL server if your are also testing a
website for your Trinity server or if you have friends testing with you
which need access from remote. Remember that this will decrease
the security level of your MySQL server!
Installing The Trinity Databases
Trinity needs three databases to run - Auth, Characters, and World:
auth - holds account data - usernames, passwords, GM access, realm
information, etc.
characters - holds character data - created characters, inventory,
bank items, auction house, tickets, etc.
world - holds game-experience content such as NPCs, quests, objects,
etc.
Setting up MySQL Server
1.Create the three databases by importing
/root/TrinityCore/sql/create/create_mysql.sql. You now
have three databases - auth, characters, and world. You
may need to refresh your program in order to see the new
databases.
2.Click on the "auth" database and import the auth
database structure by importing
/root/TrinityCore/sql/base/auth_database.sql.
Setting up MySQL Server
3.Click on the "characters" database and import the
characters database structure by importing
/root/TrinityCore/sql/base/character_database.sql.
4.Click on the "world" database and import the world
database structure by extracting and importing the
"TDB_full" .sql file you downloaded from the Downloading
the Database section.
* http://collab.kpsn.org/display/tc/Database_master
Keeping the DB up to date
Note: You can run the following query on the World
database to see your current DB and core revision:
SELECT * FROM `version`;
Setting up MySQL Server
1.Extract the TDB_FULL.sql file from the archive and
import it into your world database.
2.If they exist, also import the characters_ and auth_ .sql
files into their respective databases.
3.Once this is finished and you have already compiled your
source, you may run the worldserver.exe to load your
server. The revision update is complete.
TrinityCore
Database configuration
http://collab.kpsn.org/display/tc/Database_master
Database Config
root@vTrinity13:~/TrinityCore/sql/create# mysql -u root p < create_mysql.sql
Database Config
mysql> show databases;
+--------------------+
| Database

|

+--------------------+
| auth

|

| characters

|

| world

|

+--------------------+
7 rows in set (0.01 sec)
Database Config
root@vTrinity13:~/TrinityCore/sql# cat create/create_mysql.sql
GRANT USAGE ON * . * TO 'trinity'@'localhost' IDENTIFIED BY 'trinity' WITH MAX_QUERIES_PER_HOUR 0
MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;

CREATE DATABASE `world` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE `characters` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE `auth` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON `world` . * TO 'trinity'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON `characters` . * TO 'trinity'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON `auth` . * TO 'trinity'@'localhost' WITH GRANT OPTION;
Database Config
root@vTrinity13:~/TrinityCore/sql/base# mysql -u trinity p auth < auth_database.sql
root@vTrinity13:~/TrinityCore/sql/base# mysql -u trinity p characters < characters_database.sql
Database Config
root@vTrinity13:/home/joo/TDB_full_335.
52_2013_07_17# mysql -u trinity -p world < TDB_full_335.
52_2013_07_17.sql
Database Config
root@vTrinity13:~/TrinityCore/sql/updates/world# mysql
-u trinity -p world < 2013_07_17_00_world_version.sql
Enter password:
Realmlist table
You need to make sure that the authserver directs
incoming connections to your realm.
In the auth database there is a table called realmlist,
where you need to edit the field *address* according to
your needs :
Realmlist table
127.0.0.1
-- Leave default localhost if you are
connecting alone from the same machine TrinityCore runs
on.
<Your LOCAL NETWORK ip> -- Use the machine's LAN ip if
you want other computers from the same network as the
TrinityCore server to connect to your server.
<Your PUBLIC NETWORK ip> -- Use your PUBLIC ip if you
have friends and testers which need to connect your
server from the internet.
Realmlist table
An example of how it would look with a real address:
use auth;
update realmlist set address = '192.168.56.1' where id
= 1;
Realmlist table
mysql> describe realmlist;
+----------------------+----------------------+------+-----+---------------+----------------+
| Field
| Type
| Null | Key | Default
| Extra
|
+----------------------+----------------------+------+-----+---------------+----------------+
| id
| int(10) unsigned
| NO | PRI | NULL
| auto_increment |
| name
| varchar(32)
| NO | UNI |
|
|
| address
| varchar(255)
| NO |
| 127.0.0.1
|
|
| localAddress
| varchar(255)
| NO |
| 127.0.0.1
|
|
| localSubnetMask
| varchar(255)
| NO |
| 255.255.255.0 |
|
| port
| smallint(5) unsigned | NO |
| 8085
|
|
| icon
| tinyint(3) unsigned | NO |
|0
|
|
| flag
| tinyint(3) unsigned | NO |
|2
|
|
| timezone
| tinyint(3) unsigned | NO |
|0
|
|
| allowedSecurityLevel | tinyint(3) unsigned | NO |
|0
|
|
| population
| float unsigned
| NO |
|0
|
|
| gamebuild
| int(10) unsigned
| NO |
| 12340
|
|
+----------------------+----------------------+------+-----+---------------+----------------+
12 rows in set (0.00 sec)
Realmlist table
mysql> update realmlist set address = '192.168.56.1' where id = 1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from realmlist where id = 1;
+----+---------+-----------+--------------+-----------------+------+------+------+----------+---------------------+------------+-----------+
| id | name | address | localAddress | localSubnetMask | port | icon | flag | timezone |
allowedSecurityLevel | population | gamebuild |
+----+---------+-----------+--------------+-----------------+------+------+------+----------+---------------------+------------+-----------+
| 1 | Trinity | 192.168.56.1 | 127.0.0.1 | 255.255.255.0 | 8085 | 1 | 0 |
1|
0|
0|
12340 |
+----+---------+-----------+--------------+-----------------+------+------+------+----------+---------------------+------------+-----------+
1 row in set (0.00 sec)
Check version
mysql> select * from version;
+-----------------------------------------------------------------------------------------+---------------+-----------+----------+
| core_version
| core_revision | db_version |
cache_id |
+-----------------------------------------------------------------------------------------+---------------+-----------+----------+
| TrinityCore rev. 394b2c684553 2013-07-29 21:46:49 +0100 (master branch) (Unix, Release) |
394b2c684553 | TDB 335.52 |
52 |
+-----------------------------------------------------------------------------------------+---------------+-----------+----------+
1 row in set (0.00 sec)
DB update script
#!/bin/bash
FILES=~/TrinityCore/sql/updates/dbname/*.*
for f in $FILES
do
echo "Processing $f file..."
mysql --password=password dbname < $f
done
TrinityCore
Setting up the Server config
Extracting dbc, maps and vmaps files
In order to run, TrinityCore needs dbc- and map-files.
In addition, if you want to enable vmaps (Making NPCs
unable to see through walls etc.) you will need to extract
them as well.
dbc and maps files
cd <your WoW client directory>
/home/<username>/server/bin/mapextractor
mkdir /home/<username>/server/data
cp -r dbc maps /home/<username>/server/data
vmaps and mmaps files
cd <your WoW client directory>
/home/<username>/server/bin/vmap4extractor
mkdir /home/<username>/server/data/vmaps
mkdir /home/<username>/server/data/mmaps
cp -r vmaps mmaps /home/<username>/server/data
cp Buildings/* /home/<username>/server/data/vmaps
Configuring the server
First of all you need to create 2 files : worldserver.conf
and authserver.conf in your
/home/<username>/server/etc/ folder.
You'll find 2 files named worldserver.conf.dist and
authserver.conf.dist. Copy these to their namesakes
without the .dist extension.
cp worldserver.conf.dist worldserver.conf
cp authserver.conf.dist authserver.conf
worldserver.conf
Edit MySQL account username and password (instead of
trinity;trinity).
LoginDatabaseInfo
= "127.0.0.1;3306;trinity;trinity;
auth"
WorldDatabaseInfo
= "127.0.0.1;3306;trinity;trinity;
world"
CharacterDatabaseInfo = "127.0.0.1;3306;trinity;trinity;
characters"
worldserver.conf
vmap.enableLOS = 1 -- set this to 0
vmap.enableHeight = 1 -- set this to 0
vmap.petLOS = 1 -- set this to 0
vmap.enableIndoorCheck = 1 -- set this to 0
worldserver.conf
WorldServerPort = 8085
RealmServerPort = 3724
Check a port
root@vTrinity13:/home/joo/server/etc# netstat -a |grep 8085
tcp
0
0 *:8085
*:*
LISTEN
root@vTrinity13:/home/joo/server/etc# netstat -a |grep 3724
tcp
0
0 *:3724
*:*
LISTEN
Check a port from PC to Server
C:>telnet 192.168.56.1 3724
C:>telnet 192.168.56.1 8085
authserver.conf
Edit MySQL account username and password (instead of
trinity;trinity).
LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth"
NAT port forwarding in Virtulbox
TrinityCore
Getting start
Server directory
WorldServer
Create account
You can type commands inside the worldserver program,
similar to a command prompt.
Type: account create <user> <pass>
Example: account create test test
Type: account set gmlevel <user> 3 -1
Example: account set gmlevel test 3 -1
DO !NEVER! create an account directly into your database
unless you are ABSOLUTELY SURE that you know what and how
to do!
The "3" is the GM account level (higher numbers = more
access), and the "-1" is the realm ID that stands for "all
realms".
AuthServer
Wow Client realmlist.wtf
Future configuration
Client
- Windows 8
● Wow Client

WoW
Client

Server
- Virtual box, Ubuntu 13.04
● Game Server
○ auth
○ world
● Database Server
○ auth, world, character

Auth Server

World Server
auth db
world db
character db
TrinityCore
Reference & Trouble shooting
Reference sites
http://neverendless-wow.com/
Repack download
http://jeutie.info/downloads/#toggle-id-3
download dbc, maps and vmaps files
http://goo.gl/ATbYYG
Tcpdump
http://cdral.net/655
#tcpdump tcp port 21
#tcpdump dst host aaa
#tcpdump src host aaa
root@vTrinity13:~# tcpdump -p -i lo -s 0 -l -w - dst port
3306 | strings --bytes=6 > query.txt
make compile error 1
[ 99%] Building CXX object
src/server/worldserver/CMakeFiles/worldserver.
dir/CommandLine/CliRunnable.cpp.o
[ 99%] Building CXX object
src/server/worldserver/CMakeFiles/worldserver.
dir/RemoteAccess/RASocket.cpp.o
[ 99%] Building CXX object
src/server/worldserver/CMakeFiles/worldserver.
dir/RemoteAccess/RARunnable.cpp.o
/root/TrinityCore/src/server/worldserver/RemoteAccess/RARunnable
.cpp: In member function Virtual void RARunnable::run()
make compile error 2
/root/TrinityCore/src/server/worldserver/RemoteAccess/RARunnable
.cpp:78:72: error: no matching function for call to ACE_Reactor::
run_reactor_event_loop(ACE_Time_Value)
compilation terminated due to -Wfatal-errors.
make[2]: *** [src/server/worldserver/CMakeFiles/worldserver.
dir/RemoteAccess/RARunnable.cpp.o] Error 1
make[1]: *** [src/server/worldserver/CMakeFiles/worldserver.dir/all]
Error 2
make: *** [all] Error 2
make compile error 3
collect2: error: ld terminated with signal 9 [Killed]
Not TC error, for sure shared or VPS, complile got killed because high
cpu ussage.

sudo dd if=/dev/zero of=/tmp/swap bs=1M count=512
sudo mkswap /tmp/swap
sudo swapon /tmp/swap
http://www.trinitycore.org/f/topic/3178-error-with-thecompiliation-make-install/

Contenu connexe

Tendances

containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能Kohei Tokunaga
 
WebSocketプロトコル
WebSocketプロトコルWebSocketプロトコル
WebSocketプロトコルDaniel Perez
 
The internals and the latest trends of container runtimes
The internals and the latest trends of container runtimesThe internals and the latest trends of container runtimes
The internals and the latest trends of container runtimesAkihiro Suda
 
これから始める人のための自動化入門 〜Ubuntu Jujuを使って〜
これから始める人のための自動化入門 〜Ubuntu Jujuを使って〜これから始める人のための自動化入門 〜Ubuntu Jujuを使って〜
これから始める人のための自動化入門 〜Ubuntu Jujuを使って〜VirtualTech Japan Inc.
 
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and Security[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and SecuritySeungmin Shin
 
BuildKitによる高速でセキュアなイメージビルド (LT)
BuildKitによる高速でセキュアなイメージビルド (LT)BuildKitによる高速でセキュアなイメージビルド (LT)
BuildKitによる高速でセキュアなイメージビルド (LT)Akihiro Suda
 
〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理Akihiro Kitada
 
Linuxのプロセススケジューラ(Reading the Linux process scheduler)
Linuxのプロセススケジューラ(Reading the Linux process scheduler)Linuxのプロセススケジューラ(Reading the Linux process scheduler)
Linuxのプロセススケジューラ(Reading the Linux process scheduler)Hiraku Toyooka
 
DCSF19 Hardening Docker daemon with Rootless mode
DCSF19 Hardening Docker daemon with Rootless modeDCSF19 Hardening Docker daemon with Rootless mode
DCSF19 Hardening Docker daemon with Rootless modeDocker, Inc.
 
Introduction to Ethereum
Introduction to EthereumIntroduction to Ethereum
Introduction to EthereumTerek Judi
 
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise CloudCODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise CloudToshikazu Ichikawa
 
Docker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutesDocker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutesLuciano Fiandesio
 
Black Hat Europe 2017. DPAPI and DPAPI-NG: Decryption Toolkit
Black Hat Europe 2017. DPAPI and DPAPI-NG: Decryption ToolkitBlack Hat Europe 2017. DPAPI and DPAPI-NG: Decryption Toolkit
Black Hat Europe 2017. DPAPI and DPAPI-NG: Decryption ToolkitPaula Januszkiewicz
 
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月VirtualTech Japan Inc.
 

Tendances (20)

containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能
 
WebSocketプロトコル
WebSocketプロトコルWebSocketプロトコル
WebSocketプロトコル
 
OpenStack Swift紹介
OpenStack Swift紹介OpenStack Swift紹介
OpenStack Swift紹介
 
The internals and the latest trends of container runtimes
The internals and the latest trends of container runtimesThe internals and the latest trends of container runtimes
The internals and the latest trends of container runtimes
 
これから始める人のための自動化入門 〜Ubuntu Jujuを使って〜
これから始める人のための自動化入門 〜Ubuntu Jujuを使って〜これから始める人のための自動化入門 〜Ubuntu Jujuを使って〜
これから始める人のための自動化入門 〜Ubuntu Jujuを使って〜
 
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and Security[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
 
BuildKitによる高速でセキュアなイメージビルド (LT)
BuildKitによる高速でセキュアなイメージビルド (LT)BuildKitによる高速でセキュアなイメージビルド (LT)
BuildKitによる高速でセキュアなイメージビルド (LT)
 
Demystfying container-networking
Demystfying container-networkingDemystfying container-networking
Demystfying container-networking
 
〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理
 
Linuxのプロセススケジューラ(Reading the Linux process scheduler)
Linuxのプロセススケジューラ(Reading the Linux process scheduler)Linuxのプロセススケジューラ(Reading the Linux process scheduler)
Linuxのプロセススケジューラ(Reading the Linux process scheduler)
 
DCSF19 Hardening Docker daemon with Rootless mode
DCSF19 Hardening Docker daemon with Rootless modeDCSF19 Hardening Docker daemon with Rootless mode
DCSF19 Hardening Docker daemon with Rootless mode
 
Introduction to Ethereum
Introduction to EthereumIntroduction to Ethereum
Introduction to Ethereum
 
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise CloudCODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
 
Docker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutesDocker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutes
 
TripleO Deep Dive 1.1
TripleO Deep Dive 1.1TripleO Deep Dive 1.1
TripleO Deep Dive 1.1
 
BITCOIN
BITCOINBITCOIN
BITCOIN
 
Hyperledger BESU
Hyperledger BESUHyperledger BESU
Hyperledger BESU
 
Blockchain
BlockchainBlockchain
Blockchain
 
Black Hat Europe 2017. DPAPI and DPAPI-NG: Decryption Toolkit
Black Hat Europe 2017. DPAPI and DPAPI-NG: Decryption ToolkitBlack Hat Europe 2017. DPAPI and DPAPI-NG: Decryption Toolkit
Black Hat Europe 2017. DPAPI and DPAPI-NG: Decryption Toolkit
 
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
 

En vedette

Begravelses Service, "Du dør ikke af at tale om døden", Amager Bladet
Begravelses Service, "Du dør ikke af at tale om døden", Amager BladetBegravelses Service, "Du dør ikke af at tale om døden", Amager Bladet
Begravelses Service, "Du dør ikke af at tale om døden", Amager BladetBegravelses Service
 
Gervasio - Sonido - 5grado
Gervasio - Sonido - 5gradoGervasio - Sonido - 5grado
Gervasio - Sonido - 5gradoudesavirtual
 
Bct 025-h-eng-1 apm-manual-ingenieria rfefrigeración
Bct 025-h-eng-1 apm-manual-ingenieria rfefrigeraciónBct 025-h-eng-1 apm-manual-ingenieria rfefrigeración
Bct 025-h-eng-1 apm-manual-ingenieria rfefrigeraciónLuis Veliz
 
Programas para aprender, programas tutoriales y programas
Programas para aprender, programas tutoriales y programasProgramas para aprender, programas tutoriales y programas
Programas para aprender, programas tutoriales y programastrececccc
 
Avance física aplicada al buceo
Avance física aplicada al buceoAvance física aplicada al buceo
Avance física aplicada al buceoBryan Vera
 
Master internacional coaching busines sup
Master internacional coaching busines supMaster internacional coaching busines sup
Master internacional coaching busines supilsouris
 
Presentación Profinder
Presentación ProfinderPresentación Profinder
Presentación Profinderguest2e4210b
 
Operador de planta v
Operador de planta vOperador de planta v
Operador de planta vRoger Alvarez
 
Deportes y medios de comunicación
Deportes y medios de comunicaciónDeportes y medios de comunicación
Deportes y medios de comunicaciónDiego2394
 
Principales navegadores de internet
Principales navegadores de internetPrincipales navegadores de internet
Principales navegadores de internetJohan Llanten
 
Présentation Encore3
Présentation Encore3Présentation Encore3
Présentation Encore3Encore3
 
Un mecánico a su mujer
Un mecánico a su mujerUn mecánico a su mujer
Un mecánico a su mujerborne
 

En vedette (20)

Begravelses Service, "Du dør ikke af at tale om døden", Amager Bladet
Begravelses Service, "Du dør ikke af at tale om døden", Amager BladetBegravelses Service, "Du dør ikke af at tale om døden", Amager Bladet
Begravelses Service, "Du dør ikke af at tale om døden", Amager Bladet
 
Osteoporosis
OsteoporosisOsteoporosis
Osteoporosis
 
Gervasio - Sonido - 5grado
Gervasio - Sonido - 5gradoGervasio - Sonido - 5grado
Gervasio - Sonido - 5grado
 
Mor och dotter
Mor och dotterMor och dotter
Mor och dotter
 
Bct 025-h-eng-1 apm-manual-ingenieria rfefrigeración
Bct 025-h-eng-1 apm-manual-ingenieria rfefrigeraciónBct 025-h-eng-1 apm-manual-ingenieria rfefrigeración
Bct 025-h-eng-1 apm-manual-ingenieria rfefrigeración
 
 SEGURIDAD NÁUTICA EN LA PROVINCIA DE CÓRDOBA
 SEGURIDAD NÁUTICA EN LA PROVINCIA DE CÓRDOBA SEGURIDAD NÁUTICA EN LA PROVINCIA DE CÓRDOBA
 SEGURIDAD NÁUTICA EN LA PROVINCIA DE CÓRDOBA
 
Programas para aprender, programas tutoriales y programas
Programas para aprender, programas tutoriales y programasProgramas para aprender, programas tutoriales y programas
Programas para aprender, programas tutoriales y programas
 
Avance física aplicada al buceo
Avance física aplicada al buceoAvance física aplicada al buceo
Avance física aplicada al buceo
 
Air handling systems new
Air handling systems newAir handling systems new
Air handling systems new
 
Master internacional coaching busines sup
Master internacional coaching busines supMaster internacional coaching busines sup
Master internacional coaching busines sup
 
Presentación Profinder
Presentación ProfinderPresentación Profinder
Presentación Profinder
 
13 biftcv.3 modificada-1
13 biftcv.3 modificada-113 biftcv.3 modificada-1
13 biftcv.3 modificada-1
 
Operador de planta v
Operador de planta vOperador de planta v
Operador de planta v
 
Deportes y medios de comunicación
Deportes y medios de comunicaciónDeportes y medios de comunicación
Deportes y medios de comunicación
 
5.1 ejemplos uml
5.1 ejemplos uml5.1 ejemplos uml
5.1 ejemplos uml
 
Principales navegadores de internet
Principales navegadores de internetPrincipales navegadores de internet
Principales navegadores de internet
 
Control de-motores-electricos
Control de-motores-electricosControl de-motores-electricos
Control de-motores-electricos
 
Présentation Encore3
Présentation Encore3Présentation Encore3
Présentation Encore3
 
Un mecánico a su mujer
Un mecánico a su mujerUn mecánico a su mujer
Un mecánico a su mujer
 
Brief Qdoc2
Brief Qdoc2Brief Qdoc2
Brief Qdoc2
 

Similaire à TrinityCore server install guide

Asian Spirit 3 Day Dba On Ubl
Asian Spirit 3 Day Dba On UblAsian Spirit 3 Day Dba On Ubl
Asian Spirit 3 Day Dba On Ublnewrforce
 
Vagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopVagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopLorin Hochstein
 
Tutorial CentOS 5 untuk Webhosting
Tutorial CentOS 5 untuk WebhostingTutorial CentOS 5 untuk Webhosting
Tutorial CentOS 5 untuk WebhostingBeni Krisbiantoro
 
Passwordless login with unix auth_socket
Passwordless login with unix auth_socketPasswordless login with unix auth_socket
Passwordless login with unix auth_socketOtto Kekäläinen
 
How to create a secured cloudera cluster
How to create a secured cloudera clusterHow to create a secured cloudera cluster
How to create a secured cloudera clusterTiago Simões
 
Hadoop Cluster - Basic OS Setup Insights
Hadoop Cluster - Basic OS Setup InsightsHadoop Cluster - Basic OS Setup Insights
Hadoop Cluster - Basic OS Setup InsightsSruthi Kumar Annamnidu
 
Drupal, Memcache and Solr on Windows
Drupal, Memcache and Solr on WindowsDrupal, Memcache and Solr on Windows
Drupal, Memcache and Solr on WindowsAlessandro Pilotti
 
Netxms install guide
Netxms install guideNetxms install guide
Netxms install guideNaga Raju N
 
Whitepaper MS SQL Server on Linux
Whitepaper MS SQL Server on LinuxWhitepaper MS SQL Server on Linux
Whitepaper MS SQL Server on LinuxRoger Eisentrager
 
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefBare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefMatt Ray
 
Oracle 11g R2 RAC setup on rhel 5.0
Oracle 11g R2 RAC setup on rhel 5.0Oracle 11g R2 RAC setup on rhel 5.0
Oracle 11g R2 RAC setup on rhel 5.0Santosh Kangane
 
StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce
StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce
StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce StackIQ
 
MySQL Utilities -- PyTexas 2015
MySQL Utilities -- PyTexas 2015MySQL Utilities -- PyTexas 2015
MySQL Utilities -- PyTexas 2015Dave Stokes
 
Installing oracle grid infrastructure and database 12c r1
Installing oracle grid infrastructure and database 12c r1Installing oracle grid infrastructure and database 12c r1
Installing oracle grid infrastructure and database 12c r1Voeurng Sovann
 

Similaire à TrinityCore server install guide (20)

linux installation.pdf
linux installation.pdflinux installation.pdf
linux installation.pdf
 
Asian Spirit 3 Day Dba On Ubl
Asian Spirit 3 Day Dba On UblAsian Spirit 3 Day Dba On Ubl
Asian Spirit 3 Day Dba On Ubl
 
Vagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopVagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptop
 
Tutorial CentOS 5 untuk Webhosting
Tutorial CentOS 5 untuk WebhostingTutorial CentOS 5 untuk Webhosting
Tutorial CentOS 5 untuk Webhosting
 
Passwordless login with unix auth_socket
Passwordless login with unix auth_socketPasswordless login with unix auth_socket
Passwordless login with unix auth_socket
 
How to create a secured cloudera cluster
How to create a secured cloudera clusterHow to create a secured cloudera cluster
How to create a secured cloudera cluster
 
Hadoop Cluster - Basic OS Setup Insights
Hadoop Cluster - Basic OS Setup InsightsHadoop Cluster - Basic OS Setup Insights
Hadoop Cluster - Basic OS Setup Insights
 
Curso de MySQL 5.7
Curso de MySQL 5.7Curso de MySQL 5.7
Curso de MySQL 5.7
 
Drupal, Memcache and Solr on Windows
Drupal, Memcache and Solr on WindowsDrupal, Memcache and Solr on Windows
Drupal, Memcache and Solr on Windows
 
Netxms install guide
Netxms install guideNetxms install guide
Netxms install guide
 
Whitepaper MS SQL Server on Linux
Whitepaper MS SQL Server on LinuxWhitepaper MS SQL Server on Linux
Whitepaper MS SQL Server on Linux
 
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefBare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and Chef
 
Mysql ppt
Mysql pptMysql ppt
Mysql ppt
 
6. centos networking
6. centos networking6. centos networking
6. centos networking
 
Oracle 11g R2 RAC setup on rhel 5.0
Oracle 11g R2 RAC setup on rhel 5.0Oracle 11g R2 RAC setup on rhel 5.0
Oracle 11g R2 RAC setup on rhel 5.0
 
Linux
LinuxLinux
Linux
 
Stacki - The1600+ Server Journey
Stacki - The1600+ Server JourneyStacki - The1600+ Server Journey
Stacki - The1600+ Server Journey
 
StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce
StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce
StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce
 
MySQL Utilities -- PyTexas 2015
MySQL Utilities -- PyTexas 2015MySQL Utilities -- PyTexas 2015
MySQL Utilities -- PyTexas 2015
 
Installing oracle grid infrastructure and database 12c r1
Installing oracle grid infrastructure and database 12c r1Installing oracle grid infrastructure and database 12c r1
Installing oracle grid infrastructure and database 12c r1
 

Dernier

BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...anjaliyadav012327
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 

Dernier (20)

BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 

TrinityCore server install guide

  • 1. TrinityCore Understand & Implement of Private Sever http://collab.kpsn.org/display/tc/How-to_Linux
  • 2. Environment Client - Windows 8 - WoW Client: 3.3.5a Server - Virtual box, Ubuntu 13.04 - TrinityCore: TDB 335.52
  • 3. What will we learn from this course?
  • 4. Server setting apt-get update apt-get install openssh-server sudo ufw enable sudo ufw allow 22 sudo ufw allow 3306 sudo ufw allow 3724 sudo ufw allow 8085 sudo ufw disable
  • 5. Getting started $ sudo apt-get install build-essential autoconf libtool gcc g++ make cmake git-core patch wget links zip unzip unrar $ sudo apt-get install openssl libssl-dev mysql-server mysql-client libmysqlclient15-dev libmysql++-dev libreadline6-dev zlib1g-dev libbz2-dev
  • 6. Debian-based distributions If you are using Ubuntu 12.04 LTS, Debian 7 or some 2013 linux distributions you will also need: $ sudo apt-get install libncurses5-dev
  • 7. Creating a user to work with $ sudo adduser <username>
  • 8. Installing ACE (Adaptive Communication Environment) $ sudo apt-get install libace-dev
  • 9. Installing ACE (Adaptive Communication Environment) TrinityCore requires a specific communication-library for inter-process communication, and as such needs special attention on that matter. This is because most distributions (even the most recent ones) do not supply the version required by TrinityCore as part of their basepackages.
  • 10. Building the server itself Getting the sourcecode cd ~/ git clone git://github.com/TrinityCore/TrinityCore.git A directory trinitycore will be created automatically and all the source files will be stored in there.
  • 11. Creating the build-directory To avoid issues with updates and colliding sourcebuilds, we create a specific build-directory, so we avoid any possible issues due to that (if any might occur) mkdir build cd build
  • 12. Configuring for compiling To configure the core, we use space-separated parameters attached to the configuration-tool (cmake) - do read the entire section before even starting on the configuration-part. <u>This is for your own good, and you HAVE been warned. A full example will also be shown underneath the explanations.</u> cmake ../TrinityCore/ -DPREFIX=/home/<username>/server DWITH_WARNINGS=1
  • 13. Building the core After configuring and checking that everything is in order (read cmakes output), you can build Trinity (this will take some time unless you are on a rather fast machine) make make install
  • 14. Building the core If you have multiple CPU cores, you can enable the use of those during compile : make -j <number of cores> make install
  • 15. Building the core After compiling and installing, you will find your core binaries in /home/<username>/server/bin, and the standard configuration files in the /home/<username>/server/etc folder. (As usual, replace <username> with the username you created earlier). Now you can continue reading on and learn how to update the sourcetree.
  • 16. Keeping the code up to date TrinityCore developers are always at work fixing and adding new features to the core. You can always check them here. To update the core files, do the following : cd ~/TrinityCore/ git pull origin master Now return to the compilation-section again, and repeat the instructions there.
  • 17. Installing libMPQ (MoPaQ) MPQ-reader library Installation of the libMPQ library is only required if you want to extract the datafiles, and/or compile the tools. Do note that the library has been hardlinked to the binary in later revisions, and is not "enforced" unless the tools are required.
  • 18. Configuring, compiling and installing libMPQ Change directory to ~/TrinityCore/dep/libmpq/ before doing this Alternative 2 : Systemwide installation sh ./autogen.sh ./configure make sudo make install
  • 19. Optional software Graphical database-viewing/editing ● HeidiSQL, http://www.heidisql.com/ ● SQLyog, http://www.webyog.com/en/ Remote console connects to the server ● Putty, http://www.chiark.greenend.org.uk/~sgtatham/putty/ ● Putty Tray, http://haanstra.eu/putty/ Filetransfer through SFTP or FTP ● WinSCP, http://winscp.net/eng/
  • 20. Installing MySQL Server When configuring MySQL make sure you remember the password you set for the default root account and that you enabled both MyISAM and InnoDB engines. You can leave all the other settings as default. You might want to enable remote access to your MySQL server if your are also testing a website for your Trinity server or if you have friends testing with you which need access from remote. Remember that this will decrease the security level of your MySQL server!
  • 21. Installing The Trinity Databases Trinity needs three databases to run - Auth, Characters, and World: auth - holds account data - usernames, passwords, GM access, realm information, etc. characters - holds character data - created characters, inventory, bank items, auction house, tickets, etc. world - holds game-experience content such as NPCs, quests, objects, etc.
  • 22. Setting up MySQL Server 1.Create the three databases by importing /root/TrinityCore/sql/create/create_mysql.sql. You now have three databases - auth, characters, and world. You may need to refresh your program in order to see the new databases. 2.Click on the "auth" database and import the auth database structure by importing /root/TrinityCore/sql/base/auth_database.sql.
  • 23. Setting up MySQL Server 3.Click on the "characters" database and import the characters database structure by importing /root/TrinityCore/sql/base/character_database.sql. 4.Click on the "world" database and import the world database structure by extracting and importing the "TDB_full" .sql file you downloaded from the Downloading the Database section. * http://collab.kpsn.org/display/tc/Database_master
  • 24. Keeping the DB up to date Note: You can run the following query on the World database to see your current DB and core revision: SELECT * FROM `version`;
  • 25. Setting up MySQL Server 1.Extract the TDB_FULL.sql file from the archive and import it into your world database. 2.If they exist, also import the characters_ and auth_ .sql files into their respective databases. 3.Once this is finished and you have already compiled your source, you may run the worldserver.exe to load your server. The revision update is complete.
  • 28. Database Config mysql> show databases; +--------------------+ | Database | +--------------------+ | auth | | characters | | world | +--------------------+ 7 rows in set (0.01 sec)
  • 29. Database Config root@vTrinity13:~/TrinityCore/sql# cat create/create_mysql.sql GRANT USAGE ON * . * TO 'trinity'@'localhost' IDENTIFIED BY 'trinity' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ; CREATE DATABASE `world` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `characters` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `auth` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON `world` . * TO 'trinity'@'localhost' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON `characters` . * TO 'trinity'@'localhost' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON `auth` . * TO 'trinity'@'localhost' WITH GRANT OPTION;
  • 30. Database Config root@vTrinity13:~/TrinityCore/sql/base# mysql -u trinity p auth < auth_database.sql root@vTrinity13:~/TrinityCore/sql/base# mysql -u trinity p characters < characters_database.sql
  • 31. Database Config root@vTrinity13:/home/joo/TDB_full_335. 52_2013_07_17# mysql -u trinity -p world < TDB_full_335. 52_2013_07_17.sql
  • 32. Database Config root@vTrinity13:~/TrinityCore/sql/updates/world# mysql -u trinity -p world < 2013_07_17_00_world_version.sql Enter password:
  • 33. Realmlist table You need to make sure that the authserver directs incoming connections to your realm. In the auth database there is a table called realmlist, where you need to edit the field *address* according to your needs :
  • 34. Realmlist table 127.0.0.1 -- Leave default localhost if you are connecting alone from the same machine TrinityCore runs on. <Your LOCAL NETWORK ip> -- Use the machine's LAN ip if you want other computers from the same network as the TrinityCore server to connect to your server. <Your PUBLIC NETWORK ip> -- Use your PUBLIC ip if you have friends and testers which need to connect your server from the internet.
  • 35. Realmlist table An example of how it would look with a real address: use auth; update realmlist set address = '192.168.56.1' where id = 1;
  • 36. Realmlist table mysql> describe realmlist; +----------------------+----------------------+------+-----+---------------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------------------+----------------------+------+-----+---------------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | name | varchar(32) | NO | UNI | | | | address | varchar(255) | NO | | 127.0.0.1 | | | localAddress | varchar(255) | NO | | 127.0.0.1 | | | localSubnetMask | varchar(255) | NO | | 255.255.255.0 | | | port | smallint(5) unsigned | NO | | 8085 | | | icon | tinyint(3) unsigned | NO | |0 | | | flag | tinyint(3) unsigned | NO | |2 | | | timezone | tinyint(3) unsigned | NO | |0 | | | allowedSecurityLevel | tinyint(3) unsigned | NO | |0 | | | population | float unsigned | NO | |0 | | | gamebuild | int(10) unsigned | NO | | 12340 | | +----------------------+----------------------+------+-----+---------------+----------------+ 12 rows in set (0.00 sec)
  • 37. Realmlist table mysql> update realmlist set address = '192.168.56.1' where id = 1; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from realmlist where id = 1; +----+---------+-----------+--------------+-----------------+------+------+------+----------+---------------------+------------+-----------+ | id | name | address | localAddress | localSubnetMask | port | icon | flag | timezone | allowedSecurityLevel | population | gamebuild | +----+---------+-----------+--------------+-----------------+------+------+------+----------+---------------------+------------+-----------+ | 1 | Trinity | 192.168.56.1 | 127.0.0.1 | 255.255.255.0 | 8085 | 1 | 0 | 1| 0| 0| 12340 | +----+---------+-----------+--------------+-----------------+------+------+------+----------+---------------------+------------+-----------+ 1 row in set (0.00 sec)
  • 38. Check version mysql> select * from version; +-----------------------------------------------------------------------------------------+---------------+-----------+----------+ | core_version | core_revision | db_version | cache_id | +-----------------------------------------------------------------------------------------+---------------+-----------+----------+ | TrinityCore rev. 394b2c684553 2013-07-29 21:46:49 +0100 (master branch) (Unix, Release) | 394b2c684553 | TDB 335.52 | 52 | +-----------------------------------------------------------------------------------------+---------------+-----------+----------+ 1 row in set (0.00 sec)
  • 39. DB update script #!/bin/bash FILES=~/TrinityCore/sql/updates/dbname/*.* for f in $FILES do echo "Processing $f file..." mysql --password=password dbname < $f done
  • 40. TrinityCore Setting up the Server config
  • 41. Extracting dbc, maps and vmaps files In order to run, TrinityCore needs dbc- and map-files. In addition, if you want to enable vmaps (Making NPCs unable to see through walls etc.) you will need to extract them as well.
  • 42. dbc and maps files cd <your WoW client directory> /home/<username>/server/bin/mapextractor mkdir /home/<username>/server/data cp -r dbc maps /home/<username>/server/data
  • 43. vmaps and mmaps files cd <your WoW client directory> /home/<username>/server/bin/vmap4extractor mkdir /home/<username>/server/data/vmaps mkdir /home/<username>/server/data/mmaps cp -r vmaps mmaps /home/<username>/server/data cp Buildings/* /home/<username>/server/data/vmaps
  • 44. Configuring the server First of all you need to create 2 files : worldserver.conf and authserver.conf in your /home/<username>/server/etc/ folder. You'll find 2 files named worldserver.conf.dist and authserver.conf.dist. Copy these to their namesakes without the .dist extension. cp worldserver.conf.dist worldserver.conf cp authserver.conf.dist authserver.conf
  • 45. worldserver.conf Edit MySQL account username and password (instead of trinity;trinity). LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity; auth" WorldDatabaseInfo = "127.0.0.1;3306;trinity;trinity; world" CharacterDatabaseInfo = "127.0.0.1;3306;trinity;trinity; characters"
  • 46. worldserver.conf vmap.enableLOS = 1 -- set this to 0 vmap.enableHeight = 1 -- set this to 0 vmap.petLOS = 1 -- set this to 0 vmap.enableIndoorCheck = 1 -- set this to 0
  • 48. Check a port root@vTrinity13:/home/joo/server/etc# netstat -a |grep 8085 tcp 0 0 *:8085 *:* LISTEN root@vTrinity13:/home/joo/server/etc# netstat -a |grep 3724 tcp 0 0 *:3724 *:* LISTEN
  • 49. Check a port from PC to Server C:>telnet 192.168.56.1 3724 C:>telnet 192.168.56.1 8085
  • 50. authserver.conf Edit MySQL account username and password (instead of trinity;trinity). LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth"
  • 51. NAT port forwarding in Virtulbox
  • 55. Create account You can type commands inside the worldserver program, similar to a command prompt. Type: account create <user> <pass> Example: account create test test Type: account set gmlevel <user> 3 -1 Example: account set gmlevel test 3 -1 DO !NEVER! create an account directly into your database unless you are ABSOLUTELY SURE that you know what and how to do! The "3" is the GM account level (higher numbers = more access), and the "-1" is the realm ID that stands for "all realms".
  • 58.
  • 59.
  • 60.
  • 61.
  • 62. Future configuration Client - Windows 8 ● Wow Client WoW Client Server - Virtual box, Ubuntu 13.04 ● Game Server ○ auth ○ world ● Database Server ○ auth, world, character Auth Server World Server auth db world db character db
  • 65. download dbc, maps and vmaps files http://goo.gl/ATbYYG
  • 66. Tcpdump http://cdral.net/655 #tcpdump tcp port 21 #tcpdump dst host aaa #tcpdump src host aaa root@vTrinity13:~# tcpdump -p -i lo -s 0 -l -w - dst port 3306 | strings --bytes=6 > query.txt
  • 67. make compile error 1 [ 99%] Building CXX object src/server/worldserver/CMakeFiles/worldserver. dir/CommandLine/CliRunnable.cpp.o [ 99%] Building CXX object src/server/worldserver/CMakeFiles/worldserver. dir/RemoteAccess/RASocket.cpp.o [ 99%] Building CXX object src/server/worldserver/CMakeFiles/worldserver. dir/RemoteAccess/RARunnable.cpp.o /root/TrinityCore/src/server/worldserver/RemoteAccess/RARunnable .cpp: In member function Virtual void RARunnable::run()
  • 68. make compile error 2 /root/TrinityCore/src/server/worldserver/RemoteAccess/RARunnable .cpp:78:72: error: no matching function for call to ACE_Reactor:: run_reactor_event_loop(ACE_Time_Value) compilation terminated due to -Wfatal-errors. make[2]: *** [src/server/worldserver/CMakeFiles/worldserver. dir/RemoteAccess/RARunnable.cpp.o] Error 1 make[1]: *** [src/server/worldserver/CMakeFiles/worldserver.dir/all] Error 2 make: *** [all] Error 2
  • 69. make compile error 3 collect2: error: ld terminated with signal 9 [Killed] Not TC error, for sure shared or VPS, complile got killed because high cpu ussage. sudo dd if=/dev/zero of=/tmp/swap bs=1M count=512 sudo mkswap /tmp/swap sudo swapon /tmp/swap http://www.trinitycore.org/f/topic/3178-error-with-thecompiliation-make-install/