Introduction Botting is clearly defined as illegal, and people are often removed for this. In the past this has forced "Botters" to create new and better "bots", which will of course be eventually discovered by wizzes, and those guilty of botting will be removed. This kind of structure has resulted in the formation of a type of game (played by botters) in which shortsighted players create bots in a competitive fashion. The object of this destructive game is to have the "Bot" that accumulates the longest playing time, or the most xp or game-money before it is found and deleted by the ever-watchful arches. It should be noted that this game is detrimental to ordinary BAT players as these bots have become quite developed and once established, often accumulate money and "xp" in the game faster than evan a seasoned player. This, in turn, contributes to the ever frequent downgrades of all players -- since these bots affect the balance of the game, by accumulating game-money and "sxp" faster than most players do. It also means that the game itself is very crowded with efficient bots and that actual players must compete with these mechanizations, and often be outdone by them. It is therefore in the best interest of players to recognize or identify bots so that they can report them to arches for removal. Not only does this result in a more playable game for actual players, but it can also earn the reporting character task points and other things beneficial to play. "DUMB-BOT" This is the easiest type of bot for a botter to create, but it rarely survives very long at all. A bot of this type simply executes a preset set of commands over and over again, once every "time cycle". The commands are typically killing some monster, getting some item, or such. These bots are not very prevelent on BAT and BAT does have safeguards in place that greatly hinder them. Things like eating, drinking, having to ask for resses, eventually reincing, etc. "TRIGGER-BOT" This BOT is still relatively unsophisticated, but tends to pop up from time to time. A trigger-bot works off 'triggers' -- by monitoring output coming from the game and acting on those with a set or rules. This gives these bots a way to survive longer by eating, drinking, even asking for a ress on their own. However, no trigger-bot will survive long on its own due to the unforseeable situations which come up here. Therefore, trigger-bots are mainly used as "companions" for botters, like automated secondaries. Most of these bots have some simple low-level functionality, but will also listen to a "master" character and execute any command given from him (in the form of tells). The best way to locate these "companion bots" is to suspect anyone that always parties with and acts with the same people, and to look for characters that Also, if you can intercept people's tells and get tells like "kill ..." or "break wall", ordinary MUD commands this is very suspicious behavior. If person A tells person B something, and person B does it w/o fail repeatedly, then it is likely person B is really a companion bot for person A. Another indicator is that trigger-bots tend to deal with things they can't handle in a single way, or to just ignore them. For instance, a typical trigger-bot will ignore anyone (except its master) that it receives a tell from. "LOGIC-BOT" The next type of bot is called a logic bot. A logic bot is more complex than a trigger bot but written in the same fashion. Most logic bots are written in a logic-oriented (theoretical and binary) computer language, rather than just a client using triggers. Originally, this was a common type, but it has fallen into disfavor because it has certain problems and takes a long time to create. However, this method can be used to create such bots like "talkies" that do nothing but talk to people or the like. The way to identify these bots is that while they react to "stimulus", it will only be in a preset number of ways. For instance, a typical logic bot's code that handles tells might look like this: (if (= (word line 2) "tells") ((set r (random 3)) (set p (word line 1)) (if (= r 1) ((command (+ "tell " p "shut up!")) (command (+ "ignore " p)) ) (if (= r 2) (command (+ "tell " p " yeah, me too.")) (command (+ "tell " p " I don't think so.")))) . . . Unlike a trigger-bot, this will give three different canned responses to a tell-er. This can sometimes help it pass itself off as an actual character. But, in most cases it will eventually ignore someone who is telling it, so they will not discover it is just repeating canned responses. Even though bots like "talkies" might seem harmless, they can lead to some severe problems. These problems mostly happen when one bot "interacts" with a bot of a similar type. For instance, take the example of two talkie-bots, A and B. and B. Both these bots say "hi" whenever anyone enters the room, "bye " whenever anyone leaves the room, and respond to a say with "that's nice, ." If A is an one room and B walks in, someting like this will happen. A enters. B says "hi A" A says "that's nice, B" B says "that's nice, A" A says "that's nice, B" B says "that's nice, A" ... Lum says "Stop it!" A says "that's nice, B" B says "that's nice, A" (never ends) ... Info: A removed for botting. Info: B removed for botting. Lum says "dayatcha!" "MEMORY-BOT" A memory bot is a simple type of bot, typically a logic bot, with a "memory". The memory is used for both playing and personal interaction. For instance, a non-memory logic bot might give you the same tell twice, while a logic bot with a memory could store what canned tell # it's given to each character so that it never repeats the same canned tell more than once. While this bot is an improvement over the logic bot, it still cannot approach problems well. For instance, it cannot get into parties pre-emptively because it cannot follow abstract instructions. So while this is the most advanced simple type of bot, it still cannot perform well on BAT for reasons like this. Hence, like the other simple bots it still exists mostly as a "helper" bot to serve as a regular party member for botters or to serve as a castle guard or the like. A "memory bot" can often feign some level of intelligence by doing things like remembering the names of people who attack it, and running away from them if they appear. Once again, the way to test for these bots is to look for any character that responds to a certain circumstance with a one of a preset number of responses. For instance, they might instantly go linkdead or quit if they are summoned, and they might respond to tells by picking a random word from one of the past 3 tells you've told them and saying "I don't know anything about ". "JARGON-BOT" This type of bot can often confuse players who aren't experienced at spotting bots. One of the majour problems with bots is that they cannot do important things like get into parties. A jargon bot is designed to be a standalone bot that can pass for a player and uses this to do things like get into parties with unsuspecting players, who think they are just partying with an actual (non-bot) player. Partying is central to the typical jargon-bots processing, since partying allows the bot to "piggyback" on other characters playing the game. A typical jargon bot will use the who and the who party commands to locate a party around its level, and then ask to join. Perhaps it will be summoned, or perhaps it will be told "no", or perhaps it will be told to meet the party at a certain location. A jargon bot is always searching tells for key phrases like "SC" (south crossing), "church" (the starting church in the game), and "CS" (central square) and has some built-in logic on how to get to these places. This is why it is called a "jargon" bot, it understands a lot of the game "jargon" or "terms" and acts accordingly. Likewise, a jargon bot is able to follow many abstract commands simply by scanning for key words in tells and watching the party channel. For instance, a jargon bot that is a healer-character will search it tell it gets for "BOT", and if it receives such a tell will try to cast "BOT" (blessing of tarmalen) on the teller. While a well-thought-out jargon bot may be able to pass for an actual player, cautious players can often discover them by observing if they have any "commen player sense". For instance, many jargon bots follow commands unquestioningly, without any foresight as to their consequences. These type of bots are often called "Simon says-bots", named after an old childhood game. (church) Lum enters the game. A says "Hi there, Lum." tell A blah zork feeple snorky SC phone alchemist zonni crimson brigade you tell A (...) A tells you sure, I'll be waiting at SC. e;e;s;e;e;6 n (central square) l (central square) A Amarth, the elven bardish archwizard Lum tell A frapple screen apple amarth baby doorknob kill blah A kicks Amarth, causing small scratches. Amarth shrugs. A is dead, RIP. A [ghost]: can I get a ress? ... tell A come to CS you tell A 'come to CS' A enters. tell A kill amarth you tell A 'kill amarth' A punches Amarth, causing small scratches. Amarth shrugs. A is dead, RIP. Amarth asks "what's going on here?" say This 'A' character has to be a bot, I told him "kill amarth" twice and he did it. Amarth says "Hmm." say try tell A come to SC. say and tell A kill amarth. A enters. A kicks amarth, causing small scratches. A is dead, RIP. Amarth says "Bot's aren't tolerated here." Info: A removed for botting. Jargon bots can become more effective by making good use of "memory". But the problem here is that a jargon bot will believe anything it hears, it doesn't have a way of filtering the good from the bad. For instance, if I ask a jargon bot to come to SC, and it doesn't know where SC is, it might ask me for directions to get there. If I tell it the wrong directions, it won't realise these directions are wrong even if it's obvious they are (ie. n;s;n;s;n;s from church). Another way to find out if a character is a jargon bot is to ask a simple but oscure question like what country they are playing from, what kind of beer the like, or what time it is over there. If the character can't offer a few simple real-life questions any other person could answer, like what kind of computer he's using, it's likely a bot.