Sooo, I downloaded GHost++ and set it all up then ran it, and says "logon failed - game version is invalid, disconnecting" I've looked it up and I keep finding some crap that I don't understand, could you help me out in a dumbed down way.

3ice, I really need your help with this god dam mofo, no-one else knows what is wrong with it, I've port forwarded a million times now, installed loop back adapters, read hundreds of tutorials, spent hours searching for answers, tried different bots, taken down my firewall, allowed the bot through firewall, nothing, works.

It's the exact same problem that I was having before, bot run, but when I pub a game it's un-joinable with the message "The game you attempted to join could not be found".

Spoiler:

###################### BOT CONFIGURATION ######################

### the log file

bot_log = ghost.log

### the log method### set this to 1 to leave the log unlocked while GHost++ is running (may be slower, particularly on Windows)### set this to 2 to lock the log while GHost++ is running (may be faster, particularly on Windows)### note: if the log is locked you will not be able to edit/move/delete it while GHost++ is running

bot_logmethod = 1

### the language file

bot_language = language.cfg

### the path to your local Warcraft III directory### this path must contain war3.exe, storm.dll, and game.dll### if this path contains War3Patch.mpq the bot will attempt to extract "Scripts\common.j" and "Scripts\blizzard.j" on startup and write them to bot_mapcfgpath (which is defined later in this file)### common.j and blizzard.j are only required for automatically calculating map_crc, you do not need them if your map config files already contain map_crc

bot_war3path = C:\Program Files (x86)\Warcraft III\

### whether to act as Warcraft III: The Frozen Throne or not### set this to 0 to act as Warcraft III: Reign of Chaos (you WILL NOT need to enter a TFT cd key to login to battle.net)### set this to 1 to act as Warcraft III: The Frozen Throne (you WILL need to enter a TFT cd key to login to battle.net)

bot_tft = 0

### the address GHost++ will bind to when hosting games (leave it blank to bind to all available addresses)### if you don't know what this is just leave it blank

bot_bindaddress =

### the port GHost++ will host games on (this must be different from your admingame_port)

bot_hostport = 6113

### whether to allow GProxy++ reliable reconnects or not### you should ensure that bot_synclimit is set to a reasonable value if you choose to allow GProxy++ reliable reconnects### a reasonable value is 5000 divided by bot_latency, e.g. if bot_latency is 100 use a value of 50 for bot_synclimit

bot_reconnect = 0

### the port GHost++ will listen for GProxy++ reliable reconnects on

bot_reconnectport = 6114

### the maximum number of minutes to wait for a GProxy++ client to reconnect to the game### if you set this to 0 or 1 GHost++ will wait for up to 1 minute### if you set this to 10 or more GHost++ will only wait for up to 10 minutes### due to the way GProxy++ works, increasing this value increases bandwidth requirements and CPU requirements on the players' computers### players can always vote to drop a player who is lagging after waiting 45 seconds regardless of this value

### the path to the directory where you keep your map config files### this directory can also contain common.j and blizzard.j (extracted from War3Patch.mpq)### common.j and blizzard.j are only required for automatically calculating map_crc, you do not need them if your map config files already contain map_crc

bot_mapcfgpath = mapcfgs

### the path to the directory where you keep your savegame files

bot_savegamepath = savegames

### the path to the directory where you keep your map files### GHost++ doesn't require map files but if it has access to them it can send them to players and automatically calculate most map config values### GHost++ will search [bot_mappath + map_localpath] for the map file (map_localpath is set in each map's config file)

### the bot's virtual host name as it appears in the game lobby### colour codes are defined by the sequence "|cFF" followed by a six character hexadecimal colour in RRGGBB format (e.g. 0000FF for pure blue)### the virtual host name cannot be longer than 15 characters including the colour code, if you try to go over this limit GHost++ will use the default virtual host name

bot_virtualhostname = |cFF4080C0GHost

### whether to hide each player's IP address from other players or not

bot_hideipaddresses = 0

### whether to check for multiple IP address usage or not

bot_checkmultipleipusage = 1

### whether to do automatic spoof checks or not### you can always manually spoof check by whispering the bot (and in fact this is required before running admin commands)### set to 0 to disable automatic spoof checks### set to 1 to enable automatic spoof checks on all players### set to 2 to enable automatic spoof checks on potential admins only

bot_spoofchecks = 2

### whether to require spoof checks or not### this controls whether the bot will require players to spoof check before starting the game### it does NOT control whether the bot will require players to spoof check before running admin commands - spoof checks are ALWAYS required for admin status### if you require spoof checks, players will be kicked from the lobby if they haven't spoof checked within 20 seconds of joining (autohosted games only)

bot_requirespoofchecks = 0

### whether to consider admins and root admins as reserved players or not### reserved players are allowed to join full games because another player will be kicked to allow them to join

bot_reserveadmins = 1

### whether to display game refresh messages by default### this can always be changed for a particular game with the !refresh command

bot_refreshmessages = 0

### whether to automatically lock games when the owner joins

bot_autolock = 0

### whether to automatically save games when a player disconnects### this can always be changed for a particular game with the !autosave command

bot_autosave = 0

### whether to allow map downloads or not### set to 0 to disable map downloads### set to 1 to enable map downloads### set to 2 to enable conditional map downloads (an admin must start each map download with the !download or !dl command)

bot_allowdownloads = 1

### whether to ping players during map downloads or not### GHost++ will always stop pinging any players who are downloading the map### this config value determines whether GHost++ should stop pinging *all* players when at least one player is downloading the map

bot_pingduringdownloads = 0

### the maximum number of players allowed to download the map at the same time

### the ban method### if bot_banmethod = 1, GHost++ will automatically reject players using a banned name### if bot_banmethod = 2, GHost++ will automatically reject players using a banned IP address### if bot_banmethod = 3, GHost++ will automatically reject players using a banned name or IP address### if bot_banmethod is anything else GHost++ will print a message when a banned player joins but will not automatically reject them

bot_banmethod = 1

### the IP blacklist file

bot_ipblacklistfile = ipblacklist.txt

### automatically close the game lobby if a reserved player (or admin) doesn't join it for this many minutes### games which are set to automatically start when enough players join are exempt from this limit (e.g. autohosted games)

bot_lobbytimelimit = 10

### the game latency### this can always be changed for a particular game with the !latency command (which enforces a minimum of 20 and a maximum of 500)

bot_latency = 100

### the maximum number of packets a player is allowed to get out of sync by before starting the lag screen### before version 8.0 GHost++ did not have a lag screen which is the same as setting this to a very high number### this can always be changed for a particular game with the !synclimit command (which enforces a minimum of 10 and a maximum of 10000)

bot_synclimit = 50

### whether votekicks are allowed or not

bot_votekickallowed = 1

### the percentage of players required to vote yes for a votekick to pass### the player starting the votekick is assumed to have voted yes and the player the votekick is started against is assumed to have voted no### the formula for calculating the number of votes needed is votes_needed = ceil( ( num_players - 1 ) * bot_votekickpercentage / 100 )### this means it will round UP the number of votes required### if you set it to 100 it will require 2/3, 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, 9/10, 10/11, and 11/12 votes to pass### if you set it to 90 it will require 2/3, 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, 9/10, 9/11, and 10/12 votes to pass### if you set it to 80 it will require 2/3, 3/4, 4/5, 4/6, 5/7, 6/8, 7/9, 8/10, 8/11, and 9/12 votes to pass### if you set it to 70 it will require 2/3, 3/4, 3/5, 4/6, 5/7, 5/8, 6/9, 7/10, 7/11, and 8/12 votes to pass### if you set it to 60 it will require 2/3, 2/4, 3/5, 3/6, 4/7, 5/8, 5/9, 6/10, 6/11, and 7/12 votes to pass

bot_votekickpercentage = 100

### the default map config (the ".cfg" will be added automatically if you leave it out)

bot_defaultmap = wormwar

### the MOTD file### the first 8 lines of this file will be displayed when a player joins the game### if this file doesn't exist a default MOTD will be used

bot_motdfile = motd.txt

### the gameloaded file### the first 8 lines of this file will be displayed when the game finished loading (after the player loading times are displayed)

bot_gameloadedfile = gameloaded.txt

### the gameover file### the first 8 lines of this file will be displayed when the game is over### this only works when using a stats class - note: at the time of this writing the only stats class is for DotA maps

bot_gameoverfile = gameover.txt

### whether to send "local admin messages" or not### these messages are battle.net chat messages, whispers, and emotes which the bot receives and passes on to the "local admin"### the local admin is the game owner if they are playing from a LAN or the same computer as the bot### this is useful when you are using the admin game to play with one set of CD keys and you want messages sent to the bot to be relayed to you### you can enable or disable this for a particular game with the !messages command

bot_localadminmessages = 1

### the "TCP no delay" flag### this controls whether or not your operating system should use the "no delay" algorithm on game sockets### the algorithm is designed to reduce latency by sending data in small packets as soon as possible rather than waiting to send a single larger packet### enabling this algorithm requires additional bandwidth because it is a less efficient way of sending data### however, it may reduce game latencies in some cases

tcp_nodelay = 0

### the matchmaking method### this controls how the bot matches players when they join the game when using !autohostmm### set it to 0 to disable matchmaking (first come first served, even if their scores are very different)### set it to 1 to use the "furthest score" method (the player with the furthest score from the average is kicked to make room for another player)### set it to 2 to use the "lowest score" method (the player with the lowest score is kicked to make room for another player)

### whether to create the admin game or not (see readme.txt for more information)

admingame_create = 1

### the port GHost++ will host the admin game on (this must be different from your bot_hostport)

admingame_port = 6115

### the admin game password

admingame_password =

### the default map config to use in the admin game### if this value is blank the bot will use a hardcoded map instead### it's recommended that you use the hardcoded map instead of specifying a different one### this value exists because the hardcoded map is specific to Warcraft 3 versions and you may wish to use a previous or newer version### the ".cfg" will be added automatically if you leave it out

admingame_map = wormwar

###################### LAN CONFIGURATION ######################

### the Warcraft 3 version to use when broadcasting LAN games

lan_war3version = 24

### the UDP broadcast target### if this value is blank the bot will try to broadcast LAN games on the default interface which is chosen by your operating system### sometimes your operating system will choose the wrong interface when more than one exists### therefore you can use this value to force the bot to use a specific interface### for example you may set it to "192.168.1.255" to broadcast LAN games to the 192.168.1.x subnet

### this section of the config file is for enabling autohost when the bot starts up without having to issue a command### you can activate the autohost feature without changing anything here by using the !autohost command

### the bot ID is included each time the bot adds data to the MySQL database### it is used to identify where each row of data came from when you configure multiple bots to connect to the same MySQL database### GHost++ does not use the bot ID number itself, it's just to help you keep track of the data in your database

### which battle.net server to connect to### 1.) useast.battle.net### 2.) uswest.battle.net### 3.) asia.battle.net### 4.) europe.battle.net### note that each banned player is tied to the realm it was created on and the realm is case sensitive### so if you change your realm from useast.battle.net to USEAST.BATTLE.NET it'll still connect but anyone previously banned will not be counted as banned until you change it back

bnet_server = useast.battle.net

### the server alias### this name will be used to identify the battle.net server in the GHost++ console### if you leave it blank it will use a short name such as "USEast" for official battle.net servers or it will use the actual server address

bnet_serveralias = USEast

### your Warcraft III: Reign of Chaos CD key### you cannot use the same CD key here that you yourself use to login to battle.net if you plan to login at the same time as your bot

bnet_cdkeyroc =

### your Warcraft III: The Frozen Throne CD key### you cannot use the same CD key here that you yourself use to login to battle.net if you plan to login at the same time as your bot

bnet_cdkeytft =

### your battle.net username### you cannot use the same username here that you yourself use to login to battle.net if you plan to login at the same time as your bot

bnet_username =

### your battle.net password

bnet_password =

### the first channel to join upon entering battle.net

bnet_firstchannel = clan waa

### the root admins on this battle.net server only### seperate each name with a space, e.g. bnet_rootadmin = Varlock Kilranin Instinct121

### whether to allow anonymous users (non admins) to use public commands such as !stats and !statsdota on this battle.net connection### if you are having trouble with spammers causing your bot to flood the server you should disable this

bnet_publiccommands = 0

### BNLS server information for Warden handling (see readme.txt for more information)### you will need to use a valid BNLS server here if you are connecting to an official battle.net realm or you will be disconnected every two minutes

I'm pretty sure there's nothing wrong with the bot though, I think there's a problem with my ports, although I followed 20 different tutorials that told me to do the exact same thing, I've also had 3 other people take me through it step by step, but it's always been the exact same method, cmd, ipconfig, enter ip into browser, enter admin and password, go to port forwarding, open ports 6112-6119.

I don't think this will fix the problem, but it's worth a try: Your config appears to be outdated. When updating my bot I always overwrite my config with the latest version and then change the settings to suit my needs. I know it's easier to leave the config as it is, but it helps to have the most up-to-date information in the comments: