Official Battle Tanks Community

Full Version: Ghost bot for btanks
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Lightbender started a topic for ghostbot for http://www.btanks.tk but I think it'll be much more useful for everyone in this forum. Right now we can only use ghostbot to host games like dota, battleships, Warlocks, etc that had cfg files included when we got it. As soon as I get done posting this i'm going to work on my Btanks855cfg file some more. If i can actually get it working for btanks i'll post the cfg file here too and explain how i made it! If anyone already has a working CFG file for btanks please post it here. (supposedly it's soooo simple...)

Ghost++
« Thread Started on Nov 9, 2008, 9:33am »

--------------------------------------------------------------------------------
Quote:What is it: A hosting bot that can be run while you play, it functions like a combination between stealthbot, banlist, listchecker, and a new form of ownage!

Where to get it?
See Codelain.com

Direct link: http://mm2knet.de/ghost/index.php/Installer

I suggest reading around their boards on codelain.com, specifically
Tutorial: http://forum.codelain.com/index.php?topic=864.0
Common error message: http://forum.codelain.com/index.php?topic=312.0

Ghost bot was mordadar's solution to custom kicking since it lets a bot host multiple games at a time and no one can be custom kicked. However Mordadar told me that he's not able to use it because he has vista compatibility issues. I just want to let my friends use my computer to host when i'm not using it.

i'll just sumarize a few posts here...

i was having a problem running ghost bot at first and lightbender told me that you've got to have the ghost file in the warcraft 3 directory. He showed me hist 7KB CFG file which has to be "modified". I recomend ***edit*** using notepad for viewing, creating, and editing ghostbot code. Here's an example of an edited CFG file with all the things you'll definately need to edit highlighted. You might need to change the port number too or a couple other things also, I don't think I had to though. I deleted the 7KB ghost.CFG file and put this one in its place.
Code:
#####################
# BOT CONFIGURATION #
#####################

### the path to your local Warcraft III directory
### this path must contain war3.exe, storm.dll, and game.dll
### this path must end in your system's path seperator (i.e. "\" on Windows or "/" on Linux)
### 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 port GHost++ will host battle.net games on (this must be different from your admingame_port)

bot_hostport = 6111

### maximum number of games to host at once

bot_maxgames = 1

### 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 (must end in your system's path seperator)
### 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 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 require spoof checks or not
### disabling spoof checks just turns off automatic spoof checks and requiring players to be spoof checked before starting the game
### you can always manually spoof check by whispering the bot (and in fact is required before running admin commands)

bot_spoofchecks = 1

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

bot_refreshmessages = 1

### 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

### use LC style pings (divide actual pings by two)

bot_lcpings = 1

### auto kick players with ping higher than this

bot_autokickping = 111

### 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 = 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

############################
# ADMIN GAME CONFIGURATION #
############################

### 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 = 6110

### the admin game password

admingame_password = [color=#0000FF]1234[/color]

##########################
# DATABASE CONFIGURATION #
##########################

### database type (this config value is ignored for now since we only support one type of database)

db_type = sqlite3

### sqlite3 database file

db_sqlite3_file = ghost.dbs

############################
# BATTLE.NET CONFIGURATION #
############################

### which battle.net server to connect to
### 1.) uswest.battle.net
### 2.) useas.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 = [color=#0040FF]uswest[/color].battle.net

### your Warcraft III: Reign of Chaos CD key

bnet_cdkeyroc = [color=#0000FF]yours replaces this text[/color]
### your Warcraft III: The Frozen Throne CD key

bnet_cdkeytft = [color=#0000FF]yours replaces this text[/color]

### your battle.net username

bnet_username =[color=#0000FF]yours replaces this text[/color]

### your battle.net password

bnet_password =[color=#0000FF]yours replaces this text[/color]
### the first channel to join upon entering battle.net

bnet_firstchannel = [color=#0000FF]clan bt[/color]
### the root admin on this battle.net server only

bnet_rootadmin = [color=#0000FF]the person you want to have admin on b.net name goes here[/color]
### command trigger for this battle.net server only

bnet_commandtrigger = !

### 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 = 21
# bnet_custom_exeversion =
# bnet_custom_exeversionhash =
# bnet_custom_passwordhashtype = pvpgn
Quote:you might want to change the value i have set at 111 to 300 i have it set low because my connection is so nutsty

I was getting an error and i found the problem was that I didn't have a C++ patch I needed

Quote:i went to the codelain websight faq and found this useful bit of info.

"Q: “This application has failed to start because the configuration is incorrect.” I get this error and I want to throw my computer through the window. How do I fix it?

A: You should visit holy Microsoft Download center and download Visual C++ 2008 Redistributable Package (x86)"

looks like i won't be able to use ghost cause my windows is not genuine, thus i won't be able to get that c++ download

Solution: Rapidshare
http://rapidshare.com/files/165922526/vc...6.exe.html

That brings us up to date on how I got ghost bot working just not for btanks yet.
HAHA! i found one already made on the codelain webisght. here it is! Smile Smile Smile

Code:
###########################
# map file for Battle TankS 8.53b  #
###########################

# the map path tells Warcraft III clients where to find the map on their system
# it is NOT the path to the map on the GHost++ system, in fact GHost++ doesn't need the map at all

map_path = Maps\Download\BTanks853b.w3x
map_size = 15 193 8 0
map_info = 189 96 175 135
map_crc = 28 224 206 249

# map speed
#  1 = slow
#  2 = normal
#  3 = fast

map_speed = 3

# map visibility
#  1 = hide terrain
#  2 = explored
#  3 = always visible
#  4 = default

map_visibility = 4

# map observers
#  1 = none
#  2 = on defeat
#  3 = allowed
#  4 = referees

map_observers = 1

# map flags
#  - you can combine these flags by adding together all the options you want to use
#  - for example to have teams together and fixed teams you would use "3"
#  1 = teams together
#  2 = fixed teams
#  4 = unit share
#  8 = random hero
#  16 = random races

map_flags = 3

# map game type
#  1 = custom

map_gametype = 1

# map dimensions

map_width = 112 0
map_height = 112 0

#
# slot structure
#  [PID] [Download Status] [Slot Status] [Computer] [Team] [Colour] [Race] [Skill] [Handicap]
#  - PID is always 0
#  - Download Status is always 255
#  - Slot Status is 0 for open, 1 for closed, 2 for occupied
#  - Computer is 0 for no, 1 for yes
#  - Team
#  - Colour
#  - Race is 1 for human, 2 for orc, 4 for night elf, 8 for undead, 32 for random (add 64 to any of these for fixed)
#  - Skill is 0 for easy computer, 1 for normal computer or human, 2 for hard computer
#  - Handicap is 50/60/70/80/90/100
#

map_slot1 = 0 255 0 0 0 0 1 1 100
map_slot2 = 0 255 0 0 0 1 1 1 100
map_slot3 = 0 255 0 0 0 2 1 1 100
map_slot4 = 0 255 0 0 0 3 1 1 100
map_slot5 = 0 255 0 0 0 4 1 1 100
map_slot6 = 0 255 0 0 1 5 1 1 100
map_slot7 = 0 255 0 0 1 6 1 1 100
map_slot8 = 0 255 0 0 1 7 1 1 100
map_slot9 = 0 255 0 0 1 8 1 1 100
map_slot10 = 0 255 0 0 1 9 1 1 100
map_slot11 = 0 255 2 1 0 10 1 1 100
map_slot12 = 0 255 2 1 1 11 1 1 100

# map type (for map specific stats)

map_type = BtankS

# map local path (for map downloads)
#  GHost++ doesn't require map files but if it has access to them it can send them to players
#  GHost++ will search bot_mappath + map_localpath for the map file (bot_mappath is set in the main config file)

map_localpath = Btanks853b.w3x


edit*** this stupid thing didn't work.
Quick note first: You need to use notepad for ghost bot files!!!!

recap. go to http://www.codelain.com to download ghostbot. It's free and it's awesome!!! Save it to your warcraft III folder.

After you download the ghost bot if you go to these two links you should be able to get ghost bot working for btanks if you have windows xp:

http://battletankslordaeron.proboards.co...&thread=31

http://battletankslordaeron.proboards.co...&thread=32

Read the readme file in the ghostbot to see how to actually host and join a game using the ghost bot.

I'm still working on setting up my ghost bot so that anyone can download maps from me. Right now all games qweqbot hosts are no dl games.
Code:
###########################
# map file for Battle TankS 8.56  #
###########################

# the map path tells Warcraft III clients where to find the map on their system
# it is NOT the path to the map on the GHost++ system, in fact GHost++ doesn't need the map at all

map_path = Maps\Download\BTanks854b.w3x
#map_size = 15 193 8 0
#map_info = 189 96 175 135
#map_crc = 28 224 206 249

# map speed
#  1 = slow
#  2 = normal
#  3 = fast

map_speed = 3

# map visibility
#  1 = hide terrain
#  2 = explored
#  3 = always visible
#  4 = default

map_visibility = 4

# map observers
#  1 = none
#  2 = on defeat
#  3 = allowed
#  4 = referees

map_observers = 1

# map flags
#  - you can combine these flags by adding together all the options you want to use
#  - for example to have teams together and fixed teams you would use "3"
#  1 = teams together
#  2 = fixed teams
#  4 = unit share
#  8 = random hero
#  16 = random races

map_flags = 3

# map game type
#  1 = custom

map_gametype = 1

# map dimensions

map_width = 112 0
map_height = 112 0

#
# slot structure
#  [PID] [Download Status] [Slot Status] [Computer] [Team] [Colour] [Race] [Skill] [Handicap]
#  - PID is always 0
#  - Download Status is always 255
#  - Slot Status is 0 for open, 1 for closed, 2 for occupied
#  - Computer is 0 for no, 1 for yes
#  - Team
#  - Colour
#  - Race is 1 for human, 2 for orc, 4 for night elf, 8 for undead, 32 for random (add 64 to any of these for fixed)
#  - Skill is 0 for easy computer, 1 for normal computer or human, 2 for hard computer
#  - Handicap is 50/60/70/80/90/100
#

map_slot1 = 0 255 0 0 0 0 1 1 100
map_slot2 = 0 255 0 0 0 1 1 1 100
map_slot3 = 0 255 0 0 0 2 1 1 100
map_slot4 = 0 255 0 0 0 3 1 1 100
map_slot5 = 0 255 0 0 0 4 1 1 100
map_slot6 = 0 255 0 0 1 5 1 1 100
map_slot7 = 0 255 0 0 1 6 1 1 100
map_slot8 = 0 255 0 0 1 7 1 1 100
map_slot9 = 0 255 0 0 1 8 1 1 100
map_slot10 = 0 255 0 0 1 9 1 1 100
map_slot11 = 0 255 2 1 0 10 1 1 100
map_slot12 = 0 255 2 1 1 11 1 1 100

# map type (for map specific stats)

map_type = Bt

# map local path (for map downloads)
#  GHost++ doesn't require map files but if it has access to them it can send them to players
#  GHost++ will search bot_mappath + map_localpath for the map file (bot_mappath is set in the main config file)

map_localpath = Btanks856.w3x

try this
Hi there,

my problem was I couldn't use the battle.net-Chat progg that would allow me to autohost games.
The good thing with ghost is, games can be hosted and if hosted a random gamelobby-admin can be chosen,
BUT Ghost doesnt host games on its own! There allways have to be someone using commands in the channel like "!pub Btanks856 norm"
With this chat-tool I tried to makeup my lazieness finding another way to autohost games.
A simple chat makro would have done the trick.

If you find another solution, or if you need a bot you access manually, I can host for you.
Ghost bot is still very new to me and I barely understand or can use any of it. Thanx again morkardar for telling me about it.

I'm still working out bugs for ghost bot as well. I can't get the autohost to work either. And i can't change the game owner in game either so if the game creater from the lobby leaves then the game stays up, can't be started by anyone including me, and can't be unhosted by anyone but me in the admin game from lan mode. Since I'm usually afk when ghost bot is on this sucks really bad. When I'm afk the autohost would be much nicer since qweqbot would be the game owner of all the games will always start when full. (hypothetically)

The good news is i played a game while another guy was hosting one using my ghost bot and we didn't get any lag during our games. I'm going to try hosting 3 or more games at a time now. I can play in northrend or azeroth like normal while qweqbot hosts in lordaeron for my friends and clan. Big Grin
You can recompile Ghost Morkadar. So it can auto-host games without any command. But needs some programming knowledge. I would have checked for it if i had some time. But I dont...
Yes I could do it... but I won't. *g*
I am not willing to put a huge amount of time into it.
I managed hosting with it... but I don't want to do more than that.

Here is the CFG... besides... you dont need it, when you got the map in mapfolder

Code:
##########################
# map file for BTanks856 #
##########################

# the map path tells Warcraft III clients where to find the map on their system
# it is NOT the path to the map on the GHost++ system, in fact GHost++ doesn't need the map at all

map_path = \Maps\Download\BTanks856.w3x
map_size = 169 251 8 0
map_info = 200 106 244 109
map_crc = 7 170 90 175

# map speed
#  1 = slow
#  2 = normal
#  3 = fast

map_speed = 3

# map visibility
#  1 = hide terrain
#  2 = explored
#  3 = always visible
#  4 = default

map_visibility = 4

# map observers
#  1 = none
#  2 = on defeat
#  3 = allowed
#  4 = referees

map_observers = 1

# map flags
#  - you can combine these flags by adding together all the options you want to use
#  - for example to have teams together and fixed teams you would use "3"
#  1 = teams together
#  2 = fixed teams
#  4 = unit share
#  8 = random hero
#  16 = random races

map_flags = 3

# map game type
#  1 = custom

map_gametype = 1

# map dimensions

map_width = 112 0
map_height = 112 0

# map players and teams

map_numplayers = 12
map_numteams = 2

#
# slot structure
#  [PID] [Download Status] [Slot Status] [Computer] [Team] [Colour] [Race] [Skill] [Handicap]
#  - PID is always 0
#  - Download Status is always 255
#  - Slot Status is 0 for open, 1 for closed, 2 for occupied
#  - Computer is 0 for no, 1 for yes
#  - Team
#  - Colour
#  - Race is 1 for human, 2 for orc, 4 for night elf, 8 for undead, 32 for random (add 64 to any of these for fixed)
#  - Skill is 0 for easy computer, 1 for normal computer or human, 2 for hard computer
#  - Handicap is 50/60/70/80/90/100
#

map_slot1 = 0 255 0 0 0 0 1 1 100
map_slot2 = 0 255 0 0 0 1 1 1 100
map_slot3 = 0 255 0 0 0 2 1 1 100
map_slot4 = 0 255 0 0 0 3 1 1 100
map_slot5 = 0 255 0 0 0 4 1 1 100
map_slot6 = 0 255 0 0 1 5 1 1 100
map_slot7 = 0 255 0 0 1 6 1 1 100
map_slot8 = 0 255 0 0 1 7 1 1 100
map_slot9 = 0 255 0 0 1 8 1 1 100
map_slot10 = 0 255 0 0 1 9 1 1 100
map_slot11 = 0 255 2 1 0 10 1 1 100
map_slot12 = 0 255 2 1 1 11 1 1 100

# map type (for map specific stats)


# map local path (for map downloads)
#  GHost++ doesn't require map files but if it has access to them it can send them to players
#  GHost++ will search bot_mappath + map_localpath for the map file (bot_mappath is set in the main config file)

map_localpath = BTanks856.w3x

PS: Stop quoting and use the code function of the board instead!!!!!!!!
Ok after I reread the whole GHost thing... I was able to setup the bot.

Features of actual version:

- random game lobby admin
- autohosting x games
- banlist
- replay saving

I played several test games and he runs fine!
If everything is running like intended, I will setup the bot on my server the next days.
Sounds nice. If it works please fill me in on how you did it.

**edit** also, did you fix your code and recompile so that people could dl maps from your computer? If so can you explain it better to me than what codelain says or give me a link to what you used to figure it out?
if this thing really works, pls could you tell me how?Big Grin

and: what about the ping, if my server is located in germany, does it lagg for U.S. oder Aisan Clients? (so will the connection "over" the bot or more p2p like? i dont know how bnet works ^^ (i think all over the host or?!)
I'm not anl expert on it psy. Just about everything I know about ghost bot, which isn't much, I put here in this topic or else made a link to another place whre I posted it. I'm hoping that by doing that some one else can fine tune it so that I don't have to. The next step for me is going to be to try and let people download maps from my hard drive. I've got ghost bot going in lordaeron channel clan bt now and often if you want to check it out I can show you what it does. Also I need to figure out if and how I can run it with banlist.

ghost bot is like a super hero hoster. it makes regular bnet hosters seem like puny weaklings. some things that I know about it and are cool are:

I only have 512 ram and a normal cable modem yet i can host lots of games at once while i play with no more lag than normal for all the games. I've only tried 3 at once so far but haven't had a lag issue. With only 1 set of CD keys I can host lots of games in one realm and then play in other realms but not host in other realms.

If i type in, "!announce 5 So-and-so is a big gay!!!" then every 5 seconds in the game lobby ghost bot will say, "So-and-so is a big gay!!!" ROFL!

I can type, "!swap x y" to swap players in slot x and y in the game lobby

I can type, "!sp" to shuffle around all the players in the game lobby

**edit** i'll check btanks856.cfg's posted here and see if they help me solve my dl problem. ty for posting them horselance and markardar

When i'm in lan mode i can type in "!password xxxx" and then "!getgames" and it'll show me how many games are being hosted by ghost bot at the moment. If I type in "!getgame 1 to 5" then it'll show that game name, the game creator, my ping to him, and the number of players in the game.

I can see any text chatted in the games qweqbot is hosting and chat to the players with !saygames xxx..." but the chat will look like the game creater is saying it. I think i can only see what they say in ALL chat though. I can also see what's being said in clan bt when qweqbot is not busy creating a game and it keeps the clan channel open for me but i can't type to anyone there.

I can make anyone an admin I want to. Right now there are about 100 admins for qweqbot who can use it to host games.

Ghost bot spoofchecks by type /whois joinedplayernam. it pings them 3 times before it will let them play in the game. it lets you know the longest, shortest, and your own load time with a message on your screen right after the map loads. You can set the highest latency that ghost bot will allow players to have for all the games it hosts in the ghost.cfg file.

There is a lot of other cool stuff it can do which I'm still learning about.
I rather like to do this via MSN/ICQ/IRC and not the board...Smile
But not todayWink
I was curious what would happen if I played as player 11. I did it with ghost bot in a 6v5 pub. I was able to share gold with the guys on my team because sharing was on. I massed gigantic waves of creeps of over 200 food with almost maxed out creep armor at around 25 minutes the game was over. It was pretty retarded but here's the replay anyways:
I played one game hosted from your bot.
It was on Lordareon. QweqQweq wasn´t in the game.

I think the ping wasn´t better then without bot and i had sometimes lags (other guys in my team had lags too, guys from USA)

And the hugest problem of this bot^^
why every some minutes comes a chat text how imba qweqweq is? :roll:

I dont understand what this ghost bot does, but for gameplay it was no advantage.
Quote:why every some minutes comes a chat text how imba qweqweq is? :roll:

LOL
Sorry you didn't enjoy your game with qweqbot goku. There's not many guys who like to play against me in lordaeron. I only lost 2 games in the last 2 days there despite playing with shuffled teams and stacking the other side as much as I could for more than half the games I played. I'm pretty notorious there for -kicking noobs and just generally raping the whole btanks comunity. One of the games I did loose was when warrior_hong came and played with us and he just out-played me.

I played some games with slider later after you left. Slider said he was lagging a little bit more than usualy when I'm hosting a game with him as well. So I restarted my computer and hosted without anything but banlist running and he said that his lag was the same.

Sometimes the overseas connection is better than others. Sometimes i get 4 seconds delay with SG hosts like fido1 and sometimes it's under a second. I don't know why guys overseas were lagging more than usual with me hosting today but I don't think it had anything to do with ghost bot. All the usa players i talked to today didn't notice any difference or said the lag was only a little bit more than usual.

Well, anyways, thanx for coming and playing with the loraderon btanks comunity and good luck finding capt-iglu! Big Grin
Laggs are not a problem of the bot, but of the crappy connection of the hosterSmile
qweq is good host for meSmile only 1.-1.5 sec delay
wohoo... everyone knows "listchecker"? this tool rocks!

i'll create a new thread for it..
Pages: 1 2