Giter Site home page Giter Site logo

sfarmani / aura-bot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from josko/aura-bot

1.0 0.0 1.0 18.84 MB

Warcraft III high-performance hosting bot written in C++14.

Makefile 0.03% CMake 0.13% C++ 13.85% C 80.50% Objective-J 5.43% Batchfile 0.03% Lua 0.03%

aura-bot's Introduction

Aura

Build Status Build Status Build Status

Fork of Josko's aura-bot

This is a fork of Josko's with the following changes:

  • Support for 1.28.5 according to this issue comment
  • Added game owner and root admin protection so they can't be kicked or bullied by regular admins
  • Show commands to all players when a command is given
  • Added startnow command
  • Newest PG readable StormLib added

Overview

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

Multi-platform

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.

Building

Windows

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

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

Steps

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 ~/aura-bot/bncsutil/src/bncsutil/
make
sudo make install

Then proceed to build Aura:

cd ~/aura-bot/
make
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.

OS X

Requirements

  • 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.

Configuring

Modify the aura.cfg file to configure the bot to your wishes.

Credits

  • 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

Contributing

That would be lovely.

  1. Fork it.
  2. Create a branch (git checkout -b my_aura)
  3. Commit your changes (git commit -am "Fixed a crash when using GProxy++")
  4. Push to the branch (git push origin my_aura)
  5. Create an Issue with a link to your branch or make Pull Request
  6. Enjoy a beer and wait

aura-bot's People

Contributors

josko avatar sfarmani avatar hedede avatar argon- avatar fornever avatar luciouskami avatar

Stargazers

Panyakorn Saelee avatar

Forkers

nhatnhat011

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.