Guide to build Playerbot - playerbot/mangos GitHub Wiki
Playerbot code is currently available for MaNGOS , MaNGOS Zero , MaNGOS One MangosR2 , CMaNGOS-WotLK , CMaNGOS-TBC , and CMaNGOS-Classic cores.
This is tried and tested code (full support provided):
- Playerbot(blueboy/portal) for CMaNGOS-WotLK
- Playerbot(blueboy/portal) for CMaNGOS-TBC
- Playerbot(blueboy/portal) for CMaNGOS-Classic
- Playerbot for MaNGOS
- Playerbot for MaNGOS Zero
- Currently unavailable (Please use Beta Test Code)
- Playerbot for MaNGOS One
- Currently unavailable (Please use Beta Test Code)
- Playerbot for MangosR2
- Currently unavailable (Please use Beta Test Code)
This code is generally available for testing (full support provided):
- Playerbot for MaNGOS
- Playerbot for MaNGOS Zero
- Playerbot for MaNGOS One
- Playerbot for MangosR2
In addition to the Beta Test Code (master branch), there are several branches that hold code in raw development. These represent the latest Playerbot ideas, and are not guaranteed (minimal support provided, feedback is for developer’s information only). A full list of available branches can be obtained from:
- Playerbot for MaNGOS
- Playerbot for MaNGOS Zero
- Playerbot for MaNGOS One
You will need the git utility to be installed on your system to obtain the above code
In order to build Playerbot with either core, it is first necessary to merge the code.
This can be done directly or by applying a prepared patch.
1. Obtain appropriate core.
MaNGOS
git clone git://github.com/mangos/mangos.git <local repository>
The default local repository will be called mangos, but you can change this to suite
MaNGOS Zero
git clone git://github.com/mangos-zero/server.git <local repository>
The default local repository will be called server, but you can change this to suite
MaNGOS One
git clone git://github.com/mangos-one/server.git <local repository>
The default local repository will be called server, but you can change this to suite
ManagosR2
git clone git://github.com/mangosR2/mangos.git <local repository>
The default local repository will be called mangos, but you can change this to suite
2. Merging relevant Playerbot Code from the links given above. It is assumed that the core code
is either clean or contains only playerbot code, previously merged (i.e. no other third party code).
cd <local repository>
git pull git://github.com/playerbot/mangos.git <branch name>
The branch name will be an online branch, either master or a code sub-branch
3. If you wish to update an existing local repository, then repeat instruction 2. All changes since
the last merge will then be merged into the local repository
If no changes have occured, then you will be told
From git://github.com/playerbot/mangos.git * branch <branch name> -> FETCH_HEAD Already up-to-date.
Playerbot(blueboy/portal) for CMaNGOS-WotLK (full patch)
Run the following script
#!/bin/bash -x git clone git://github.com/cmangos/mangos-wotlk.git mangos cd mangos git fetch git://github.com/blueboy/portal.git master:portal git checkout portal HASH=`git log --pretty=oneline | grep -m 1 '\[[0-9]\{5\}]' | cut -d " " -f 1` git diff $HASH > playerbot.patch
Playerbot for CMaNGOS-TBC (full patch)
Run the following script
#!/bin/bash -x git clone git://github.com/cmangos/mangos-tbc.git mangos cd mangos git fetch git://github.com/blueboy/portaltbc.git master:portaltbc git checkout portaltbc HASH=`git log --pretty=oneline | grep -m 1 '\[[0-9]\{5\}]' | cut -d " " -f 1` git diff $HASH > playerbot-tbc.patch
Playerbot(blueboy/portal) for CMaNGOS-Classic (full patch)
Run the following script
#!/bin/bash -x git clone git://github.com/cmangos/mangos-classic.git mangos cd mangos git fetch git://github.com/blueboy/portalclassic.git master:portalclassic git checkout portalclassic HASH=`git log --pretty=oneline | grep -m 1 '\[[0-9]\{5\}]' | cut -d " " -f 1` git diff $HASH > playerbot-classic.patch
Playerbot for MaNGOS (full patch)
Run the following script
#!/bin/bash -x git clone git://github.com/mangos/mangos.git playerbot cd playerbot git fetch git://github.com/playerbot/mangos.git master:playerbot git checkout playerbot HASH=`git log --pretty=oneline | grep -m 1 '\[[0-9]\{5\}]' | cut -d " " -f 1` git diff $HASH > playerbot.patch
Playerbot for MaNGOS Zero (full patch)
Run the following script
#!/bin/bash -x git clone git://github.com/mangos-zero/server.git portal_zero_patch cd portal_zero_patch git fetch git://github.com/blueboy/portalzero.git master:portalzero git checkout portalzero HASH=`git log --pretty=oneline | grep -m 1 '\[z[0-9]\{4\}]' | cut -d " " -f 1` git diff $HASH > playerbot_zero.patch
Playerbot for MaNGOS One (full patch)
Run the following script
#!/bin/bash -x git clone git://github.com/mangos-one/server.git portal_one_patch cd portal_one_patch git fetch git://github.com/blueboy/portalone.git master:portalone git checkout portalone HASH=`git log --pretty=oneline | grep -m 1 '\[s[0-9]\{4\}]' | cut -d " " -f 1` git diff $HASH > playerbot_one.patch
Playerbot for MangosR2 (full patch)
Run the following script
#!/bin/bash -x git clone git://github.com/mangosR2/mangos.git portalR2 cd portalR2 git fetch git://github.com/blueboy/portalR2.git master:portalR2 git checkout portalR2 HASH=`git log --pretty=oneline | grep -m 1 '\[mr[0-9]\{4\}]' | cut -d " " -f 1` git diff $HASH > portalR2.patch
copy the patch created to the local repository
cd <local repository>
git apply --check --whitespace=fix <prepared patch>
The —check option does a dumby run, to check for conflicts. If none, remove and apply again.
If you follow the instructions above, it is unlikely that you will experience any merge conflicts.
However if you do, please contact support Playerbot Thread
Once you have applied the Playerbot code successfully to the core, proceed with the build normally, according to your system.