############################### # GHost++ CUSTOM BUILD EXTRAS # ############################### ### List of countries to allow based on the two-letter country codes ### Don't separate entries with spaces or commas or anything, leave blank or comment out to allow ### Example: approvedcountries = USCA approvedcountries = ### Tests if an incomming chat event via a game (lobby) was a command ### for the bot that got executed. If so, the patched bot will not relay this ### chat event to the players, if bot_relaycommands is 0 bot_relaycommands = 0 ### Use normal countdown when set to 1 will mimic the Warcraft III game start ### Set this to 0 to set back to Ghost's normal countdown bot_usenormalcountdown = 0 ##################### # BOT CONFIGURATION # ##################### ### the log file bot_log = ghost.log ### 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\Warcraft III ### 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 battle.net games on (this must be different from your admingame_port) bot_hostport = 6112 ### maximum number of games to host at once bot_maxgames = 10 ### command trigger for ingame only (battle.net command triggers are defined later) bot_commandtrigger = ! ### 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) bot_mappath = maps ### whether to save replays or not bot_savereplays = 0 ### the path to the directory where you want GHost++ to save replays bot_replaypath = replays ### the Warcraft 3 version to save replays as replay_war3version = 24 ### the Warcraft 3 build number to save replays as (this is specific to each Warcraft 3 version) ### patch 1.23: war3version 23, buildnumber 6058 ### patch 1.24: war3version 24, buildnumber 6059 ### patch 1.24b: war3version 24, buildnumber 6059 replay_buildnumber = 6059 ### 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 = PudgeBot ### whether to hide each player's IP address from other players or not bot_hideipaddresses = 1 ### whether to check for multiple IP address usage or not bot_checkmultipleipusage = 0 ### 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 = 0 ### 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 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 bot_maxdownloaders = 3 ### the maximum combined download speed of all players downloading the map (in KB/sec) bot_maxdownloadspeed = 1000 ### use LC style pings (divide actual pings by two) bot_lcpings = 1 ### auto kick players with ping higher than this bot_autokickping = 500 ### 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 50 and a maximum of 500) bot_latency = 50 ### 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 = Pudge Wars v1.24 ### 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 use regular expressions when loading map configs and maps or not bot_useregexes = 0 ### 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 = 1 ### 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) bot_matchmakingmethod = 0 ############################ # ADMIN GAME CONFIGURATION # ############################ ### whether to create the admin game or not (see readme.txt for more information) admingame_create = 0 ### the port GHost++ will host the admin game on (this must be different from your bot_hostport) admingame_port = 6113 ### 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 = ##################### # 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 udp_broadcasttarget = ### the UDP "don't route" flag udp_dontroute = 0 ########################## # AUTOHOST CONFIGURATION # ########################## ### 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 autohost_maxgames = 4 autohost_startplayers = 8 autohost_gamename = Pudge Wars 1.24! autohost_owner = Tossrock ########################## # DATABASE CONFIGURATION # ########################## ### database type ### use "sqlite3" for a local SQLite database ### use "mysql" for any MySQL database db_type = sqlite3 ### sqlite3 database configuration ### this is only used if your database type is SQLite db_sqlite3_file = ghost.dbs ### mysql database configuration ### this is only used if your database type is MySQL db_mysql_server = localhost db_mysql_database = ghost db_mysql_user = YOUR_USERNAME db_mysql_password = YOUR_PASSWORD db_mysql_port = 0 ### 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 db_mysql_botid = 1 ############################ # BATTLE.NET CONFIGURATION # ############################ ### 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 = uswest.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 = USWest ### 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 = ### the root admin on this battle.net server only bnet_rootadmin = ### command trigger for this battle.net server only bnet_commandtrigger = ! ### whether to automatically add your friends list to each game's reserved list bnet_holdfriends = 0 ### whether to automatically add your clan members list to each game's reserved list bnet_holdclan = 0 ### 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 = 1 ### 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 bnet_bnlsserver = bnls.ghostbot.net bnet_bnlsport = 9367 bnet_bnlswardencookie = 1 ### you will need to edit this section of the config file if you're connecting to a PVPGN server ### your PVPGN server operator will tell you what to put here bnet_custom_war3version = 24 bnet_custom_exeversion = bnet_custom_exeversionhash = bnet_custom_passwordhashtype = bnet_custom_pvpgnrealmname = PvPGN Realm ### ### example configuration for connecting to a second official battle.net server ### bnet2_server = useast.battle.net bnet2_serveralias = USEast bnet2_cdkeyroc = bnet2_cdkeytft = bnet2_username = bnet2_password = bnet2_firstchannel = bnet2_rootadmin = bnet2_commandtrigger = ! bnet2_holdfriends = 0 bnet2_holdclan = 0 bnet2_publiccommands = 1 bnet2_bnlsserver = bnls.cryptwizard.info bnet2_bnlsport = 9368 bnet2_bnlswardencookie = 1 ### ### example configuration for connecting to a third PVPGN battle.net server ### # bnet3_server = server.eurobattle.net # bnet3_serveralias = EuroBattle # bnet3_cdkeyroc = FFFFFFFFFFFFFFFFFFFFFFFFFF # bnet3_cdkeytft = FFFFFFFFFFFFFFFFFFFFFFFFFF # bnet3_username = # bnet3_password = # bnet3_firstchannel = The Void # bnet3_rootadmin = # bnet3_commandtrigger = ! # bnet3_holdfriends = 1 # bnet3_holdclan = 1 # bnet3_publiccommands = 1 # bnet3_custom_war3version = 24 # bnet3_custom_exeversion = 184 0 22 1 # bnet3_custom_exeversionhash = 219 152 153 144 # bnet3_custom_passwordhashtype = pvpgn # bnet3_custom_pvpgnrealmname = PvPGN Realm