Aura is a Warcraft III hosting-bot based on GHost++ by Varlock. It's a complete overhaul with speed and efficiency in mind and packed with fewer dependencies.
Removed features from GHost++:
- No MySQL support
- No autohost
- No admin game
- No language.cfg
- No W3MMD support
- No replay saving
- No save/load games
- No BNLS support
- No boost required
Other changes:
- Uses C++14
- Single-threaded
- Has a Windows 64-bit build
- Uses SQLite and a different database organization.
- Tested on OS X (see Building -> OS X for detailed requirements)
- A lot of code removed, about 1 MB smaller binary on Linux
- Updated libraries: StormLib, SQLite, zlib
- Connects to and can be controlled via IRC
- Using aggressive optimizations
- Up to 11 fakeplayers can be added.
- Uses DotA stats automagically on maps with 'DotA' in the filename
- Auto spoofcheck in private games on PvPGNs
- More commands added either ingame or bnet
- Checked with various tools such as clang-analyzer and cppcheck
The bot runs on little-endian Linux (32-bit and 64-bit), Windows (32-bit and 64-bit) and OS X (64-bit Intel CPU) machines.
Windows users must use VS2015 or later. Visual Studio 2015 Community edition works.
Neccessary .sln and .vcxproj files are provided. Before building, choose the Release configuration and Win32 or x64 as the platform.
The binary shall be generated in the ..\aura-bot\aura\Release
folder.
Note: When installing Visual Studio select in the Desktop development with C++
category the Windows 8.1 SDK
or Windows 10 SDK
(depending on your OS version), and, if running with VS2017 or newer, also the VC++ 2015.3 v140 toolset for desktop (x86, x64)
.
Linux users will probably need some packages for it to build:
- Debian/Ubuntu --
apt-get install git build-essential m4 libgmp3-dev cmake libbz2-dev zlib1g-dev
- Arch Linux --
pacman -S base-devel cmake
For building StormLib execute the following commands (line by line):
cd aura-bot/StormLib
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_DYNAMIC_MODULE=1 ..
make
sudo make install
Continue building bncsutil:
cd ../..
cd bncsutil/src/bncsutil
make
sudo make install
Then proceed to build Aura:
cd ../../..
make
Now you can run Aura by executing ./aura++
or install it to your path using sudo make install
.
Note: gcc version needs to be 5 or higher along with a compatible libc.
Note: clang needs to be 3.6 or higher along with ld gold linker (ie. package binutils-gold for ubuntu)
Note: StormLib installs itself in /usr/local/lib
which isn't in PATH by default
on some distros such as Arch or CentOS.
- OSX ≥10.9, possibly even higher for necessary C++14 support. It is verified to work and tested on OSX 10.11.
- Latest available Xcode for your platform and/or the Xcode Command Line Tools. One of these might suffice, if not just get both.
- A recent
libgmp
.
You can use Homebrew to get libgmp
. When you are at it, you can also use it to install StormLib instead of compiling it on your own:
brew install gmp
brew install stormlib # optional
Now proceed by following the steps for Linux users and omit StormLib in case you installed it using brew
.
Modify the aura.cfg
file to configure the bot to your wishes.
- Varlock -- the author of the GHost++ bot
- Argon- -- suggestions, code, bug fixes, testing and OS X support
- Joakim -- testing and bug reports
- PhillyPhong -- testing and bug reports
That would be lovely.
- Fork it.
- Create a branch (
git checkout -b my_aura
) - Commit your changes (
git commit -am "Fixed a crash when using GProxy++"
) - Push to the branch (
git push origin my_aura
) - Create an Issue with a link to your branch or make Pull Request
- Enjoy a beer and wait