Frequently Asked Questions
From CodeLain GHost++ Community Wiki
What is GHost++?
GHost++ is a port of the original project to C++ by Trevor Hogan.
GHost an acronym for Game Host.
As the name suggests it is a bot that can host Warcraft 3 games on Blizzard's Battel.Net platform as well as PvPGN servers and GArena (not officially supported).
Where can I download GHost++?
What the difference between ..?
- GHost++ : The original GHost++. It's most up-to-date and has the least bugs but also the least features.
- GHost++ Custom Build : This is a compromiss between stability and feature-richness.
- GHostOne : A derivate with the most features but probably also most bugs. Can be remote-controlled from a Windows GUI.
- Genie : A version of GHost++ modified for maximum Mac OS compatibility.
- PyGHost++ : GHost++ with Python plug-in support
- LuaGHost : GHost++ with Lua plug-in support
- LainNoc : Not based on GHost++ and Windows only. It has less features than GHost++ but is very easy to use.
What commands are there?
How can I install GHost++?
What other files does GHost++ need?
- to connect to Battle.Net
- game.dll in your bot_war3path
- storm.dll in your bot_war3path
- war3.exe in your bot_war3path
- to automatically calculated needed map values
- blizzard.j in your bot_mapcfgpath (from War3Path.mpq)
- common.j in your bot_mapcfgpath (from War3path.mpq)
- to automatically extract blizzard.j and common.j
- War3Path.mpq in your bot_war3path (not recommended since it's quite big!)
Why does setting X not work?
In any configuration file all lines starting with a sharp (#) are comments. They will be completely ignored!
How to use GHost++ on Multiple realms?
When GHost++ starts up it reads up to 9 sets of Battle.Net connection information from ghost.cfg.
One of these sets consist of the following keys:
*_server (required) *_cdkeyroc (required) *_cdkeytft (required for TFT) *_username (required) *_password (required) *_firstchannel *_rootadmin *_commandtrigger *_custom_war3version *_custom_exeversion *_custom_exeversionhash *_custom_passwordhashtype *_custom_countryabbrev *_custom_country
GHost++ will search for Battle.Net connections by replacing "*" in each key above with "bnet", "bnet2", "bnet3", ..., "bnet9". Once a required information is missing from a set GHost++ will not process any further connections from ghost.cfg.
How can I add other maps?
How can I run GHost++ on Garena
Although Garena is not officially supported it still works with GHost++. Though this works on Windows only since you need the original Garena client that is only available for Windows.
I can't find my Warcraft box! How can I find out my CD keys?
When you still have Warcraft 3 installed on your computer google for warcraft 3 cd key grabber and you should find what you need.
Otherwise you are out of luck!
Nobody but me can join my games!
In almost all cases this is because a firewall blocks the connections. To solve this try to disable your Windows Firewall temporarily for testing. If the problem persists assure that your ports are forwarded correctly in your router's firewall. PortForward will assist you in this task!
Here you can check if you forwarded the ports correctly. Note that you need to be hosting a game while trying this or the result will always be negative!
Everybody but me can join my games!
If the bot is running on your own computer but you can't join the games yourself you have two options:
Microsoft Loopback Adapter
- Download the Loopback Adapter
- Find the appropriate IP address to use:
- Ff GHost++ is running on the same computer where you play you need your external IP address
- Ff GHost++ is running on a computer on the same LAN you need your internal IP address
- Go to the newly created adapter and do right click -> Properties
- Click on Internet Protocol (TCP/IP) -> Properties
- Choose Use the following IP address and fill in the IP address from step 2
- Fill in 255.255.255.0 as Subnet mask
- Click Ok twice
Note that your external IP address might change every 24 hours and you will need to update it in case you use it.
Those who can't join their games without the Loopback Adapter but don't want to use it or update it frequently can also use SkyShook instead.
- Download SkyShook and extract it in your Warcraft 3 folder
- Launch Warcraft 3
- Launch remotedll.exe
- Lelect war3.exe in the first field
- Select skyshook.dll in the second field
- Click load dll and the OK
Note that you shouldn't have the Microsoft Loopback Adapter installed when trying this!
When starting GHost++ an error pops up!
How can I use GHost++ with only one set of CD keys?
The only way is to use the Admin Game.
I have massive lags and / or high pings
You can try this:
- Repower both your cable modem and router (in that order)
- If you use a laptop make sure it's in high performance power mode
- If you share a network with others ask them to not use it for a moment of testing
- Connect directly to the internet without your router
- Set ghost.exe to high priority in the Task Manager
- Adjust ghost.cfg for your internet connection
- test your connection's speed
- Set bot_maxdownloadspeed to the equation of this formula:
- ( uploadbandwidth (from speedtest) / 8 * 1024 ) - ( 10 * bot_maxgames )
- Set bot_lcpings to 1
- Set bot_pingduringdownloads to 0
- Read this
Admins can't use commands in the lobby / game
Any admin needs to be spoof-checked prior to using commands to prevent admin privilege takeover by namespoofers. Assure that bot_spoofchecks in ghost.cfg is set to 1 or 2 and wait several seconds. Note that automated spoof-checks won't work in private games. There any admin will need to spoof-check manually by whispering the bot:
/w bot_name sc
I can join the first game hosted but not the second one!
Your Warcraft 3 port (set in Warcraft 3 -> Options -> Gameplay) is the same as bot_hostport. Go through your ghost.cfg and make sure all of these ports are different:
bot_hostport bot_reconnectport (if used) admingame_port (if used)
Then open Warcraft III->Options->Gameplay and make sure that that port is not the same as any of the 3 above.
Common GHost++ customizations
When I recompile GHost with a little bit of code added the .exe file size increases dramatically, why?
You've probably compiled it with debug information which is very inefficient. It also makes it non portable to systems that don't have Visual C++ installed. In Visual C++ open the solution then click the Build menu then click Configuration Manager then change the active solution configuration to Release and rebuild the exe. The new exe file will be placed in a "Release" folder instead of a "Debug" folder.
My server ip or name has changed(IE: eurobattle.net to server.eurobattle.net) so my bans are screwed. What can i do?
We'll need to use SQLITE MANAGER (a firefox plugin) in order to fix this. To find SQLite Manager just look for 'sqlite' in firefox plugins.
After installed, open it (its in Tools -> Options).
- Click on Database
- Connect Database
- Find your .dbs file in ghost folder, but you have to change the filter to all files as it's *.sqlite by default
Then choose "EXECUTE SQL" and put this code in the text box:
UPDATE bans SET server='server.eurobattle.net' WHERE server='eurobattle.net'
and now, press Run SQL. That should fix it.