ported double tracking from TC

This commit is contained in:
mikx
2020-10-30 23:45:46 -04:00
commit 44b1f31c23
4914 changed files with 4961129 additions and 0 deletions

76
.github/CODE_OF_CONDUCT.md vendored Normal file
View File

@@ -0,0 +1,76 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the admin team at https://discord.gg/gkt4y2x. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq

43
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,43 @@
## 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 the modules
* By reporting bugs within the project
* 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](https://discord.gg/gkt4y2x) where we taught a lot of new people how to get started and who are now important contributors!
## 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/AUTHORS)
- All the [MaNGOS, ScriptDev2 and UDB developers and contributors](https://github.com/cmangos/mangos-wotlk/blob/master/AUTHORS.md)
## IMPORTANT LINKS
<!-- Remove if the PR 3210 is accepted
- [Code of Conduct](https://github.com/azerothcore-wotlk/.github/code_of_conduct.md
-->
- [Website](http://www.azerothcore.org/)
- [AzerothCore catalogue](http://www.azerothcore.org/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/)
- [Our LinkedIn page](https://www.linkedin.com/company/azerothcore/)
The AzerothCore Staff appreciate all the help and contribution that *you* put your time into.
Thank you!

95
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,95 @@
---
name: Bug report
about: Create a report to help us improve.
title: ''
labels: ''
assignees: ''
---
<!-- IF YOU DO NOT FILL THIS TEMPLATE OUT, WE WILL CLOSE YOUR ISSUE! -->
<!-- This template is for problem reports, for feature suggestion etc... feel free to edit it.
If this is a crash report, upload the crashlog on https://gist.github.com/
For issues containing a fix, please create a Pull Request following this tutorial: http://www.azerothcore.org/wiki/Contribute#how-to-create-a-pull-request -->
<!-- WRITE A RELEVANT TITLE -->
##### CURRENT BEHAVIOUR:
<!-- Describe the bug in detail. Database to link spells, NPCs, quests etc https://wowgaming.altervista.org/aowow/ -->
##### EXPECTED BLIZZLIKE BEHAVIOUR:
<!-- Describe how it should be working without the bug. -->
##### STEPS TO REPRODUCE THE PROBLEM:
<!-- Describe precisely how to reproduce the bug so we can fix it or confirm its existence:
- Which commands to use? Which NPC to teleport to?
- Do we need to have debug flags on Cmake?
- Do we need to look at the console while the bug happens?
- Other steps
-->
1.
2.
3.
##### EXTRA NOTES:
<!--
Any information that can help the developers to identify and fix the issue should be put here.
Examples:
- was this bug always present in AzerothCore? if it was introduced after a change, please mention it
- the code line(s) that cause the issue
- does this feature work in other server appplications (e.g. CMaNGOS, TrinityCore, etc...) ?
-->
##### AC HASH/COMMIT:
<!-- IF YOU DO NOT FILL THIS OUT, WE WILL CLOSE YOUR ISSUE! NEVER WRITE "LATEST", ALWAYS PUT THE ACTUAL VALUE INSTEAD.
Find the commit hash (unique identifier) by running "git log" on your own clone of AzerothCore or by looking at here https://github.com/azerothcore/azerothcore-wotlk/commits/master -->
##### OPERATING SYSTEM:
<!-- Windows 7/10, Debian 8/9/10, Ubuntu 16/18 etc... -->
##### MODULES:
<!-- Are you using modules? If yes, list them (note them down in a .txt for opening future issues) -->
##### OTHER CUSTOMIZATIONS:
<!-- Are you using any extra script?
- Did you apply any core patch/diff?
- Did you modify your database?
- Or do you have other customizations? If yes please specify them here.
-->
<!-- ------------------------- THE END ------------------------------
Thank you for your contribution.
If you use AzerothCore regularly, we really NEED your help to:
- TEST our fixes ( http://www.azerothcore.org/wiki/Contribute#how-to-test-a-pull-request )
- Report issues
- Improve the documentation/wiki
With your help the project can evolve much quicker!
-->
<!-- NOTE: If you intend to contribute more than once, you should really join us on our discord channel! We set cosmetic ranks for our contributors and may give access to special resources/knowledge to them! The link is on our site http://azerothcore.org/
-->

13
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
blank_issues_enabled: false
contact_links:
- name: Website
url: http://www.azerothcore.org
- name: Wiki
url: azerothcore.org/wiki
about: You can find plenty of information on our Wiki.
- name: How to ask for help
url: https://www.azerothcore.org/wiki/How-to-ask-for-help
about: Before submitting an issue we'd love if you take a minute to read this.
- name: Discord
url: https://discord.gg/gkt4y2x
about: Join the discussions over at our Discord Server.

View File

@@ -0,0 +1,35 @@
---
name: Feature request
about: Suggest an idea for this project
title: 'Feature: '
labels: Suggestion
assignees: ''
---
<!-- IF YOU DO NOT FILL THIS TEMPLATE OUT, WE WILL CLOSE YOUR ISSUE! -->
<!-- This template is made for feature requests or suggestions on the project only. -->
**Describe your feature request or suggestion in detail**
<!-- A clear and concise description of what you want to happen. -->
**Describe a possible solution to your Feature or Suggestion in detail**
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
**Additional context**
<!-- Add any other context or screenshots about the feature request here. -->
<!-- ------------------------- THE END ------------------------------
Thank you for your contribution.
If you use AzerothCore regularly, we really NEED your help to:
- TEST our fixes ( http://www.azerothcore.org/wiki/Contribute#how-to-test-a-pull-request )
- Report issues
- Improve the documentation/wiki
With your help, the project can evolve much quicker!
-->
<!-- NOTE: If you intend to contribute more than once, you should really join us on our discord channel! We set cosmetic ranks for our contributors and may give access to special resources/knowledge to them! The link is on our site http://azerothcore.org/
-->

34
.github/SECURITY.md vendored Normal file
View File

@@ -0,0 +1,34 @@
# Security Policy
## Supported Versions
We support these versions of AzerothCore:
| AzerothCore Branch | Supported |
| ------------------ | ------------------ |
| master | :white_check_mark: |
We support these versions of MySQL:
| MySQL Version | Supported |
| ------------- | ------------------ |
| 5.6 | :white_check_mark: |
| 5.7 | :white_check_mark: |
| 8.0 | :white_check_mark: |
We support these versions of MariaDB:
| MariaDB Version | Supported |
| --------------- | ------------------ |
| 10.2 | :white_check_mark: |
| 10.3 | :white_check_mark: |
| 10.4 | :white_check_mark: |
| 10.5 | :white_check_mark: |
Note: We do not support any repacks that may or may not have been made based on AzerothCore.
## Reporting a Vulnerability
We class a vulnerability to be any hack or exploit that has an impact on the server performance or that gives unfair advantages in the game (e.g fly hacking or injection tools).
If a new vulnerability is found you should always create a new [bug report](https://github.com/azerothcore/azerothcore-wotlk/issues/new/choose).

97
.github/SUPPORT.md vendored Normal file
View File

@@ -0,0 +1,97 @@
# How to ask for help
### Need help?
Do you need support with AzerothCore? No worries, we're happy to help you!
Whether you have troubles installing AzerothCore, or you want to ask how-to or generic help questions, **we will help you**.
We just want you to ask for support in the **proper way**. Please read this document before asking for any help.
### Why is the "proper way" so important?
If you ask a question directly in the chat, it can get easily lost and you might never be helped unless there is someone online in that specific moment that can help you.
If you put your question on StackOverflow it will **stay** there and someone can help you at any moment. You can also link your question in the chat to give it more visibility. Doesn't make sense for you? Just keep reading.
Also, most of the questions asked by users are repetitive. So we need an efficient way to handle all the support requests. We use StackOverflow for support questions and GitHub for bug reports.
Sounds complicated? Not at all! **Just keep reading**.
### Bug reports
A game feature (e.g. spell/quest/talent/etc..) doesn't work as it is supposed to?
Congratulations! You've just found a bug, please search among the [existing issues](https://github.com/azerothcore/azerothcore-wotlk/issues). There is a good chance that someone else has already reported the same bug that you found, in such case we kindly ask you to "confirm" it by leaving a comment.
Example:
![AzerothCore example issue search](https://user-images.githubusercontent.com/75517/51130957-9b9f9580-182e-11e9-8f7f-11aa5d7b6d67.png)
If after searching for an existing issue report, you didn't find any, then you should [open a new issue](https://github.com/azerothcore/azerothcore-wotlk/issues/new).
### Other support requests
- Getting an error while installing AzerothCore?
- Is there something in the documentation that is not clear for you?
- Do you want to know how to do something specific with AzerothCore?
- Are you trying to do something like implementing a new feature, fixing a bug, etc...?
- Do you have questions about C++ or SQL code that is related to AzerothCore or other AC custom modules?
These kinds of questions are considered support questions and are handled via [StackOverflow](https://stackoverflow.com/questions/tagged/azerothcore). **Read below**
### Do I need to register in StackOverflow?
**Not necessarily!** If you have a Google or a Facebook account, you can already log in [StackOverflow](https://stackoverflow.com/questions/tagged/azerothcore) (click the **_Log in_** button on the top-right corner of the website).
![image](https://user-images.githubusercontent.com/75517/51560794-d84e3b00-1e85-11e9-8510-6f1dd0b33d18.png)
### Search among the existing questions
There is a good chance that your question has already been asked by someone else, so please **search** it on [StackOverflow](https://stackoverflow.com/questions/tagged/azerothcore).
For example, are you getting an error from MySQL? Search it under the **[azerothcore]** tag!
![image](https://user-images.githubusercontent.com/75517/51131779-f0dca680-1830-11e9-8ccc-ef10ee8855a6.png)
Oh, there is already a question! And it has an answer! Let's open it!
![image](https://user-images.githubusercontent.com/75517/51132034-85df9f80-1831-11e9-9cc9-3eaee236396e.png)
**Another example**, imagine you're wondering whether you can use LUA scripts on AzerothCore:
![image](https://user-images.githubusercontent.com/75517/51131089-f802b500-182e-11e9-9b5d-a438172b22ea.png)
There is already a question and answer for that! Let's upvote the guys who asked and answered:
![image](https://user-images.githubusercontent.com/75517/51131658-ac510b00-1830-11e9-98dc-e7f3ef0da058.png)
## How to ask new questions
What if you can't find a question related to my specific problem? **Let's [open a new question](https://stackoverflow.com/questions/ask)**.
Remember to:
- Add a descriptive message.
- **Bad** example `I got DB error plz help me`.
- **Good** example: `After importing the sql updates, I get the error "XXX"`
- Don't forget the **[azerothcore]** tag!
- ![image](https://user-images.githubusercontent.com/75517/51132313-364da380-1832-11e9-8483-3bb6898d438a.png)
- It's useful to add **4 more tags** according to the category of your question (e.g. `c++`, `docker`, `MySQL`, `sql`, etc... ).
- Link your question in the #support-general channel of our [Discord chat](https://discordapp.com/channels/217589275766685707/284406375495368704)
- Read: [stackoverflow.com/help/how-to-ask](https://stackoverflow.com/help/how-to-ask)
### Share your knowledge!
Do you have anything to share with the community? Do you feel like some information could be useful to someone else (or to yourself in the future)? Have you solved a problem that took a while to figure out?
Ask a question on StackOverflow and then **answer it yourself**! Is it allowed? Yes, it is! Read this:
[https://stackoverflow.com/help/self-answer](https://stackoverflow.com/help/self-answer)

157
.github/workflows/core_build.yml vendored Normal file
View File

@@ -0,0 +1,157 @@
name: core-build
on:
push:
branches:
- '**' # matches every branch
- '!coverity_scan' # excludes coverity_scan
pull_request:
jobs:
build:
strategy:
fail-fast: false
matrix:
# the result of the matrix will be the combination of all attributes, so we get os*compiler*modules builds
os: [ubuntu-20.04]
compiler: [clang6, clang9, clang10]
modules: [with, without]
# we can include specific combinations here
include:
- os: ubuntu-18.04
compiler: clang
modules: without
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.modules }}-modules
env:
COMPILER: ${{ matrix.compiler }}
steps:
- uses: actions/checkout@v2
- name: Checkout modules
run: ./apps/ci/ci-install-modules.sh
if: matrix.modules == 'with'
- name: Cache
uses: actions/cache@v2
with:
path: /home/runner/.ccache
key: ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ matrix.modules }}-modules:${{ github.ref }}:${{ github.sha }}
restore-keys: |
ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ matrix.modules }}-modules:${{ github.ref }}
ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ matrix.modules }}-modules
- name: Configure OS
run: source ./apps/ci/ci-install.sh
env:
CONTINUOUS_INTEGRATION: true
- name: Import db
run: source ./apps/ci/ci-import-db.sh
- name: Build
run: source ./apps/ci/ci-compile.sh
- name: Dry run
run: source ./apps/ci/ci-worldserver-dry-run.sh
- name: Check startup errors
run: source ./apps/ci/ci-error-check.sh
- name: Run unit tests
run: source ./apps/ci/ci-run-unit-tests.sh
mac-build:
strategy:
fail-fast: false
runs-on: macos-10.15
name: macos-10.15
steps:
- uses: actions/checkout@v2
- name: Cache
uses: actions/cache@v1.1.2
with:
path: /Users/runner/.ccache
key: ccache:macos-10.15:${{ github.ref }}:${{ github.sha }}
restore-keys: |
ccache:macos-10.15:${{ github.ref }}
ccache:macos-10.15
- name: Configure OS
run: source ./apps/ci/mac/ci-install.sh
- name: Build
run: source ./apps/ci/mac/ci-compile.sh
- name: Run unit tests
run: source ./apps/ci/ci-run-unit-tests.sh
windows-build:
strategy:
fail-fast: false
runs-on: windows-2019
name: windows-2019-MSVC16
steps:
- uses: actions/checkout@v2
- name: Configure OS
run: choco install --no-progress openssl
- name: Build
shell: bash
run: |
mkdir -p build && cd build
cmake .. -DTOOLS=ON
cmake --build . --config Release --parallel 4
- name: Copy dll files
shell: bash
run: |
cp "/c/mysql-5.7.21-winx64/lib/libmysql.dll" "build/bin/Release/"
cp "/c/Program Files/OpenSSL-Win64/bin/libcrypto-1_1-x64.dll" "build/bin/Release/"
cp "/c/Program Files/OpenSSL-Win64/bin/libssl-1_1-x64.dll" "build/bin/Release/"
- uses: actions/upload-artifact@v2
with:
name: windows-2019-MSVC16-release
path: build/bin/Release
docker-build:
strategy:
fail-fast: true
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Configure
run: |
docker --version
docker-compose --version
- name: Build
run: |
./bin/acore-docker-build-no-scripts
docker-worldserver:
strategy:
fail-fast: true
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Configure
run: |
docker --version
docker-compose --version
- name: Build
run: |
docker build -t azerothcore/worldserver -f docker/worldserver/Dockerfile docker/worldserver
docker-authserver:
strategy:
fail-fast: true
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Configure
run: |
docker --version
docker-compose --version
- name: Build
run: |
docker build -t azerothcore/authserver -f docker/authserver/Dockerfile docker/authserver
docker-database:
strategy:
fail-fast: true
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Configure
run: |
docker --version
docker-compose --version
- name: Build
run: |
docker build -t azerothcore/database -f docker/database/Dockerfile .

View File

@@ -0,0 +1,34 @@
name: import-pending-sql
on:
push:
branches:
- master
jobs:
import-pending-sql:
strategy:
fail-fast: false
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
persist-credentials: false
- name: Extract branch name
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
id: extract_branch
- name: Import and commit pending sql
run: |
git config user.email "azerothcorebot@gmail.com" && git config user.name "AzerothCoreBot"
cd bin/
source acore-db-pendings
cd ..
git fetch --unshallow origin ${BRANCH}
git add -A .
git commit -am "chore(DB): import pending SQL update file" -m "Referenced commit(s): ${GITHUB_SHA}" || true
env:
BRANCH: ${{ steps.extract_branch.outputs.branch }}
- name: Push changes
uses: ad-m/github-push-action@fe38f0a751bf9149f0270cc1fe20bf9156854365
with:
github_token: ${{ secrets.AC_GITHUB_TOKEN }}
branch: ${{ steps.extract_branch.outputs.branch }}