Skip to content

Commit

Permalink
Merge pull request azerothcore#1 from azerothcore/master
Browse files Browse the repository at this point in the history
Merge changes
  • Loading branch information
Kaev committed Jan 24, 2020
2 parents 7b105b7 + 1bbe10d commit b7b41d8
Show file tree
Hide file tree
Showing 734 changed files with 58,406 additions and 11,132 deletions.
14 changes: 11 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
sudo: required
dist: xenial # (16.04)
# bionic (18.04) is not yet available in travis
dist: bionic # (18.04)

language: cpp

Expand All @@ -12,6 +11,7 @@ addons:

services:
- mysql
- docker

git:
depth: 10
Expand All @@ -35,7 +35,7 @@ jobs:
- if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then git checkout $TRAVIS_BRANCH; fi
- if [ "$TRAVIS_PULL_REQUEST" = "false" ] && [[ -n "$GITHUB_API_KEY" ]]; then git add -A . && git diff --cached --quiet || git commit -am "Import pending SQL update file..." -m "Referenced commit(s):$COMMIT_HASH" && git push https://$GITHUB_API_KEY@github.com/$TRAVIS_REPO_SLUG.git $TRAVIS_BRANCH; fi
# sync staging with master
- if [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ "$TRAVIS_BRANCH" = "master" ] && [[ -n "$GITHUB_API_KEY" ]]; then git fetch origin staging:staging && git checkout staging && git merge --no-edit master && git push https://$GITHUB_API_KEY@github.com/$TRAVIS_REPO_SLUG.git staging; git checkout master; fi
# - if [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ "$TRAVIS_BRANCH" = "master" ] && [[ -n "$GITHUB_API_KEY" ]]; then git fetch origin staging:staging && git checkout staging && git merge --no-edit master && git push https://$GITHUB_API_KEY@github.com/$TRAVIS_REPO_SLUG.git staging; git checkout master; fi
- source ./apps/ci/ci-before_install.sh
install:
- source ./apps/ci/ci-install.sh OFF
Expand Down Expand Up @@ -74,3 +74,11 @@ jobs:
- source ./apps/ci/ci-install-modules.sh
script:
- source ./apps/ci/ci-compile.sh

- stage: run
env: TRAVIS_BUILD_ID="3"
script:
- ./apps/ci/docker/ci-docker-config.sh
- ./bin/acore-docker-generate-etc
- ./bin/acore-docker-build-no-scripts
- docker-compose up -d ac-database
9 changes: 7 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#
# Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU AGPL3 v3 license: https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-AGPL3
#
# This file is free software; as a special exception the author gives
Expand All @@ -7,13 +8,16 @@
# 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(AzerothCore)

# Require a min version Cmake
cmake_minimum_required(VERSION 3.8)

# CMake policies (can not be handled elsewhere)
cmake_minimum_required(VERSION 2.8)
cmake_policy(SET CMP0005 OLD)
cmake_policy(SET CMP0005 NEW)

# add this options before PROJECT keyword
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
Expand Down Expand Up @@ -82,6 +86,7 @@ if( NOPCH )
set(USE_SCRIPTPCH 0)
endif()

include(ConfigureBaseTargets)
include(CheckPlatform)
include(GroupSources)
include(AutoCollect)
Expand Down
163 changes: 133 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,65 +3,168 @@
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/e61f4ea81de14b289fbf83d2b0da0c35)](https://app.codacy.com/app/FrancescoBorzi/azerothcore-wotlk?utm_source=github.com&utm_medium=referral&utm_content=azerothcore/azerothcore-wotlk&utm_campaign=Badge_Grade_Settings)
[![Master Build Status](https://travis-ci.org/azerothcore/azerothcore-wotlk.svg)](https://travis-ci.org/azerothcore/azerothcore-wotlk)
<a href="https://scan.coverity.com/projects/azerothcore-azerothcore-wotlk">
<img alt="Coverity Scan Build Status"
src="https://scan.coverity.com/projects/13814/badge.svg"/>
<img alt="Coverity Scan Build Status" src="https://scan.coverity.com/projects/13814/badge.svg"/>
</a>
[![Bountysource](https://www.bountysource.com/badge/tracker?tracker_id=40032087)](https://www.bountysource.com/teams/azerothcore/bounties)
[![StackOverflow](http://img.shields.io/badge/stackoverflow-azerothcore-blue.svg)]( https://stackoverflow.com/questions/tagged/azerothcore?sort=newest)
[![Bountysource](https://www.bountysource.com/badge/tracker?tracker_id=40032087)](https://www.bountysource.com/teams/azerothcore/bounties "Put money on issues or get paid for fixing them")
[![StackOverflow](http://img.shields.io/badge/stackoverflow-azerothcore-blue.svg)](https://stackoverflow.com/questions/tagged/azerothcore?sort=newest "Ask / browse questions here")
[![Discord](https://img.shields.io/discord/217589275766685707.svg)](https://discord.gg/gkt4y2x "Our community hub on Discord")


## Introduction
## INTRODUCTION

AzerothCore is an open source game-server application for World of Warcraft, currently supporting the 3.3.5a game version.
AzerothCore (AC) 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.
It is written in C++ and is based on MaNGOS, TrinityCore and SunwellCore.

:moneybag: You can support the project by financing the resolution of issues [using Bountysource](http://www.azerothcore.org/wiki/Bountysource).

## Why AzerothCore?
## 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)**.
1. Stability
1. Authenticity of the content
1. [Modularity](https://en.wikipedia.org/wiki/Modular_programming)
1. A lot of modules to choose from
1. Better configuration files system
1. Compatibility with other emulators
1. Friendly and helpful community

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... So we organized the structure of AzerothCore as modular as possible, giving the possibility to [create new modules](http://www.azerothcore.org/wiki/Create-a-Module) to add custom features (instead of patching the core).
#### Stability

## Learning project
As players and administrators ourselves, we take great care into the stability of our core. Other projects focus on the development side of things and tend to forget that users want stability above everything else.

AzerothCore is a learning project.
If you want to learn how to use C++, SQL, git, etc... you came to the right place! We will gladly help you: **programming is our passion**.
Hence why nobody is allowed to push commits directly to the core. All changes are reviewed and tested before they get to the `master` branch which means we need as many testers as possible to avoid stalling issues.

If you want to contribute, in [our wiki](http://www.azerothcore.org/wiki) you fill find a lot of resources that will guide you. Also you can poke us in [our discord chat server](https://discord.gg/gkt4y2x).
#### Authenticity

## Instructions & Support
Fixing and implementing missing blizzlike content is one of our priorities, and we can boast to offer the most content-complete open source emulator.
<!-- Not sure for this below -->
<!-- We were the first open source emulator to have almost every dungeon and raid working. -->

#### Modules

Modules are essential to AzerothCore's success. Modules allows users to plug them in and out easily, and do not require to modify the core files. It also means users can keep pulling the git changes from the main repository and only develop their own modules.

We have a lot of modules already made, some of them are very important and will ease your work:

* [Transmogrification](https://github.com/azerothcore/mod-transmog)
* [Eluna (lua engine) support](https://github.com/azerothcore/mod-eluna-lua-engine/ "Creator of Eluna is part of our core team")
* Full list available in the AzerothCore catalogue (link at the end)

#### Configuration files

Our configuration file system allows the user to use a tiny configuration file for better readability and maintenance.

#### Compatibility with other emulators

Not very far from its ancestor TrinityCore, most scripts can be adapted quite easily. For MaNGOS compatibility, it might require more knowledge but it shares a common base.


## PHILOSOPHY

Our main goal is to create a playable game server, offering a fully working game experience.

Here are the main points we focus on:

* Stability
* Ease of use / Practicability
* Playability (ingame content)
* Customization
* Community driven software (check our discord)

We also welcome new users (even non-english speaking users!) and help them learn / improve their skills (C++, SQL, Git, software collaboration, tutoring / wiki etc...).

Unlike other projects which focus more on the developer's side of things, we want users to be able to run their own server with as few troubles as possible. All of our contributors run their own private server (in local or not).

That's why AzerothCore is easier to use, to maintain, to understand, to develop on and to customize to suit your needs, than other emulators.

In short, we focus on the **user experience (UX)**, whether it be the **player's experience**, the **developer's experience** or the **administrator's experience**.


## HOW TO THANK US

Being an open source project, we rely on volunteers to pursue development. Here are ways to help us if you use AzerothCore:

#### Github star

Click on the "star this repository" button to help us gain more visibility on Github!

#### By contributing

Check the **CONTRIBUTING** section below.

#### Financially :moneybag:

You can support the project by financing the resolution of issues [using Bountysource](http://www.azerothcore.org/wiki/Bountysource "Bountysource explained in our wiki").

#### Advertising

By talking about us on different platforms or to people who would like to get involved.


## CONTRIBUTING

AzerothCore is a learning project, and there are lots of different ways to contribute to the project:

* By [testing our fixes](http://www.azerothcore.org/wiki/How-to-test-a-PR) (we can teach you how to correctly use Git to help us but that will also help you out tremendously)
* By developing directly to the core or to the modules
* By [creating new modules](http://www.azerothcore.org/wiki/Create-a-Module)
* By improving our wiki
* By providing direct support to our community (on discord, stackoverflow or specialized forums)
* By making extra content (video tutorial for example)
* By putting bounties on issues


If you want to contribute to the project, you will find a lot of resources that will guide you in our wiki.

Feel free to join us on [our discord chat server][discord] where we taught a lot of new people how to get started and who are now important contributors!

<!-- TO UNCOMMENT LATER -->
<!-- As we put a big emphasis on community, there are also special rewards for contributors such as reputation ranks (displayed in our discord and our website), reputation badges (to display on your project/portfolio), premium software licenses, private modules access, private tools access and a lot of small private repositories access. -->


## INSTALLATION

Installation instructions are available [here](http://www.azerothcore.org/wiki/Installation).

For help requests, it is recommended to ask your question on [StackOverflow](https://stackoverflow.com/questions/tagged/azerothcore) and link it in [our chat](https://discordapp.com/channels/217589275766685707/284406375495368704).
We also have an auto-installation bash script [here](/apps/installer/main.sh)(*Warning: try it/analyze it before running it*).

## Docker
Dockerization of AzerothCore is fully supported, and we have various community made tutorials (eg: AWS / Digital Ocean installation).

Dockerization of AzerothCore is fully supported. More details about Docker and the setup instructions are available [here](http://www.azerothcore.org/wiki/Install-with-Docker).

## Authors & Contributors
## SUPPORT

This project is brought to you thanks to:
Our self-made wiki probably has a lot of answers for you.

- The [AzerothCore developers and contributors](https://github.com/AzerothCore/azerothcore-wotlk/graphs/contributors)
For help requests, it is recommended to ask your question on [StackOverflow](https://stackoverflow.com/questions/tagged/azerothcore) and link it in [our chat](https://discordapp.com/channels/217589275766685707/284406375495368704).


## AUTHORS & CONTRIBUTORS

This project exists thanks to:

- **The [AzerothCore developers and contributors](https://github.com/AzerothCore/azerothcore-wotlk/graphs/contributors)**
- The [SunwellCore developers xinef and pussywizard](http://www.azerothcore.org/pages/sunwell.pl/)
- 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)

## License

- The new AzerothCore source components are released under the [GNU AGPL v3](https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-AGPL3)
- The old sources based on MaNGOS/TrinityCore are released under the [GNU GPL v2](https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-GPL2)
## IMPORTANT LINKS

## Links
- [Website](http://www.azerothcore.org/)
- [AzerothCore catalogue](http://www.azerothcore.org/modules-catalogue/ "Modules, tools, and other things for AzerothCore") (modules, tools etc...)
- [Module template / Module skeleton](https://github.com/azerothcore/skeleton-module/)
- [Our community hub (Discord)](https://discord.gg/gkt4y2x)
- [Our wiki](http://www.azerothcore.org/wiki "Easy to use and developed by AzerothCore founder")
- [Our facebook page](https://www.facebook.com/AzerothCore/)

- [Website](https://azerothcore.github.io/)

## SPONSORS

## Sponsors

List of organizations that help the AzerothCore project:
List of organizations that help AzerothCore:

[![JetBrains](https://user-images.githubusercontent.com/75517/51205146-7f225c80-1905-11e9-82e0-835627be170d.png)](https://www.jetbrains.com/?from=AzerothCore)


## LICENSE

- The new AzerothCore source components are released under the [GNU AGPL v3](https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-AGPL3)
- The old sources based on MaNGOS/TrinityCore are released under the [GNU GPL v2](https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-GPL2)
9 changes: 2 additions & 7 deletions apps/ci/ci-before_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ set -e

if [ "$TRAVIS_BUILD_ID" = "1" ]
then
export CCOMPILERC="clang-3.8"
export CCOMPILERCXX="clang++-3.8"
export CCOMPILERC="clang-6.0"
export CCOMPILERCXX="clang++-6.0"

echo "set root password"
export DB_RND_NAME=$(cat /dev/urandom | tr -dc 'a-z' | fold -w 5 | head -n 1)
Expand All @@ -18,9 +18,4 @@ elif [ "$TRAVIS_BUILD_ID" = "2" ]
then
export CCOMPILERC="clang-7"
export CCOMPILERCXX="clang++-7"

echo "add custom APT repository llvm-toolchain-xenial-7"
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update -qq
fi
2 changes: 1 addition & 1 deletion apps/ci/ci-install-modules.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -e

echo "install modules"
git clone --depth=1 --branch=master --recursive https://github.com/azerothcore/mod-eluna-lua-engine.git modules/mod-eluna-lua-engine
git clone --depth=1 --branch=master https://github.com/azerothcore/mod-vas-autobalance.git modules/mod-vas-autobalance
git clone --depth=1 --branch=master https://github.com/azerothcore/mod-autobalance.git modules/mod-autobalance
git clone --depth=1 --branch=master https://github.com/azerothcore/mod-transmog.git modules/mod-transmog
git clone --depth=1 --branch=master https://github.com/azerothcore/mod-npc-beastmaster.git modules/mod-npc-beastmaster
git clone --depth=1 --branch=master https://github.com/azerothcore/mod-duel-reset.git modules/mod-duel-reset
Expand Down
4 changes: 2 additions & 2 deletions apps/ci/ci-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ bash ./acore.sh "install-deps"

if [ "$TRAVIS_BUILD_ID" = "1" ]
then
echo "install clang-3.8"
sudo apt-get install clang-3.8
echo "install clang-6.0"
sudo apt-get install clang-6.0
elif [ "$TRAVIS_BUILD_ID" = "2" ]
then
echo "install clang-7"
Expand Down
11 changes: 11 additions & 0 deletions apps/ci/docker/.env.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
WORLDSERVER_DATA=./docker/worldserver/data
WORLDSERVER_ETC=./docker/worldserver/etc
WORLDSERVER_LOGS=./docker/worldserver/logs

AUTHSERVER_ETC=./docker/authserver/etc
AUTHSERVER_LOGS=./docker/authserver/logs

WORLD_EXTERNAL_PORT=8085
AUTH_EXTERNAL_PORT=3724
DB_EXTERNAL_PORT=9000
DB_ROOT_PASSWORD=password
3 changes: 3 additions & 0 deletions apps/ci/docker/ci-docker-config.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

cp apps/ci/docker/.env.dist .env
2 changes: 1 addition & 1 deletion apps/installer/includes/functions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,6 @@ function inst_download_client_data {
local path="$AC_BINPATH_FULL"

echo "Downloading client data in: $path/data.zip ..."
curl -L https://github.com/wowgaming/client-data/releases/download/v5/data.zip > "$path/data.zip" \
curl -L https://github.com/wowgaming/client-data/releases/download/v7/data.zip > "$path/data.zip" \
&& unzip -o "$path/data.zip" -d "$path/" && rm "$path/data.zip"
}
9 changes: 9 additions & 0 deletions bin/acore-docker-build-no-scripts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/usr/bin/env bash

docker build --build-arg ENABLE_SCRIPTS=0 -t acbuild -f docker/build/Dockerfile .

docker run \
-v /$(pwd)/docker/build/cache:/azerothcore/build \
-v /$(pwd)/docker/worldserver/bin:/binworldserver \
-v /$(pwd)/docker/authserver/bin:/binauthserver \
acbuild
6 changes: 3 additions & 3 deletions conf/config.sh.dist
Original file line number Diff line number Diff line change
Expand Up @@ -152,17 +152,17 @@ DB_MYSQL_DUMP_EXEC="mysqldump"

DB_AUTH_CONF="MYSQL_USER='acore'; \
MYSQL_PASS='acore'; \
MYSQL_HOST='127.0.0.1';\
MYSQL_HOST='localhost';\
"

DB_CHARACTERS_CONF="MYSQL_USER='acore'; \
MYSQL_PASS='acore'; \
MYSQL_HOST='127.0.0.1';\
MYSQL_HOST='localhost';\
"

DB_WORLD_CONF="MYSQL_USER='acore'; \
MYSQL_PASS='acore'; \
MYSQL_HOST='127.0.0.1';\
MYSQL_HOST='localhost';\
"

DB_AUTH_NAME="acore_auth"
Expand Down

This file was deleted.

Loading

0 comments on commit b7b41d8

Please sign in to comment.