Stuff that isn't supported:♦Botting on private realms. If it works, that's great. If not, you're out of luck. Some realms ban you for what kolbot does normally, others send warden packets which kill d2bs so it's impossible to account for all the differences.♦Classic install without expansion. D2bs out of game controls were written only for expansion menus, you won't be able to get the bot to login successfully with classic menus.

* Using Notepad++ is strongly advisedCharacter config files are in \kolbot\libs\config. They are in .js format.* If you don't know how to change the default program to open .js files, read here http://www.sevenforums.com/tutorials/12 ... ogram.htmlCharacter Config file format is Class.Charname.js. For example: Sorceress.kolx-n.js, Necromancer.wdqq.js, Assassin.KolTrap.js* Don't rename the default config! Make a copy of it and then rename the copy.

UserAddon char config maker:You no longer need to copy/rename character config files yourself!Just run the bot, press HOME (to close the console) and then press SPACE (to create personal character config).

Editing character config:Once you've opened the file, read the explanation for each option.Scripts are enabled/disabled by setting them to true/false. In order to run bot scripts, you must disable User Addon script first by setting it to false:

You can download and update d2bot with kolbot using TortoiseGit. First, download it http://code.google.com/p/tortoisegit/downloads/listTo download, right click anywhere in empty space (aka don't right click an icon), and choose 'Git Clone...'Input the Url and click ok:Wait until it finishes and click close. You're done downloading!

3b) Updating with TortoiseGit:

Updating is done by right clicking the d2bot-with-kolbot folder and selecting 'Git Sync...'Then click Pull, wait for it to finish and click OK.

3c) Branches with TortoiseGit:

NOTE: It's recommended to do a fresh clone if you want to get the TestVer branch - you may lose your configs/edits if you change your main folder

JoinChannel: "op something", // Name of the channel to join FirstJoinMessage: "yay I'm using kolbot", // Message to say when first joining a channel, usually ".login" AnnounceGames: true, // Announce next game in channel ChatActionsDelay: 2, // Seconds to wait in lobby before entering a channel

SwitchKeys: true, // Set to true to switch keys when they're in use, banned or after realm down SwitchKeyDelay: 0, // Seconds to wait before switching a used/banned key or after realm down

D2BotLead is the starter that you use to create games. It can announce games in channels when used for public runs.

D2BotFollow (join games made by another profile on the same computer):

JoinChannel: "", // Name of the channel to join FirstJoinMessage: "", // Message to say when first joining a channel, usually ".login" ChatActionsDelay: 2, // Seconds to wait in lobby before entering a channel

SwitchKeys: true, // Set to true to switch keys when they're in use, banned or after realm down SwitchKeyDelay: 0, // Seconds to wait before switching a used/banned key or after realm down

JoinChannel: "", // Name of the channel to join FirstJoinMessage: "", // Message to say when first joining a channel, usually ".login" ChatActionsDelay: 2, // Seconds to wait in lobby before entering a channel

SwitchKeys: true, // Set to true to switch keys when they're in use, banned or after realm down SwitchKeyDelay: 0, // Seconds to wait before switching a used/banned key or after realm down

D2BotChannel is used to join games from both channel announcements and friend list announcementsgames are in the following format: Games: ["game1-", "game2-", "game3-"], // List of games to look for. Example: Games: ["some baal-", "chaos run-"],each game name in the array has its corresponding password in the passwords array, use "" for no passwordPasswords: ["game1pw", "game2pw", "game3pw"], // List of game passwords. Each array in Games array should have a matching element in Passwords. Use "" for blank pw.

JoinDelay is in seconds, it's the time to wait between receiving the message and clicking the join buttonFriendListQuery determines whether to check your friend list and how often to check it

Examples:If you want to follow meth baal runs in chan baal channel (uswest nl), you'd have it set up like this:

JoinChannel: "clan baal", // Name of the channel to joinGames: ["meth baal-"], // List of games to look for. Example: Games: ["some baal-", "chaos run-"],Passwords: [""], // List of game passwords. Each array in Games array should have a matching element in Passwords. Use "" for blank pw.JoinDelay: 5, // Seconds to wait between announcement and clicking joinFriendListQuery: 0, // Seconds between "/f l" retries. 0 = disable

You can combine multiple channel announced-games, multiple friend list announced games, and a MIX of both!

Scripts section/Sequence config:This is pretty straightforward, set the scripts you want to run to true, and those you don't to falseMost common mistake here is typing True or TRUE or False or FALSE, these are all wrong. The way to type it is true and falseSpecial scripts - worth noting is that Wakka is very experimental, so don't expect human-like reflexes. Enchant and battle orders (moved to the top of char config for convenience) use Catacombs waypoint

Town/Potion:heal percent is the upper limit - if your hp/mana is under it, you will go healConfig.RejuvBuffer is an uncommon feature that allows you to store rejuvs and drink them from inventorytown hp/mp happens only when attacking, the character will go heal and get back to the fight (this feature might be better known as tp chicken)

Potion config:You set each column type and minimum number of potions for each column before buying them. Buying potions is only triggered in town. If you want to restock potions mid-run, keep reading.

Pickit config:Put exact file name like found in kolbot\pickit. You will get an error if you put a bad file name.Pickit is in the same format as d2nt, its item parser and alias files have been directly ported.I will not give support for your own pickit errors.

Gambling:Pretty straightforward, the only thing to note is that GambleItems are classids of items that can be found in NTItemAlias file.So, if you want to gamble a JMoD, put kite shield in the array. Getting kite shield's classid is as easy as opening the alias file and searching for the word 'kite'. Once found, put this is character config:

Cubing:Cubing allows you to use most of the useful Horadric Cube recipes. For a list of all of the available ones, go to kolbot\libs\config\Templates\Cubing.txt

Simple ingredients are automatically picked. The only items that need to be in the pickit are base items for socketing and upgrading recipes (for example, upgrading vipermagi or socketing ethereal archon plate).Crafting bases have already been set to a high enough level. It most likely won't keep any bases when your character's level is low (gambling) and/or when killing low level monsters (only baal/diablo/nihlathak can drop good enough amulets for example)Again like with gambling, for classids use NTItemAlias file.

Runeword rerolling:I tried to make this as simple as possible by indexing recipes, so all the input that's required is recipe name and item classid, along with keep runeword line. For the list of all runewords, see libs\config\Templates\Runewords.txtRunes are picked automatically, main item needs to be in your pickit. KeepRunewords lines are checked against ALL Runewords so you don't need one for each runeword. For example

All of these polearms will be checked with just this one KeepRunewords line.NOTE: Enhanced damage, Enhanced defense and +defense are currently broken for runewords.

General config:This part contains various options that have been explained in the file itself. Worth noting is that QuitList is used for quitting with leader(s) when team botting. You don't need to explicitly define the leader to follow anywhere, which gives team botting more flexibility, but it's still wise to have a quit list if you don't want to keep running if leader leaves the game.

TownCheck is the option you use for restocking potions mid-run. It will go to town if you run out of mana or healing potions when teleporting or when attacking.

Anti-hostile config:This allows you to handle hostile threats in your public games. You can quit as soon as hostility is declared, quit when you see the hostile player nearby or try to kill the player.

DClone config:You are able to wait if there's soj sales or dclone walk in your game. Dclone stop will immediately stop the run, go to town and wait infinitely. Soj wait happens after all the current scripts are finished.

Monster skip config:You can skip monsters based on their immunity/enchantment/auras, and multiple immunites or enchantments.

Attack config:Here you input your attack skills. They must be valid or the bot won't attack. They also must be positive numbers. The only negative value is -1, which means 'don't attack' (you will also get a nice message warning you that you don't have any skills set).

Each character class has their own specific config. Just read the description on each option and set accordingly.

Ingame Commands

Specific to libs:F12 - reveal areaPause/Break - pause/unpause the bot. If you go to town you should return to the same area when you unpause

joinChannel can be empty, so the bot just joins the lobbygames and passwords need to have the same number of elements, so if a game has no password, use "" in its placegames = ["game one-", "game two-"];passwords = ["somepw", ""];

Game names aren't case-sensitive, you can type 'fun baal-' and it will join 'Fun Baal-##' games.

Ingame team botting:

First you need to choose the scripts you want to run.Leader runs Scripts.Baal and/or Scripts.Diablo

Followers can run Scripts.BaalHelper to fight along in a Baal run or Scripts.AutoBaal to just sit in a cornerSame goes for Diablo - Scripts.DiabloHelper for killing along or Scripts.Wakka for following without attackingDiabloHelper and Wakka do not open seals.

Another useful but not crucial setting is Config.QuitList.It is used to quit along with leader.

Team botting scripts don't require a name to follow, so you can follow multiple runs with the same character without having to supply a leader's name. Everything is either auto-assign or completely ignores the concept of needing a leader (join the first throne portal for example, keep running if leader chickens if you don't have him in quitlist)

Important note: Wakka is a personal experiment, don't expect a miracle.

Gambling System:

It is possible to run dedicated gamblers that will get gold supply from other characters.This is especially useful when trying to gamble LLD/VLLD items - mainly circlets - on lower level gamblers (24-45).Gambling rings and amulets is NOT recommended because of their constant and high price. The price of every other item is based on character level and gets lower on low level characters.

Setting up:

Open kolbot\libs\Gambling.jsYou will find settings for gamblers, gold finders, game names and min gold

goldFinders - Here you can put any profile that does mf or gf runs. These characters will join games to drop gold for gamblers when needed.gamblers - Profiles of characters that gamble. They will gamble until their gold is out, after which they'll request gold from goldFindersgambleGames - these are needed so goldFinders can know what to do in a game. The format is game name without the number. So if you're making 'gamble#', put "gamble", and if making 'gamble-#', put "gamble-"minGold - least amount of gold goldFinders should keep. Anything over will be given to gamblers, and if they don't have enough, they won't join gamblers' games

Here's an example:Let's say we have 3 mfer profiles called MF1, MF2, MF3 and one gamble char profile called GAMBLE that makes games "gamble-#" (this is what you put in d2bot manager!).We want all 3 mfers to supply the one gambler, here's how we set that up

(game names are case sensitive here, and d2 always makes the first letter uppercase, I may change case-sensitivity at some point)

All 3 characters run D2BotLead.dbj as their starter.goldFinders don't need any additional character config changesgamblers run Scripts.Gamble in their character config (special scripts), and use Gambling config settings.

d2bs teamsynirc #d2bs crewetal teamMcGod and his mBot - lots of ideas came from here, and I snagged mBot's Storage.jsMuddy Watersrolle3kcuriousmonkey

Misc Notes

Stashing can be done from anywhere in town, and kolbot uses that, so don't freak out if you see item on cursor after visiting a NPC.The official kolbot slogan is "use kolbot or die."Kolbot supports all character classes and most character builds. It doesn't support shapeshift druids, but it does have experimental wolfbarb code. If that proves to be a success, it will be used for druids too. Melee characters (frenzy, conc, zeal, charged strike etc) will walk short distances to reposition when attacking (mostly due to garbage fcr where walking takes less time).Barbarians and ww assassins will use tri-whirl on solo targets (yay)

Pushed an update, added Follower script for ladder reset (pretty much a port of my d2nt follower).dodge ignore list is in Attack.js, it currently has baal and diablo. More bosses can be added at any time so anyone who can think of bosses nobody would dodge, make a list and post here.