Skip to content
GHost++, the Warcraft III game hosting bot
C C++ Assembly Visual Basic Objective-C CMake Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CascLib Added casclib Aug 30, 2018
StormLib Added stormlib update from fork (BogdanW3/StormLib) Aug 31, 2018
bncsutil Removed build files from repository Aug 30, 2018
ghost configurator updated ghost configurator Jun 9, 2010
ghost Final implemented automatic cascfile extraction Aug 31, 2018
mapcfgs fixed the "GameType" value being set incorrectly (using Strilanc's sp… Apr 7, 2010
mysql directory structure modifications Feb 24, 2009
update_dota_elo update_dota_elo now outputs release exe's to the main ghost directory Sep 11, 2009
update_w3mmd_elo update_dota_elo now outputs release exe's to the main ghost directory Sep 11, 2009
zlib added support for savegames Nov 4, 2008
.gitignore Add .gitignore. Apr 16, 2018
BNCSutil.dll read the config file on the command line Nov 1, 2008
MANUAL Move old readme to MANUAL, and create new concise README. Jan 13, 2018
README.md README fix Oct 28, 2018
changelog.txt Add some uncomitted changes. Jan 13, 2018
default.cfg Updates for 1.29 patch. Apr 16, 2018
gameloaded.txt Add some uncomitted changes. Jan 13, 2018
gameover.txt Add some uncomitted changes. Jan 13, 2018
ghost dynamic configurator.exe updated ghost configurator Jun 9, 2010
ghost.exe Recompiled ghost 17.2 for windows May 1, 2018
ghost.sln removed replay_stitcher Nov 9, 2009
ip-to-country.csv Taking SVN revision from 591 to 596, also implemented synchronization… Aug 8, 2012
ipblacklist.txt stopped queueing chat commands if too many (more than 10) packets are… May 18, 2009
language.cfg changed "forum.codelain.com" to "www.codelain.com" Feb 15, 2010
language_german.cfg added missing new lins 214 to 220 Mar 25, 2010
language_russian.cfg Fix grammatical errors in russian language Sep 5, 2010
language_spanish.cfg
language_turkish.cfg added turkish language config made by HellGuy Sep 3, 2009
libmysql.dll added precompiled boost libraries for MSVC Feb 24, 2009
license.txt initial commit of ghost++ version 10.2 Oct 28, 2008
mysql_create_tables_experimental.sql v3 to experimental Mar 21, 2011
mysql_create_tables_v1.sql added initial support for automatic matchmaking Mar 29, 2009
mysql_create_tables_v2.sql updated SQLite to version 3.6.12 Apr 13, 2009
mysql_upgrade_v1-v2.sql updated SQLite to version 3.6.12 Apr 13, 2009
update_dota_elo.cfg added update_dota_elo/Makefile Apr 1, 2009
update_dota_elo.exe
update_w3mmd_elo.cfg added default update_w3mmd_elo.cfg Aug 3, 2009
update_w3mmd_elo.exe updated version to 17.1 Jun 1, 2010
zlib1.dll added support for savegames Nov 4, 2008

README.md

GHost++

GHost++ is a Warcraft III game hosting bot. As the original project on Google Code is no longer available, https://github.com/uakfdotb/ghostpp contains the most "official" version of GHost++.

GHost++ is no longer actively maintained. Nevertheless, GHost++ remains widely used for hosting Warcraft III games, and there are no major known bugs.

Here are alternatives that are actively being developed as of 31 August 2018:

  • Aura: simple bot to host games from a server, with greatly modernized core but with many features (MySQL support, autohosting) stripped out
  • maxemann96/ghostpp: a few additional features like votestart, commands from terminal

1.30 Note

For 1.30, put Warcraft III.exe in the bot_war3path. (You should name it Warcraft III.exe to avoid Battle.net connection issues, but you may also name it warcraft.exe.)

For automatic extraction of common.j and blizzard.j Also put the entire Data Subdirectory and the file .build.info in bot_war3path. (Actually, it is recommended that you extract common.j and blizzard.j yourself and put them in bot_mapcfgpath, since the new CASC file is very large.)

War3Patch.mpq, War3x.mpq, war3.exe, game.dll, and storm.dll are no longer needed.

Bot hanging on authenticating? The bncsutil in this repository has recently been updated, and fixes a bug in the authentication step that occasionally causes hanging. So try recompiling bncsutil.

1.29 Note

For 1.29, put Warcraft III.exe in the bot_war3path. You may name it Warcraft III.exe or warcraft.exe.

war3.exe, game.dll, and storm.dll are no longer needed.

Also, use War3x.mpq instead of War3Patch.mpq. (Actually, it is recommended that you extract common.j and blizzard.j yourself and put them in bot_mapcfgpath, since the new MPQ file is very large. Make sure to also exclude War3x.mpq from bot_war3path so that the host bot does not attempt to read the archive.)

Compilation

GHost++ depends on cmake, libboost, libgmp, zlib, libbz2, and libmysqlclient. These steps should suffice to compile GHost++ on Ubuntu 16.04:

sudo apt-get install -y cmake git libboost-all-dev build-essential libgmp-dev zlib1g-dev libbz2-dev libmysql++-dev
git clone https://github.com/uakfdotb/ghostpp
cd ghostpp

cd bncsutil
mkdir build
cmake -G "Unix Makefiles" -B./build -H./
cd build && make && sudo make install

cd ../../StormLib/
mkdir build
cmake -G "Unix Makefiles" -B./build -H./
cd build && make && sudo make install

cd ../../CascLib/
mkdir build
cmake -G "Unix Makefiles" -B./build -H./
cd build && make && sudo make install

cd ../../ghost/
make

See MANUAL or the ghostpp.com wiki for more in-depth but possibly outdated guides on other platforms.

Configuration

Generally, it is recommended to copy default.cfg to ghost.cfg, and update options there. GHost++ will read default.cfg first, and then overwrite the configuration with any options that appear in ghost.cfg.

Once configured, start GHost++:

./ghost++

You can pass a command-line argument to use a different secondary configuration filename, instead of ghost.cfg:

./ghost++ /opt/myconfig.cfg

Usage

See MANUAL or the ghostpp.com wiki for instructions on using GHost++.

You can’t perform that action at this time.