Compare commits
135 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6f7a046575 | |||
| e54bfb31e4 | |||
| ce20864257 | |||
| 83c9046ae3 | |||
| 28d7f59b32 | |||
| 7a592e28e3 | |||
| 2ee9fb4eb3 | |||
| 9cf50f7c87 | |||
| 052fc7e1ae | |||
| 4578edcc2f | |||
| e896daee11 | |||
| 8586373c9b | |||
| 2636b90869 | |||
| 9d3f4767c0 | |||
| 5517b99d06 | |||
| 7d0943abe1 | |||
| e358c0bb74 | |||
| 895558c85c | |||
| a7a81f90b1 | |||
| 1fcfb9af5a | |||
| 47c2b72123 | |||
| 16083b7115 | |||
| 2b5605da5c | |||
| be9627d0d0 | |||
| 10699894e8 | |||
| 88700a7c8c | |||
| a6a771a6e0 | |||
| 3679de3710 | |||
| 2aa3a463f0 | |||
| 160da9450b | |||
| c08a5d5499 | |||
| 7247f2a5ee | |||
| 6773cd3128 | |||
| 5b51a76848 | |||
| a76afc6fdb | |||
| 9bee4e2885 | |||
| d9e4622e1a | |||
| 0ca7526822 | |||
| 5b824569a9 | |||
| e5f8ecd7ec | |||
| cb34241544 | |||
| 5e97846bbf | |||
| 444012104b | |||
| 2ca258e179 | |||
| 648163a2e0 | |||
| 4a3afdb448 | |||
| a3a6488f51 | |||
| 5d5718905a | |||
| 41d763fd19 | |||
| 8c3067a039 | |||
| ca53686579 | |||
| a549500b01 | |||
| 1aef789c85 | |||
| e72b8ac1cc | |||
| 5d3a91576e | |||
| 69aa0b47b8 | |||
| 2c6264915e | |||
| 765fad6133 | |||
| 4da34f630f | |||
| 42ad4da954 | |||
| 548d0db9d5 | |||
| 4c47ac3d9b | |||
| b0bc413af7 | |||
| 3917cf0965 | |||
| 5f04d03f75 | |||
| e978ec306b | |||
| 479176d328 | |||
| d1b8eea42f | |||
| b91b679669 | |||
| 2fc723e92c | |||
| b96f058c17 | |||
| 16baf121f1 | |||
| d252bbc586 | |||
| df78f91e0c | |||
| e69d1b96af | |||
| d16d8fde70 | |||
| 68e0035ad9 | |||
| 59d3a438f5 | |||
| b618b6a56f | |||
| 033924d8b4 | |||
| d05abc374e | |||
| e371c757de | |||
| 80bc3daae2 | |||
| eec8b797e0 | |||
| 5aabfac4bf | |||
| 2b960b42d0 | |||
| 6dcb9a9285 | |||
| c71e63d75d | |||
| 0d275e8e38 | |||
| d8be5aaa0e | |||
| 3323fc00c6 | |||
| 56f28b2f0d | |||
| 2886a9a0f5 | |||
| 9220456edb | |||
| e010dbf3fa | |||
| b1e9ba9994 | |||
| ad3d901931 | |||
| 7ed24f48bc | |||
| bb43022497 | |||
| f54866dcf1 | |||
| e50d560ad6 | |||
| 326200c62b | |||
| 678429bcd5 | |||
| 83fe345c6e | |||
| 1e21bab2f3 | |||
| 21ea24267e | |||
| 64e7daeb54 | |||
| 74507831e0 | |||
| e1ddffb2ed | |||
| ac2d30abe1 | |||
| 97c3f36d2b | |||
| 6028585ea0 | |||
| 3c517a2b0e | |||
| c1db268e67 | |||
| a816d11f74 | |||
| c170910cc2 | |||
| 03cc9e5a18 | |||
| 0a376a3e20 | |||
| cd61ed610a | |||
| 9e19774c45 | |||
| ac7ed64dd2 | |||
| 9fd22872c0 | |||
| eda1171939 | |||
| aaa7a82ca0 | |||
| b88e0fe9a8 | |||
| 741bbd3109 | |||
| 13d8210867 | |||
| f978f833b0 | |||
| 63b5613a7a | |||
| 3d9dd30cea | |||
| d9d8dc713d | |||
| d2102394fe | |||
| 26879bea8b | |||
| f419d54db7 | |||
| 540a9d8916 |
@@ -1,5 +1,24 @@
|
||||
#
|
||||
# AzerothCore
|
||||
#
|
||||
|
||||
conf/*
|
||||
!conf/*.dist
|
||||
modules/*
|
||||
|
||||
#
|
||||
# Allow modules to control git ignoring
|
||||
#
|
||||
!modules/*
|
||||
modules/*/*
|
||||
!modules/*/.gitignore
|
||||
|
||||
build*/
|
||||
|
||||
#
|
||||
#Generic
|
||||
#
|
||||
|
||||
.directory
|
||||
.mailmap
|
||||
*.orig
|
||||
@@ -16,3 +35,32 @@ CMakeLists.txt.user
|
||||
*.BACKUP.*
|
||||
*.BASE.*
|
||||
*.LOCAL.*
|
||||
|
||||
#
|
||||
# IDE & other softwares
|
||||
#
|
||||
/.settings/
|
||||
/.externalToolBuilders/*
|
||||
# exclude in all levels
|
||||
nbproject/
|
||||
.sync.ffs_db
|
||||
*.kate-swp
|
||||
.browse.VC*
|
||||
.vscode
|
||||
|
||||
#
|
||||
# Eclipse
|
||||
#
|
||||
*.pydevproject
|
||||
.metadata
|
||||
.gradle
|
||||
tmp/
|
||||
*.tmp
|
||||
*.swp
|
||||
*~.nib
|
||||
local.properties
|
||||
.settings/
|
||||
.loadpath
|
||||
.project
|
||||
.cproject
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
[submodule "data/doc"]
|
||||
path = data/doc
|
||||
url = https://github.com/azerothcore/azerothcore-wotlk.wiki.git
|
||||
@@ -0,0 +1,44 @@
|
||||
# Copyright (C)
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
language: cpp
|
||||
|
||||
git:
|
||||
depth: 1
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
|
||||
compiler:
|
||||
- clang
|
||||
- gcc ## Uncomment when we are up to full c++11 standards.
|
||||
|
||||
before_install:
|
||||
- sudo add-apt-repository ppa:kalakris/cmake -y
|
||||
- sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
|
||||
- sudo add-apt-repository 'deb http://llvm.org/apt/precise/ llvm-toolchain-precise-3.7 main'
|
||||
- wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get install clang-3.7
|
||||
- sudo apt-get install libace-dev
|
||||
- sudo apt-get install libncurses5-dev
|
||||
- sudo apt-get install build-essential autoconf libtool 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
|
||||
- if [ "$CXX" = "clang++" ]; then sudo apt-get install -qq libstdc++-4.8-dev; fi
|
||||
- if [ "$CXX" = "clang++" ]; then export CXX="clang++-3.7" CC="clang-3.7"; fi
|
||||
- if [ "$CXX" = "g++" ]; then sudo apt-get install -qq g++-4.8; fi
|
||||
- if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi
|
||||
|
||||
script:
|
||||
- mkdir build
|
||||
- cd build
|
||||
- cmake ../ -DSCRIPTS=1 -DTOOLS=1
|
||||
- make -j8
|
||||
@@ -1,15 +1,15 @@
|
||||
# Copyright (C)
|
||||
# Copyright (C)
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
# Set projectname (must be done AFTER setting configurationtypes)
|
||||
project(SunwellCore)
|
||||
project(AzerothCore)
|
||||
|
||||
# CMake policies (can not be handled elsewhere)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
@@ -26,19 +26,29 @@ set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
|
||||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH 1)
|
||||
|
||||
# set macro-directory
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/macros")
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/src/cmake/macros")
|
||||
|
||||
include(CheckCXXSourceRuns)
|
||||
include(CheckIncludeFiles)
|
||||
|
||||
# some utils for cmake
|
||||
include(src/cmake/utils.cmake)
|
||||
|
||||
# set default buildoptions and print them
|
||||
include(conf/config.cmake.dist)
|
||||
|
||||
# load custom configurations for cmake if exists
|
||||
if(EXISTS "conf/config.cmake")
|
||||
include(conf/config.cmake)
|
||||
endif()
|
||||
|
||||
RUN_HOOK("AFTER_LOAD_CONF")
|
||||
|
||||
# build in Release-mode by default if not explicitly set
|
||||
if( NOT CMAKE_BUILD_TYPE )
|
||||
set(CMAKE_BUILD_TYPE "Release")
|
||||
endif()
|
||||
|
||||
include(CheckCXXSourceRuns)
|
||||
include(CheckIncludeFiles)
|
||||
|
||||
# set default buildoptions and print them
|
||||
include(cmake/options.cmake)
|
||||
|
||||
# turn off PCH totally if enabled (hidden setting, mainly for devs)
|
||||
if( NOPCH )
|
||||
set(USE_COREPCH 0)
|
||||
@@ -55,10 +65,7 @@ find_package(PCHSupport)
|
||||
find_package(ACE REQUIRED)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
if( NOT USE_MYSQL_SOURCES )
|
||||
find_package(MySQL REQUIRED)
|
||||
endif()
|
||||
find_package(MySQL REQUIRED)
|
||||
|
||||
if( UNIX )
|
||||
find_package(Readline)
|
||||
@@ -71,13 +78,24 @@ endif()
|
||||
#endif()
|
||||
|
||||
# Find revision ID and hash of the sourcetree
|
||||
include(cmake/genrev.cmake)
|
||||
include(src/cmake/genrev.cmake)
|
||||
|
||||
# print out the results before continuing
|
||||
include(cmake/showoptions.cmake)
|
||||
include(src/cmake/showoptions.cmake)
|
||||
|
||||
# add dependencies
|
||||
add_subdirectory(dep)
|
||||
# add modules and dependencies
|
||||
AZTH_SUBDIRLIST(sub_DIRS "${CMAKE_SOURCE_DIR}/modules" FALSE FALSE)
|
||||
FOREACH(subdir ${sub_DIRS})
|
||||
STRING(REGEX REPLACE "^${CMAKE_SOURCE_DIR}/" "" subdir_rel ${subdir})
|
||||
if(EXISTS "${subdir}/CMakeLists.txt")
|
||||
message("Loading module: ${subdir_rel}")
|
||||
add_subdirectory("${subdir_rel}")
|
||||
endif()
|
||||
ENDFOREACH()
|
||||
|
||||
RUN_HOOK("BEFORE_SRC_LOAD")
|
||||
|
||||
# add core sources
|
||||
add_subdirectory(src)
|
||||
|
||||
RUN_HOOK("AFTER_SRC_LOAD")
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
# AzerothCore
|
||||
|
||||
[](https://gitter.im/azerothcore/azerothcore?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
|
||||
## Introduction
|
||||
|
||||
AzerothCore is an open source game-server application for World of Warcraft, currently supporting the 3.3.5a game version.
|
||||
|
||||
It is written in C++ and based on MaNGOS, TrinityCore and SunwellCore.
|
||||
|
||||
## Why AzerothCore?
|
||||
|
||||
Our main goal is to create a playable game server, offering a fully working game experience. In short, we focus on the **user experience (UX)**.
|
||||
|
||||
Like MaNGOS and TrinityCore did in past, we like to write clean code and doing software development right, but **our main goal is to have fully working features**. In other terms, we always prefer proper solutions to problems, but we may accept "*hackfixes*" (when they do not affect the game stability) if a proper solution is not available yet.
|
||||
|
||||
We also believe in [software modularity](https://en.wikipedia.org/wiki/Modular_programming), because the more the software is modular, and the more it will be easy to be maintained, understood, developed, etc...
|
||||
|
||||
## Work in progress...
|
||||
|
||||
The project is still under a work in progress phase, so all guidelines may not be available yet and PRs may be not merged immediately, but feel free to starting contributing. We will love to review and accept your PRs.
|
||||
|
||||
## Authors & Contributors
|
||||
|
||||
This project is brought to you thanks to:
|
||||
|
||||
- The [AzerothCore developers and contributors](https://github.com/AzerothCore/azerothcore-wotlk/graphs/contributors)
|
||||
- The SunwellCore developers **xinef** and **pussywizard**
|
||||
- All the [TrinityCore developers and contributors](https://github.com/TrinityCore/TrinityCore/blob/3.3.5/THANKS)
|
||||
- All the [MaNGOS, ScriptDev2 and UDB developers and contributors](https://github.com/cmangos/mangos-wotlk/blob/master/AUTHORS.md)
|
||||
|
||||
## Links
|
||||
|
||||
- [Website](https://azerothcore.github.io/)
|
||||
@@ -0,0 +1,7 @@
|
||||
AZTH_PATH_ROOT=$(readlink -f "$AZTH_PATH_BIN/../")
|
||||
|
||||
AZTH_PATH_CONF="$AZTH_PATH_ROOT/conf"
|
||||
|
||||
AZTH_PATH_MODULES="$AZTH_PATH_ROOT/modules"
|
||||
|
||||
AZTH_PATH_CUSTOM=$(readlink -f "$AZTH_PATH_ROOT/../azth_custom")
|
||||
@@ -0,0 +1,16 @@
|
||||
# par 1: hook_name
|
||||
function runHooks() {
|
||||
hook_name="HOOKS_MAP_$1"
|
||||
read -r -a SRCS <<< ${!hook_name}
|
||||
echo "Running hooks: $hook_name"
|
||||
for i in "${SRCS[@]}"
|
||||
do
|
||||
$i # run registered hook
|
||||
done
|
||||
}
|
||||
|
||||
function registerHooks() {
|
||||
hook_name="HOOKS_MAP_$1"
|
||||
hooks=${@:2}
|
||||
declare -g "$hook_name+=$hooks "
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
AZTH_PATH_BIN="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../" && pwd )"
|
||||
|
||||
AZTH_PATH_SHARED="$AZTH_PATH_BIN/bash_shared"
|
||||
|
||||
source "$AZTH_PATH_SHARED/defines.sh"
|
||||
|
||||
source "$AZTH_PATH_SHARED/functions.sh"
|
||||
|
||||
source "$AZTH_PATH_CONF/config.sh.dist" # "hack" to avoid missing conf variables
|
||||
|
||||
if [ -f "$AZTH_PATH_CONF/config.sh" ]; then
|
||||
source "$AZTH_PATH_CONF/config.sh" # should overwrite previous
|
||||
fi
|
||||
|
||||
#
|
||||
# Load modules
|
||||
#
|
||||
|
||||
for entry in "$AZTH_PATH_MODULES/"*/include.sh
|
||||
do
|
||||
if [ -e $entry ]; then
|
||||
source $entry
|
||||
fi
|
||||
done
|
||||
@@ -0,0 +1,2 @@
|
||||
config.sh
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
CURRENT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
bash "$CURRENT_PATH/compiler.sh" 1
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
CURRENT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
bash "$CURRENT_PATH/compiler.sh" 2
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
CURRENT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
bash "$CURRENT_PATH/compiler.sh" 3
|
||||
@@ -0,0 +1,24 @@
|
||||
## How to compile:
|
||||
|
||||
first of all, if you need some custom configuration you have to copy and rename
|
||||
/conf/config.sh.dist in /conf/config.sh and configure it
|
||||
|
||||
* for a "clean" compilation you must run all scripts in their order:
|
||||
|
||||
./1-clean.sh
|
||||
./2-configure.sh
|
||||
./3-build.sh
|
||||
|
||||
* if you add/rename/delete some sources and you need to compile it you have to run:
|
||||
|
||||
./2-configure.sh
|
||||
./3-build.sh
|
||||
|
||||
* if you have modified code only, you just need to run
|
||||
|
||||
./3-build.sh
|
||||
|
||||
|
||||
## Note:
|
||||
|
||||
For an optimal development process and **really faster** compilation time, is suggested to use clang instead of gcc
|
||||
@@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
CURRENT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
source "$CURRENT_PATH/includes/includes.sh"
|
||||
|
||||
function all() {
|
||||
clean
|
||||
configure
|
||||
build
|
||||
}
|
||||
|
||||
function run_option() {
|
||||
if test "${comp_functions[$1-1]+'test'}"; then
|
||||
${comp_functions[$1-1]}
|
||||
else
|
||||
echo "invalid option"
|
||||
fi
|
||||
}
|
||||
|
||||
comp_options=("Clean" "Configure" "Build" "All")
|
||||
comp_functions=("clean" "configure" "build" "all")
|
||||
|
||||
runHooks "ON_AFTER_OPTIONS" #you can create your custom options
|
||||
|
||||
# push exit after custom options
|
||||
comp_options+=('Exit')
|
||||
comp_functions+=('exit 0')
|
||||
|
||||
# run option directly if specified in argument
|
||||
[ ! -z $1 ] && run_option $1 && exit 0
|
||||
|
||||
PS3='[ Please enter your choice ]: '
|
||||
select opt in "${comp_options[@]}"
|
||||
do
|
||||
case $opt in
|
||||
'Exit')
|
||||
break
|
||||
;;
|
||||
*)
|
||||
run_option $REPLY
|
||||
;;
|
||||
esac
|
||||
done
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
# you can choose build type from cmd argument
|
||||
if [ ! -z $1 ]
|
||||
then
|
||||
CCTYPE=$1
|
||||
CCTYPE=${CCTYPE^} # capitalize first letter if it's not yet
|
||||
fi
|
||||
|
||||
BUILDPATH=$BINPATH
|
||||
|
||||
INSTALL_PATH=$(readlink -f "$BINPATH/../")
|
||||
|
||||
[ $CTYPE == "Debug" ] && BUILDPATH="$BUILDPATH/debug/build/" || BUILDPATH="$BUILDPATH/release/build/"
|
||||
|
||||
[ $CTYPE == "Debug" ] && BINPATH="$BINPATH/debug" || BINPATH="$BINPATH/release"
|
||||
@@ -0,0 +1,57 @@
|
||||
|
||||
function clean() {
|
||||
echo "Cleaning build files"
|
||||
|
||||
CWD=$(pwd)
|
||||
|
||||
cd $BUILDPATH
|
||||
|
||||
make -f Makefile clean
|
||||
make clean
|
||||
find -iname '*cmake*' -not -name CMakeLists.txt -exec rm -rf {} \+
|
||||
|
||||
cd $CWD
|
||||
}
|
||||
|
||||
function configure() {
|
||||
CWD=$(pwd)
|
||||
|
||||
cd $BUILDPATH
|
||||
|
||||
echo "Build path: $BUILDPATH"
|
||||
echo "DEBUG info: $CDEBUG"
|
||||
echo "Compilation type: $CTYPE"
|
||||
# -DCMAKE_BUILD_TYPE=$CCTYPE disable optimization "slow and huge amount of ram"
|
||||
# -DWITH_COREDEBUG=$CDEBUG compiled with debug information
|
||||
|
||||
#-DSCRIPTS_COMMANDS=$CSCRIPTS -DSCRIPTS_CUSTOM=$CSCRIPTS -DSCRIPTS_EASTERNKINGDOMS=$CSCRIPTS -DSCRIPTS_EVENTS=$CSCRIPTS -DSCRIPTS_KALIMDOR=$CSCRIPTS \
|
||||
#-DSCRIPTS_NORTHREND=$CSCRIPTS -DSCRIPTS_OUTDOORPVP=$CSCRIPTS -DSCRIPTS_OUTLAND=$CSCRIPTS -DSCRIPTS_PET=$CSCRIPTS -DSCRIPTS_SPELLS=$CSCRIPTS -DSCRIPTS_WORLD=$CSCRIPTS \
|
||||
#-DAZTH_WITH_UNIT_TEST=$CAZTH_UNIT_TEST -DAZTH_WITH_PLUGINS=$CAZTH_PLG \
|
||||
|
||||
cmake $SRCPATH -DCMAKE_INSTALL_PREFIX=$BINPATH -DCONF_DIR=$CONFDIR -DSERVERS=$CSERVERS \
|
||||
-DSCRIPTS=$CSCRIPTS \
|
||||
-DTOOLS=$CTOOLS -DUSE_SCRIPTPCH=$CSCRIPTPCH -DUSE_COREPCH=$CCOREPCH -DWITH_COREDEBUG=$CDEBUG -DCMAKE_BUILD_TYPE=$CTYPE -DWITH_WARNINGS=$CWARNINGS \
|
||||
-DCMAKE_C_COMPILER=$CCOMPILERC -DCMAKE_CXX_COMPILER=$CCOMPILERCXX $CCUSTOMOPTIONS
|
||||
|
||||
cd $CWD
|
||||
|
||||
runHooks "ON_AFTER_CONFIG"
|
||||
}
|
||||
|
||||
|
||||
function build() {
|
||||
[ $MTHREADS == 0 ] && MTHREADS=`grep -c ^processor /proc/cpuinfo` && MTHREADS=$(($MTHREADS + 2))
|
||||
|
||||
echo "Using $MTHREADS threads"
|
||||
|
||||
CWD=$(pwd)
|
||||
|
||||
cd $BUILDPATH
|
||||
|
||||
time make -j $MTHREADS
|
||||
make -j $MTHREADS install
|
||||
|
||||
cd $CWD
|
||||
|
||||
runHooks "ON_AFTER_BUILD"
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
CURRENT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
source "$CURRENT_PATH/../../bash_shared/includes.sh"
|
||||
|
||||
AZTH_PATH_COMPILER="$AZTH_PATH_BIN/compiler"
|
||||
|
||||
if [ -f "$AZTH_PATH_COMPILER/config.sh" ]; then
|
||||
source "$AZTH_PATH_COMPILER/config.sh" # should overwrite previous
|
||||
fi
|
||||
|
||||
function azth_on_after_build() {
|
||||
# move the run engine
|
||||
cp -rvf "$AZTH_PATH_BIN/runners/"* "$INSTALL_PATH/bin/"
|
||||
}
|
||||
|
||||
registerHooks "ON_AFTER_BUILD" azth_on_after_build
|
||||
|
||||
source "$AZTH_PATH_COMPILER/includes/defines.sh"
|
||||
|
||||
source "$AZTH_PATH_COMPILER/includes/functions.sh"
|
||||
|
||||
mkdir -p $BUILDPATH
|
||||
mkdir -p $BINPATH
|
||||
@@ -0,0 +1,2 @@
|
||||
/output/
|
||||
config.sh
|
||||
@@ -0,0 +1,154 @@
|
||||
#!/bin/bash
|
||||
|
||||
unamestr=`uname`
|
||||
if [[ "$unamestr" == 'Darwin' ]]; then
|
||||
SRCPATH=$(greadlink -f "../../")
|
||||
else
|
||||
SRCPATH=$(readlink -f "../../")
|
||||
fi
|
||||
|
||||
source $SRCPATH"/bin/bash_shared/includes.sh"
|
||||
|
||||
if [ -f "./config.sh" ]; then
|
||||
source "./config.sh" # should overwrite previous
|
||||
fi
|
||||
|
||||
unamestr=`uname`
|
||||
if [[ "$unamestr" == 'Darwin' ]]; then
|
||||
MD5_CMD="md5"
|
||||
else
|
||||
MD5_CMD="md5sum"
|
||||
fi
|
||||
|
||||
reg_file="$OUTPUT_FOLDER/.zzz_db_assembler_registry.sh"
|
||||
|
||||
declare -A registry
|
||||
|
||||
if [ -f "$reg_file" ]; then
|
||||
source "$reg_file"
|
||||
fi
|
||||
|
||||
echo "===== STARTING PROCESS ====="
|
||||
|
||||
|
||||
function assemble() {
|
||||
database=$1
|
||||
start_sql=$2
|
||||
|
||||
var_base="DB_"$database"_PATHS"
|
||||
base=${!var_base}
|
||||
|
||||
var_updates="DB_"$database"_UPDATE_PATHS"
|
||||
updates=${!var_updates}
|
||||
|
||||
var_custom="DB_"$database"_CUSTOM_PATHS"
|
||||
custom=${!var_custom}
|
||||
|
||||
|
||||
suffix_base=""
|
||||
suffix_upd=""
|
||||
suffix_custom=""
|
||||
|
||||
if (( $ALL_IN_ONE == 0 )); then
|
||||
suffix_base="_base"
|
||||
fi;
|
||||
|
||||
echo "" > $OUTPUT_FOLDER$database$suffix_base".sql"
|
||||
|
||||
|
||||
if [ ! ${#base[@]} -eq 0 ]; then
|
||||
echo "Generating $OUTPUT_FOLDER$database$suffix_base ..."
|
||||
|
||||
for d in "${base[@]}"
|
||||
do
|
||||
if [ ! -z $d ]; then
|
||||
for entry in "$d"/*.sql "$d"/**/*.sql
|
||||
do
|
||||
if [[ -e $entry ]]; then
|
||||
cat "$entry" >> $OUTPUT_FOLDER$database$suffix_base".sql"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if (( $ALL_IN_ONE == 0 )); then
|
||||
suffix_upd="_updates"
|
||||
|
||||
echo "" > $OUTPUT_FOLDER$database$suffix_upd".sql"
|
||||
fi;
|
||||
|
||||
if [ ! ${#updates[@]} -eq 0 ]; then
|
||||
echo "Generating $OUTPUT_FOLDER$database$suffix_upd ..."
|
||||
|
||||
for d in "${updates[@]}"
|
||||
do
|
||||
if [ ! -z $d ]; then
|
||||
for entry in "$d"/*.sql "$d"/**/*.sql
|
||||
do
|
||||
if [[ ! -e $entry ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
file=$(basename "$entry")
|
||||
hash=$($MD5_CMD "$entry")
|
||||
hash="${hash%% *}" #remove file path
|
||||
if [[ -z ${registry[$hash]} ]]; then
|
||||
registry["$hash"]="$file"
|
||||
echo "-- New update sql: "$file
|
||||
cat "$entry" >> $OUTPUT_FOLDER$database$suffix_upd".sql"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if (( $ALL_IN_ONE == 0 )); then
|
||||
suffix_custom="_custom"
|
||||
|
||||
echo "" > $OUTPUT_FOLDER$database$suffix_custom".sql"
|
||||
fi;
|
||||
|
||||
|
||||
|
||||
if [ ! ${#custom[@]} -eq 0 ]; then
|
||||
echo "Generating $OUTPUT_FOLDER$database$suffix_custom ..."
|
||||
|
||||
for d in "${custom[@]}"
|
||||
do
|
||||
if [ ! -z $d ]; then
|
||||
for entry in "$d"/*.sql "$d"/**/*.sql
|
||||
do
|
||||
if [[ ! -e $entry ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
file=$(basename "$entry")
|
||||
hash=$($MD5_CMD "$entry")
|
||||
hash="${hash%% *}" #remove file path
|
||||
if [[ -z ${registry[$hash]} ]]; then
|
||||
registry["$hash"]="$file"
|
||||
echo "-- New custom sql: "$file
|
||||
cat "$entry" >> $OUTPUT_FOLDER$database$suffix_custom".sql"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
mkdir -p $OUTPUT_FOLDER
|
||||
|
||||
for db in ${DATABASES[@]}
|
||||
do
|
||||
assemble "$db" $version".sql"
|
||||
done
|
||||
|
||||
echo "" > $reg_file
|
||||
|
||||
for i in "${!registry[@]}"
|
||||
do
|
||||
echo "registry['"$i"']='"${registry[$i]}"'" >> "$reg_file"
|
||||
done
|
||||
|
||||
echo "===== DONE ====="
|
||||
@@ -0,0 +1,68 @@
|
||||
#!/bin/bash
|
||||
|
||||
function checkStatus() {
|
||||
if [ -d "/proc/"$1 ]; then
|
||||
eval "TEST=1"
|
||||
else
|
||||
eval "TEST=0"
|
||||
fi
|
||||
}
|
||||
|
||||
function starter() {
|
||||
local CURRENT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
cd $BINPATH
|
||||
|
||||
mkdir -p "$LOGS_PATH"
|
||||
|
||||
TRACE_BEGIN_STRING="SIGSEGV"
|
||||
TRACE_FILE="$LOGS_PATH/"$SCREEN_NAME"_trace.log"
|
||||
ERR_FILE="$LOGS_PATH/"$SCREEN_NAME"_error.log"
|
||||
SYSLOG="$LOGS_PATH/"$SCREEN_NAME"_system.log"
|
||||
SYSERR="$LOGS_PATH/"$SCREEN_NAME"_system.err"
|
||||
LINKS_FILE="$LOGS_PATH/"$SCREEN_NAME"_crash_links.link"
|
||||
|
||||
$CURRENT_PATH/starter $SERVERBIN $GDB "$CONFIG" "$SYSLOG" "$SYSERR" $GDB_ENABLED
|
||||
}
|
||||
|
||||
|
||||
function restarter() {
|
||||
local CURRENT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
cd $BINPATH
|
||||
|
||||
mkdir -p "$LOGS_PATH"
|
||||
|
||||
TRACE_BEGIN_STRING="SIGSEGV"
|
||||
TRACE_FILE="$LOGS_PATH/"$SCREEN_NAME"_trace.log"
|
||||
ERR_FILE="$LOGS_PATH/"$SCREEN_NAME"_error.log"
|
||||
SYSLOG="$LOGS_PATH/"$SCREEN_NAME"_system.log"
|
||||
SYSERR="$LOGS_PATH/"$SCREEN_NAME"_system.err"
|
||||
LINKS_FILE="$LOGS_PATH/"$SCREEN_NAME"_crash_links.link"
|
||||
|
||||
if [ ! -f $TRACE_FILE ]; then
|
||||
touch $TRACE_FILE
|
||||
fi
|
||||
|
||||
while :
|
||||
do
|
||||
PID=$(cat $SERVERPID)
|
||||
checkStatus $PID
|
||||
if [ $TEST -eq 0 ]; then
|
||||
DATE=$(date)
|
||||
echo "Restarting $SCREEN_NAME Core blizz($DATE)"
|
||||
if [ $GDB_ENABLED -eq 1 ]; then
|
||||
echo "GDB enabled"
|
||||
grep -B 10 -A 1800 "$TRACE_BEGIN_STRING" "$SYSLOG" >> "$TRACE_FILE"
|
||||
cat "$SYSERR" > "$ERR_FILE"
|
||||
screen -A -m -d -S $SCREEN_NAME "$CURRENT_PATH/starter" $SERVERBIN $GDB "$CONFIG" "$SYSLOG" "$SYSERR" 1
|
||||
fi
|
||||
|
||||
if [ $GDB_ENABLED -eq 0 ]; then
|
||||
echo "GDB disabled"
|
||||
screen -A -m -d -S $SCREEN_NAME "$CURRENT_PATH/starter" $SERVERBIN null "$CONFIG" null null 0
|
||||
fi
|
||||
fi
|
||||
|
||||
sleep 15
|
||||
done
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
GDB_FILE="$2"
|
||||
CONFIG="$3"
|
||||
SYSLOG="$4"
|
||||
SYSERR="$5"
|
||||
GBD_ENABLED="$6"
|
||||
|
||||
if [ $GBD_ENABLED -eq 1 ]; then
|
||||
echo "set logging on" > "$GDB_FILE"
|
||||
echo "set debug timestamp" >> "$GDB_FILE"
|
||||
echo "run -c $3" >> "$GDB_FILE"
|
||||
echo "bt" >> "$GDB_FILE"
|
||||
|
||||
[ ! -f "$SYSLOG" ] && touch "$SYSLOG"
|
||||
[ ! -f "$SYSERR" ] && touch "$SYSERR"
|
||||
|
||||
gdb -x $GDB_FILE --batch $1 >> "$SYSLOG" 2>> "$SYSERR"
|
||||
elif [ $GBD_ENABLED -eq 0 ]; then
|
||||
"./$1" -c "$CONFIG"
|
||||
fi
|
||||
@@ -1,13 +1,3 @@
|
||||
# Copyright (C)
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
option(SERVERS "Build worldserver and authserver" 1)
|
||||
option(SCRIPTS "Build core with scripts included" 1)
|
||||
option(TOOLS "Build map/vmap/mmap extraction/assembler tools" 0)
|
||||
@@ -0,0 +1,132 @@
|
||||
#!/bin/bash
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
# absolute root path of your azerothshard repository
|
||||
SRCPATH="$AZTH_PATH_ROOT"
|
||||
# absolute path where binary files must be stored
|
||||
BINPATH="$AZTH_PATH_ROOT/build/"
|
||||
# absolute path where config. files must be stored
|
||||
CONFDIR="$AZTH_PATH_ROOT/build/etc/"
|
||||
|
||||
##############################################
|
||||
#
|
||||
# COMPILER_CONFIGURATIONS
|
||||
#
|
||||
##############################################
|
||||
|
||||
|
||||
# set preferred compilers
|
||||
#CCOMPILERC="/usr/bin/clang-3.6"
|
||||
#CCOMPILERCC="/usr/bin/clang-3.6"
|
||||
#CCOMPILERCXX="/usr/bin/clang++-3.6"
|
||||
CCOMPILERC="/usr/bin/gcc"
|
||||
CCOMPILERCC="/usr/bin/gcc"
|
||||
CCOMPILERCXX="/usr/bin/g++"
|
||||
|
||||
# how many thread must be used for compilation ( leave zero to use all available )
|
||||
MTHREADS=0
|
||||
# enable/disable warnings during compilation
|
||||
CWARNINGS=1
|
||||
# enable/disable some debug informations ( it's not a debug compilation )
|
||||
CDEBUG=0
|
||||
# specify compilation type
|
||||
CTYPE=Release
|
||||
# compile scripts
|
||||
CSCRIPTS=1
|
||||
# compile server
|
||||
CSERVERS=1
|
||||
# compile tools
|
||||
CTOOLS=0
|
||||
# use precompiled headers ( fatest compilation but not optimized if you change headers often )
|
||||
CSCRIPTPCH=1
|
||||
CCOREPCH=1
|
||||
# you can add your custom definitions here ( -D )
|
||||
CCUSTOMOPTIONS=""
|
||||
|
||||
##############################################
|
||||
#
|
||||
# RUNNER CONFIGURATION
|
||||
#
|
||||
##############################################
|
||||
|
||||
# enable/disable GDB execution
|
||||
export GDB_ENABLED=0
|
||||
|
||||
# gdb file
|
||||
export GDB=""
|
||||
|
||||
# directory where binary are stored
|
||||
export BINPATH=""
|
||||
|
||||
### Put here the pid you configured on your worldserver.conf file ###
|
||||
export SERVERPID=""
|
||||
|
||||
# path to conf file
|
||||
export CONFIG=""
|
||||
|
||||
# path of log files
|
||||
export LOGS_PATH="";
|
||||
|
||||
# exec name
|
||||
export SERVERBIN=""
|
||||
|
||||
# name of screen service ( for restarter )
|
||||
export SCREEN_NAME=""
|
||||
|
||||
|
||||
##############################################
|
||||
#
|
||||
# DB ASSEMBLER CONFIGURATIONS
|
||||
#
|
||||
##############################################
|
||||
|
||||
|
||||
# 0 if you want create an sql for each kind of following categories
|
||||
# 1 to create a single big file to import ( suggested for new installations )
|
||||
ALL_IN_ONE=0
|
||||
|
||||
DATABASES=(
|
||||
"AUTH"
|
||||
"CHARACTERS"
|
||||
"WORLD"
|
||||
)
|
||||
|
||||
OUTPUT_FOLDER="output/"
|
||||
|
||||
# FULL DB
|
||||
DB_CHARACTERS_PATHS=(
|
||||
$SRCPATH"/data/sql/base/characters"
|
||||
)
|
||||
|
||||
DB_AUTH_PATHS=(
|
||||
$SRCPATH"/data/sql/base/auth/"
|
||||
)
|
||||
|
||||
DB_WORLD_PATHS=(
|
||||
$SRCPATH"/data/sql/base/world/"
|
||||
)
|
||||
|
||||
# UPDATES
|
||||
DB_CHARACTERS_UPDATE_PATHS=(
|
||||
$SRCPATH"/data/sql/updates/characters/"
|
||||
)
|
||||
|
||||
DB_AUTH_UPDATE_PATHS=(
|
||||
$SRCPATH"/data/sql/updates/auth/"
|
||||
)
|
||||
|
||||
DB_WORLD_UPDATE_PATHS=(
|
||||
$SRCPATH"/data/sql/updates/world/"
|
||||
)
|
||||
|
||||
# CUSTOM
|
||||
DB_CHARACTERS_CUSTOM_PATHS=(
|
||||
)
|
||||
|
||||
DB_AUTH_CUSTOM_PATHS=(
|
||||
)
|
||||
|
||||
DB_WORLD_CUSTOM_PATHS=(
|
||||
)
|
||||
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 130 KiB |
|
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 102 KiB |
|
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 142 KiB |
|
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 261 KiB After Width: | Height: | Size: 261 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 140 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
@@ -57,7 +57,7 @@ RealmID = 1
|
||||
# DataDir
|
||||
# Description: Data directory setting.
|
||||
# Important: DataDir needs to be quoted, as the string might contain space characters.
|
||||
# Example: "@prefix@/share/sunwellcore"
|
||||
# Example: "/home/youruser/azeroth-server/data"
|
||||
# Default: "."
|
||||
|
||||
DataDir = "./"
|
||||
@@ -1353,9 +1353,9 @@ BeepAtStart = 1
|
||||
# Motd
|
||||
# Description: Message of the Day, displayed at login.
|
||||
# Use '@' for a newline and be sure to escape special characters.
|
||||
# Example: "Welcome to John\'s Server@This server runs on SunwellCore."
|
||||
# Example: "Welcome to John\'s Server@This server runs on AzerothCore."
|
||||
|
||||
Motd = "Welcome to X Server.@This server runs on SunwellCore."
|
||||
Motd = "Welcome to X Server.@This server runs on AzerothCore."
|
||||
|
||||
#
|
||||
# Server.LoginInfo
|
||||
@@ -1,6 +1,6 @@
|
||||
-- MySQL dump 10.13 Distrib 5.6.10, for Win64 (x86_64)
|
||||
--
|
||||
-- Host: localhost Database: clean_logon
|
||||
-- Host: localhost Database: clean_auth
|
||||
-- ------------------------------------------------------
|
||||
-- Server version 5.6.10
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
All files contained in this folders **must not be re-applicable**!
|
||||
|
||||
|
||||
For this purpose we're versioning it using this format:
|
||||
|
||||
|
||||
|
||||
**File name**: yyyy_mm_dd_XX.sql
|
||||
|
||||
yyyy -> year
|
||||
mm -> month
|
||||
dd -> day
|
||||
XX -> an incremental number if an sql with same date already exists, by default: 00
|
||||
|
||||
**SQL Header ( the first query ):**
|
||||
|
||||
The following is an example of the query that must be present in first row of every sql updates ( This example is specifically for auth database:)
|
||||
|
||||
ALTER TABLE auth_db_version
|
||||
CHANGE COLUMN 2016_07_09_01
|
||||
2016_07_10_00 bit;
|
||||
|
||||
Of course the rule is:
|
||||
|
||||
CHANGE COLUMN 2016_07_09_01 <- the previous version
|
||||
|
||||
2016_07_10_00 bit <-- the next version
|
||||
@@ -0,0 +1,3 @@
|
||||
CREATE TABLE `auth_db_version` (
|
||||
`2016_07_09_00` BIT(1) DEFAULT NULL
|
||||
) ENGINE=MYISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='Last applied sql update to DB';
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE auth_db_version CHANGE COLUMN 2016_07_09_00 2016_07_09_01 bit;
|
||||
@@ -1,3 +1,5 @@
|
||||
ALTER TABLE auth_db_version CHANGE COLUMN 2016_07_09_01 2016_07_10_00 bit;
|
||||
|
||||
DROP TABLE IF EXISTS `autobroadcast`;
|
||||
CREATE TABLE `autobroadcast` (
|
||||
`realmid` int(10) NOT NULL,
|
||||
@@ -11,4 +13,4 @@ ALTER TABLE `autobroadcast`
|
||||
CHANGE `realmid` `realmid` INT(11) NOT NULL DEFAULT '-1',
|
||||
CHANGE `id` `id` TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
CHANGE `weight` `weight` TINYINT(3) UNSIGNED DEFAULT '1',
|
||||
ENGINE=INNODB;
|
||||
ENGINE=INNODB;
|
||||
@@ -0,0 +1,3 @@
|
||||
CREATE TABLE `characters_db_version` (
|
||||
`2016_07_09_00` BIT(1) DEFAULT NULL
|
||||
) ENGINE=MYISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='Last applied sql update to DB';
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE characters_db_version CHANGE COLUMN 2016_07_09_00 2016_07_09_01 bit;
|
||||
@@ -0,0 +1,28 @@
|
||||
ALTER TABLE characters_db_version CHANGE COLUMN 2016_07_09_01 2016_07_10_00 bit;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `pvpstats_battlegrounds` (
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`winner_faction` tinyint(4) NOT NULL,
|
||||
`bracket_id` tinyint(3) unsigned NOT NULL,
|
||||
`type` tinyint(3) unsigned NOT NULL,
|
||||
`date` datetime NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `pvpstats_players` (
|
||||
`battleground_id` bigint(20) unsigned NOT NULL,
|
||||
`character_guid` int(10) unsigned NOT NULL,
|
||||
`winner` bit(1) NOT NULL,
|
||||
`score_killing_blows` mediumint(8) unsigned NOT NULL,
|
||||
`score_deaths` mediumint(8) unsigned NOT NULL,
|
||||
`score_honorable_kills` mediumint(8) unsigned NOT NULL,
|
||||
`score_bonus_honor` mediumint(8) unsigned NOT NULL,
|
||||
`score_damage_done` mediumint(8) unsigned NOT NULL,
|
||||
`score_healing_done` mediumint(8) unsigned NOT NULL,
|
||||
`attr_1` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`attr_2` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`attr_3` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`attr_4` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`attr_5` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`battleground_id`,`character_guid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
@@ -0,0 +1,25 @@
|
||||
ALTER TABLE characters_db_version CHANGE COLUMN 2016_07_10_00 2016_07_30_00 bit;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `gm_ticket` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`type` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '0 open, 1 closed, 2 character deleted',
|
||||
`playerGuid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Global Unique Identifier of ticket creator',
|
||||
`name` varchar(12) NOT NULL COMMENT 'Name of ticket creator',
|
||||
`description` text NOT NULL,
|
||||
`createTime` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`mapId` smallint(5) unsigned NOT NULL DEFAULT '0',
|
||||
`posX` float NOT NULL DEFAULT '0',
|
||||
`posY` float NOT NULL DEFAULT '0',
|
||||
`posZ` float NOT NULL DEFAULT '0',
|
||||
`lastModifiedTime` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`closedBy` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`assignedTo` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'GUID of admin to whom ticket is assigned',
|
||||
`comment` text NOT NULL,
|
||||
`response` text NOT NULL,
|
||||
`completed` tinyint(3) unsigned NOT NULL DEFAULT '0',
|
||||
`escalated` tinyint(3) unsigned NOT NULL DEFAULT '0',
|
||||
`viewed` tinyint(3) unsigned NOT NULL DEFAULT '0',
|
||||
`needMoreHelp` tinyint(3) unsigned NOT NULL DEFAULT '0',
|
||||
`resolvedBy` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'GUID of GM who resolved the ticket',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=10572 DEFAULT CHARSET=utf8 COMMENT='Player System';
|
||||
@@ -0,0 +1,35 @@
|
||||
ALTER TABLE characters_db_version CHANGE COLUMN 2016_07_30_00 2016_08_08_00 bit;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `battleground_deserters` (
|
||||
`guid` INT(10) UNSIGNED NOT NULL COMMENT 'characters.guid',
|
||||
`type` TINYINT(3) UNSIGNED NOT NULL COMMENT 'type of the desertion',
|
||||
`datetime` DATETIME NOT NULL COMMENT 'datetime of the desertion'
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `pvpstats_battlegrounds` (
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`winner_faction` tinyint(4) NOT NULL,
|
||||
`bracket_id` tinyint(3) unsigned NOT NULL,
|
||||
`type` tinyint(3) unsigned NOT NULL,
|
||||
`date` datetime NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=8298 DEFAULT CHARSET=latin1;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `pvpstats_players` (
|
||||
`battleground_id` bigint(20) unsigned NOT NULL,
|
||||
`character_guid` int(10) unsigned NOT NULL,
|
||||
`winner` bit(1) NOT NULL,
|
||||
`score_killing_blows` mediumint(8) unsigned NOT NULL,
|
||||
`score_deaths` mediumint(8) unsigned NOT NULL,
|
||||
`score_honorable_kills` mediumint(8) unsigned NOT NULL,
|
||||
`score_bonus_honor` mediumint(8) unsigned NOT NULL,
|
||||
`score_damage_done` mediumint(8) unsigned NOT NULL,
|
||||
`score_healing_done` mediumint(8) unsigned NOT NULL,
|
||||
`attr_1` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`attr_2` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`attr_3` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`attr_4` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`attr_5` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`battleground_id`,`character_guid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
CREATE TABLE `world_db_version` (
|
||||
`2016_07_09_00` BIT(1) DEFAULT NULL
|
||||
) ENGINE=MYISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='Last applied sql update to DB';
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE world_db_version CHANGE COLUMN 2016_07_09_00 2016_07_09_01 bit;
|
||||
@@ -0,0 +1,4 @@
|
||||
ALTER TABLE world_db_version CHANGE COLUMN 2016_07_09_01 2016_07_10_00 bit;
|
||||
|
||||
DELETE FROM `item_template` WHERE `entry` = 34833;
|
||||
INSERT INTO `item_template` (`entry`, `class`, `subclass`, `SoundOverrideSubclass`, `name`, `displayid`, `Quality`, `Flags`, `FlagsExtra`, `BuyCount`, `BuyPrice`, `SellPrice`, `InventoryType`, `AllowableClass`, `AllowableRace`, `ItemLevel`, `RequiredLevel`, `RequiredSkill`, `RequiredSkillRank`, `requiredspell`, `requiredhonorrank`, `RequiredCityRank`, `RequiredReputationFaction`, `RequiredReputationRank`, `maxcount`, `stackable`, `ContainerSlots`, `StatsCount`, `stat_type1`, `stat_value1`, `stat_type2`, `stat_value2`, `stat_type3`, `stat_value3`, `stat_type4`, `stat_value4`, `stat_type5`, `stat_value5`, `stat_type6`, `stat_value6`, `stat_type7`, `stat_value7`, `stat_type8`, `stat_value8`, `stat_type9`, `stat_value9`, `stat_type10`, `stat_value10`, `ScalingStatDistribution`, `ScalingStatValue`, `dmg_min1`, `dmg_max1`, `dmg_type1`, `dmg_min2`, `dmg_max2`, `dmg_type2`, `armor`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `delay`, `ammo_type`, `RangedModRange`, `spellid_1`, `spelltrigger_1`, `spellcharges_1`, `spellppmRate_1`, `spellcooldown_1`, `spellcategory_1`, `spellcategorycooldown_1`, `spellid_2`, `spelltrigger_2`, `spellcharges_2`, `spellppmRate_2`, `spellcooldown_2`, `spellcategory_2`, `spellcategorycooldown_2`, `spellid_3`, `spelltrigger_3`, `spellcharges_3`, `spellppmRate_3`, `spellcooldown_3`, `spellcategory_3`, `spellcategorycooldown_3`, `spellid_4`, `spelltrigger_4`, `spellcharges_4`, `spellppmRate_4`, `spellcooldown_4`, `spellcategory_4`, `spellcategorycooldown_4`, `spellid_5`, `spelltrigger_5`, `spellcharges_5`, `spellppmRate_5`, `spellcooldown_5`, `spellcategory_5`, `spellcategorycooldown_5`, `bonding`, `description`, `PageText`, `LanguageID`, `PageMaterial`, `startquest`, `lockid`, `Material`, `sheath`, `RandomProperty`, `RandomSuffix`, `block`, `itemset`, `MaxDurability`, `area`, `Map`, `BagFamily`, `TotemCategory`, `socketColor_1`, `socketContent_1`, `socketColor_2`, `socketContent_2`, `socketColor_3`, `socketContent_3`, `socketBonus`, `GemProperties`, `RequiredDisenchantSkill`, `ArmorDamageModifier`, `duration`, `ItemLimitCategory`, `HolidayId`, `ScriptName`, `DisenchantID`, `FoodType`, `minMoneyLoot`, `maxMoneyLoot`, `flagsCustom`, `VerifiedBuild`) VALUES (34833, 12, 0, 0, 'Unlit Torches', 7290, 1, 2, 0, 1, 0, 0, 0, -1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45671, 0, 0, 0, 5000, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 4, '', 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, '', 0, 0, 0, 0, 0, 12340);
|
||||
@@ -0,0 +1,90 @@
|
||||
ALTER TABLE world_db_version CHANGE COLUMN 2016_07_10_00 2016_07_10_01 bit;
|
||||
|
||||
/* Spawn missing Midsummer bonfire */
|
||||
SET @STARTGUID := 268968;
|
||||
DELETE FROM `gameobject` WHERE guid = @STARTGUID+0;
|
||||
DELETE FROM `gameobject` WHERE guid = @STARTGUID+1;
|
||||
/* Ironforge */
|
||||
INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `VerifiedBuild`) VALUES (@STARTGUID+0, 181371, 0, 1, 1, -4699.790039, -1222.770020, 501.658997, -1.378810, 0, 0, 0, 0, 300, 0, 1, 0);
|
||||
/* Shattrath */
|
||||
INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `VerifiedBuild`) VALUES (@STARTGUID+1, 181371, 530, 1, 1, -1747.849976, 5326.290039, -12.428100, -3.019420, 0, 0, 0, 0, 300, 0, 1, 0);
|
||||
|
||||
/* Add missing Midsummer creature */
|
||||
SET @STARTGUID := 248565;
|
||||
|
||||
DELETE FROM `creature` WHERE `guid` BETWEEN @STARTGUID+00 AND @STARTGUID+29;
|
||||
DELETE FROM `game_event_creature` WHERE `guid` BETWEEN @STARTGUID+00 AND @STARTGUID+29;
|
||||
|
||||
INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
|
||||
(@STARTGUID+0, 32801, 571, 1, 1, 4131.279, 5394.604, 26.09047, 3.595378, 120, 0, 0), -- 32801
|
||||
(@STARTGUID+1, 32809, 571, 1, 1, 4454.667, 5623.537, 56.91562, 4.13643, 120, 0, 0), -- 32809
|
||||
(@STARTGUID+2, 32810, 571, 1, 1, 5499.812, 4878.976, -197.8652, 3.176499, 120, 0, 0), -- 32810
|
||||
(@STARTGUID+3, 32802, 571, 1, 1, 5360.002, 4834.393, -196.3981, 5.550147, 120, 0, 0), -- 32802
|
||||
(@STARTGUID+4, 32811, 571, 1, 1, 3762.387, 1481.287, 92.8882, 3.438299, 120, 0, 0), -- 32811
|
||||
(@STARTGUID+5, 32803, 571, 1, 1, 3936.924, -595.4437, 241.1534, 5.951573, 120, 0, 0), -- 32803
|
||||
(@STARTGUID+6, 32812, 571, 1, 1, 2586.682, -4337.068, 276.0698, 4.13643, 120, 0, 0), -- 32812
|
||||
(@STARTGUID+7, 32804, 571, 1, 1, 2466.965, -4892.675, 262.5474, 2.303835, 120, 0, 0), -- 32804
|
||||
(@STARTGUID+8, 32813, 571, 1, 1, 3376.009, -2124.778, 124.664, 0.1396263, 120, 0, 0), -- 32813
|
||||
(@STARTGUID+9, 32805, 571, 1, 1, 3400.944, -2890.375, 201.4968, 2.303835, 120, 0, 0), -- 32805
|
||||
(@STARTGUID+10, 32814, 571, 1, 1, 6150.945, -1023.05, 408.3642, 1.43117, 120, 0, 0), -- 32814
|
||||
(@STARTGUID+11, 32806, 571, 1, 1, 6087.442, -1105.523, 418.2672, 1.099557, 120, 0, 0), -- 32806
|
||||
(@STARTGUID+12, 32815, 571, 1, 1, 5536.516, -733.7185, 149.6217, 3.124139, 120, 0, 0), -- 32815
|
||||
(@STARTGUID+13, 32807, 571, 1, 1, 5141.776, -685.0027, 170.2738, 5.951573, 120, 0, 0), -- 32807
|
||||
(@STARTGUID+14, 32816, 571, 1, 1, 5280.307, -2766.146, 292.5019, 2.303835, 120, 0, 0), -- 32816
|
||||
(@STARTGUID+15, 32808, 571, 1, 1, 5627.932, -2616.493, 292.5019, 1.518436, 120, 0, 0), -- 32808
|
||||
(@STARTGUID+16, 25892, 0, 1, 1, -8258.798, -2618.704, 133.3752, 1.343904, 120, 0, 0), -- 25892
|
||||
(@STARTGUID+17, 25899, 1, 1, 1, -4391.495, 2187.865, 12.22644, 5.864306, 120, 0, 0), -- 25899
|
||||
(@STARTGUID+18, 25936, 1, 1, 1, -2321.744, -619.7491, -9.089149, 5.67232, 120, 0, 0), -- 25936
|
||||
(@STARTGUID+19, 25888, 530, 1, 1, -4219.219, -12310.55, 2.439188, 5.934119, 120, 0, 0), -- 25888
|
||||
(@STARTGUID+20, 25891, 530, 1, 1, -2234.83, -11895.94, 26.62421, 4.694936, 120, 0, 0), -- 25891
|
||||
(@STARTGUID+21, 25907, 530, 1, 1, -2998.854, 4164.042, 5.169014, 0.5934119, 120, 0, 0), -- 25907
|
||||
(@STARTGUID+22, 25938, 530, 1, 1, -3067.278, 2387.903, 62.19349, 3.368485, 120, 0, 0), -- 25938
|
||||
(@STARTGUID+23, 25905, 530, 1, 1, -3951.305, 2045.65, 95.14804, 4.520403, 120, 0, 0), -- 25905
|
||||
(@STARTGUID+24, 25912, 530, 1, 1, 193.7309, 6016.713, 22.73373, 6.161012, 120, 0, 0), -- 25912
|
||||
(@STARTGUID+25, 25903, 530, 1, 1, -2517.064, 7555.085, -1.793157, 5.375614, 120, 0, 0), -- 25903
|
||||
(@STARTGUID+26, 25889, 530, 1, 1, 2024.906, 6590.532, 135.3214, 5.934119, 120, 0, 0), -- 25889
|
||||
(@STARTGUID+27, 25926, 530, 1, 1, 2286.707, 6137.618, 136.3056, 1.570796, 120, 0, 0), -- 25926
|
||||
(@STARTGUID+28, 25913, 530, 1, 1, 3127.551, 3743.148, 141.7706, 6.161012, 120, 0, 0), -- 25913
|
||||
(@STARTGUID+29, 25918, 530, 1, 1, 2917.222, 3693.411, 143.7703, 2.932153, 120, 0, 0); -- 25918
|
||||
|
||||
INSERT INTO `game_event_creature` (`eventEntry`, `guid`) VALUES
|
||||
(1, @STARTGUID+00),
|
||||
(1, @STARTGUID+01),
|
||||
(1, @STARTGUID+02),
|
||||
(1, @STARTGUID+03),
|
||||
(1, @STARTGUID+04),
|
||||
(1, @STARTGUID+05),
|
||||
(1, @STARTGUID+06),
|
||||
(1, @STARTGUID+07),
|
||||
(1, @STARTGUID+08),
|
||||
(1, @STARTGUID+09),
|
||||
(1, @STARTGUID+10),
|
||||
(1, @STARTGUID+11),
|
||||
(1, @STARTGUID+12),
|
||||
(1, @STARTGUID+13),
|
||||
(1, @STARTGUID+14),
|
||||
(1, @STARTGUID+15),
|
||||
(1, @STARTGUID+16),
|
||||
(1, @STARTGUID+17),
|
||||
(1, @STARTGUID+18),
|
||||
(1, @STARTGUID+19),
|
||||
(1, @STARTGUID+20),
|
||||
(1, @STARTGUID+21),
|
||||
(1, @STARTGUID+22),
|
||||
(1, @STARTGUID+23),
|
||||
(1, @STARTGUID+24),
|
||||
(1, @STARTGUID+25),
|
||||
(1, @STARTGUID+26),
|
||||
(1, @STARTGUID+27),
|
||||
(1, @STARTGUID+28),
|
||||
(1, @STARTGUID+29);
|
||||
|
||||
/* Delete some double spawn creature of midsummer fire festival */
|
||||
DELETE FROM `creature` WHERE `guid`=86358 AND `id`=25915;
|
||||
DELETE FROM `creature` WHERE `guid`=86387 AND `id`=25920;
|
||||
DELETE FROM `creature` WHERE `guid`=86241 AND `id`=25887;
|
||||
DELETE FROM `creature` WHERE `guid`=86327 AND `id`=25914;
|
||||
DELETE FROM `creature` WHERE `guid`=86376 AND `id`=25916;
|
||||
DELETE FROM `creature` WHERE `guid`=86426 AND `id`=25921;
|
||||
DELETE FROM `creature` WHERE `guid`=86165 AND `id`=26123;
|
||||
DELETE FROM `creature` WHERE `guid`=202863 AND `id`=25975;
|
||||
@@ -0,0 +1,4 @@
|
||||
ALTER TABLE world_db_version CHANGE COLUMN 2016_07_10_01 2016_07_10_02 bit;
|
||||
|
||||
/* Quest adding injury to insult, fix mob speed run, from 2.2 to 1.0 */
|
||||
UPDATE `creature_template` SET `speed_run` = 1 WHERE `entry` = 24238;
|
||||
@@ -0,0 +1,5 @@
|
||||
ALTER TABLE world_db_version CHANGE COLUMN 2016_07_10_02 2016_07_14_00 bit;
|
||||
|
||||
/* add spellscript for crow spell */
|
||||
DELETE FROM spell_script_names WHERE spell_id = 38776;
|
||||
INSERT INTO spell_script_names VALUES (38776,'spell_q9718_crow_transform');
|
||||
@@ -0,0 +1,17 @@
|
||||
ALTER TABLE world_db_version CHANGE COLUMN 2016_07_14_00 2016_07_28_00 bit;
|
||||
|
||||
-- loot for mindless servant 26536 in utgarde pinnacle
|
||||
DELETE FROM `creature_loot_template` WHERE (Entry = 26536);
|
||||
INSERT INTO `creature_loot_template` (`Entry`, `Item`, `ChanceOrQuestChance`, `LootMode`, `GroupId`, `mincountOrRef`, `maxcount`) VALUES
|
||||
(26536, 33470, 10.7, 1, 0, 1, 7),
|
||||
(26536, 26002, 3, 1, 1, -26002, 1),
|
||||
(26536, 26011, 1, 1, 1, -26011, 1),
|
||||
(26536, 26012, 1, 1, 1, -26012, 1),
|
||||
(26536, 26040, 21.4, 1, 0, -26040, 1),
|
||||
(26536, 33370, 3.6, 1, 1, 1, 1),
|
||||
(26536, 33399, 3.6, 1, 1, 1, 1),
|
||||
(26536, 33454, 35.5, 1, 0, 1, 1),
|
||||
(26536, 37068, 0.69, 1, 1, 1, 1),
|
||||
(26536, 37069, 0.69, 1, 1, 1, 1),
|
||||
(26536, 37070, 0.69, 1, 1, 1, 1),
|
||||
(26536, 45912, 0.1, 1, 1, 1, 1);
|
||||
@@ -0,0 +1,5 @@
|
||||
ALTER TABLE world_db_version CHANGE COLUMN 2016_07_28_00 2016_08_01_00 bit;
|
||||
|
||||
UPDATE creature_template SET faction = 14 WHERE faction != 35 and entry in (
|
||||
35572,35569,35571,35570,35617,34705,34702,34701,34657,34703,35329,35328,35331,35330,
|
||||
35332,35314,35326,35325,35323,35327,35119,35518,34928,35517,35309,35305,35307,35451,35004,35005,35545,35564,33628,36085,36090,36084,35517,35490,36089,35518,36091,36087,36086,36083,36082,36088,35310,35308,35546,35568,35306);
|
||||
@@ -0,0 +1,3 @@
|
||||
ALTER TABLE world_db_version CHANGE COLUMN 2016_08_01_00 2016_08_03_00 bit;
|
||||
|
||||
DELETE from spell_area where spell = 60815 and area = 14;
|
||||