FooLOps v1.6.30 by The-Fool -- Readme



 
Please read first:

Errors, comments, praise, suggestions, problems, rants, anything. If you are using the beta version, and notice any unknown packets and statstrings, please report them to me.
        >>> fool@the-balance.com

For the latest in FooLOps developments, and to get any required files, go to the FooLOps forums ...
Quikness.com
fool.the-brethren.com

This bot contains no backdoor to steal your cd-key, password, etc. But, if you don't trust it, don't use it. There is a shutdown command, but that will pretty much be the extent of my control over your bot. However, if anything happens to you, the creator can take no responsibility (I have to save my own skin).  Also, by downloading or running this bot you take full responsiblities for any actions it performs.

If you did not get this bot from me directly, or download it from Quikness, The-Brethren, or any site I support, then I cannot promise you it is not trojaned.  You should never download programs from sites you do not trust.


I apologize for the grammer in this, I sort of threw it together at the last minute. If anyone wants to fix it up, I'd put you in the credits

Contents:
- Starting Off and Running the Bot
- Ops Settings
- Channel Protection/Passwording
- Profiles
- Last seen list
- Hashes
- Proxies
- Other special settings.ini things
- FooLOps Advanced Ranking System
- Clan Auto Ranking
- Safelist/Shitlist/Tagbans
- Other Features
- Beating Floodbots/Loaders
- Some Errors
- Commands List
- Thanks



Starting Off and Running the Bot

When bot first loads, goto the menu Settings > Change Config Settings bot settings. A window will appear.  Enter in you CD-Key, type in username, password, then pick product. When you have entered everything in, press OK.

Goto the menu: {Connect}, and the bot should connect. In order to get the bot to work for your normal account you must in the bot type
 "/add <username> 999" to put yourself on the userlist.



Ops Settings

Spamban - just bans if they talk to fast (3 times in less than a second. (only bots can do this)
FastTalkBan - bans if they talk the instant they join channel (again, bots)
Rejoin Ban - will ban on fast rejoins.
Mass Load Ban - will start banning people if too many joins occur in the channel at once(conditions must be severe)
IP Banning - squelches users on ban and bans all squelched users, to ban by IP address.
Ignore Guests - will disable any interaction from the bot with guest(access 0). This includes greets, commands, checking lastseen/mail, etc.
BotBan - looks for ping spoofing and botplugs and bans if present.
RepeatBan - has 2 modes, Normal and (more severe) mimicban.
Smart Ban - called loadmode on some bots. If a user is banned or leaves channel, it will remove any bans for them in the ques. Helps during flood/loads to prevent double banning or banning of offline users.



Channel Protection
Full Lockdown - [FooLOps Flood Protect] aKa EFP - Will ban all non-safelisted users on join. This is most effective vs floodbots.

Floodmode - changes how the bot will deal with floods.  On floodmode 1 the bot is at heightened security, and slows the normal que down to deal with floods. On floodmode 2, all non bans/unbans will not be displayed until the floodmode is over. In addition, certain features of the bot(greets, etc.) are disabled to save bot processing time and increase efficiency. Floodmode does NOT provide any banning(by itself). Other features are used with it.

Normal Lockdown
- Locks down the channel requiring safelist or a certain access, otherwise a ban. See commands

Channel Passwording - This requires users that are not already authorized and not safelisted to whisper the password to gain access to the channel. Channel Passwording has 3 modes: Once a user whispers the password, they are placed on the authorization list. Any user can be authorized manually by the .auth command(wildcardable). See the commands list for description of passwording commands.

Profiles

This version of FooLops has a profiles system. This allows you basically to create a profile for every account you want - each with its own cd-key, username, home channel, etc. This allows for easy switching between accounts. Just click the profile you wish to use and hit OK.

>>I have updated the profiles system to use multiple .ini files, one for each profile. This system is less prone to errors than the ones from previous vers(1.6.15 and below). Also, config files in the profiles folder can be copied, renamed, and deleted as you wish.


LastSeen List

The bot will keep track of when users join/leave/talk in a channel.  If the autosave is enabled, then the list will save itself every 8 minutes or so.  If it is not enabled, you will have to click "save all" in order save the list.  You can limit it to the most recent [insert number here] users, with the max users setting (saves memory).  You can also choose to only record those with at least a certain access.  If access is set to 0, the bot will keep track of everyone it sees (Ignore Guests will override this).



Hashes

In order to use hashes, you will need to obtain hash files, either from the game client itself or from somewhere online.  Try xstarcraftx.net. Each set of files should be put in the corresponding game folder. Starcraft = STAR, Brood War = SEXP, Diablo II = D2DV, Lord Of Destruction = D2XP, Warcraft II = WAR2 .  There are 3 files per client, you only need the hashes for the one you are connecting on. If hashes are too complicated for you, just use BNLS.



Proxies

This should work (hopefully it does)
Until I fix the options stuff, this is what you do:
1) Open settings.ini
2) Underneath the [Options] heading add the lines
       UseProxy=True
       Proxy=<proxy server here>
3) good luck ><



Other special settings.ini things

>>>if under options you put the line "HideKey=" followed by a keycode, that key will be used instead of the default "0" when using the shift+ctrl+0 combo to hide the bot.

If you enter a number between 0-9 then then bot will convert that number into the
actual keycode for that number (48-57)

>> [Options]BNLSServer=    > sets the bnls server to something other than the default. I use this when vLs DNS is acting up(like it always does).
>> [Options]UseProxy=      > enables/disables proxies
>> [Options]Proxy=         > sets proxy IP addresss
>> [Options]StartStatus=   > Window status at bot startup 0=normal window, 1=minimized, 2=hidden.
>> [Options]HideKey=  > see above
>> [Options]Verbyte=  > Overrides Bot's Internal verbyte(in case of patching).



Users/FooLOps Ranking System

Ranks -
FooLOps stores a rank, along with access and flags, for each user in its database. Ranks can be anything you want them to be. i.e. You could put your rank as "GoD" and some newb in your clan as "I am a Dumbass". Or you can use real ranks(General, etc.) The system is open.

Flags/Access -
Numerical Access determines which commands they can access. There are currently only two flags that actually has any effect on the user
Advanced Ranking System -
Basically, what this allows you to do is literally organize your whole clan for you. If you run ranks in your clan(i.e. warrent officer, commander, operator, grunt, anything), you can tie the ranks to the access/flags system. The ranks are determined by the ranks.txt file. For example:
-You have a rank called "Commander" with access "80"
-You have a rank called "Leader" with access="100"

So now what? You can add users anyway your want. Here are a few uses of the add command.
.add reckless[fool] 80 commander - sets reckless[fool] to 80 access and rank commander
.add reckless[fool] commander - sets reckless[fool] to rank commander, and fills in the access of 80
.add reckless[fool] 80 - bot finds rank closest to 80, and fills it in. reckless[fool] is added with rank commander and access 80
.setrank reckless[fool] leader - sets the new rank, and fills in new access(100)
.promote/.demote reckless[fool] - moves the user up/down one rank in the list
.rem reckless[fool] - removes user from bot

Who has access to demote/promote is based on access. The bot will not allow users to set access higher or equal to theirs. Custom greets are available for each rank(see ranks.txt). The ranks system can also be tied to warcraft III clan ranks.

ranks.txt has the format for the files written in it. Also included are a few example ranks files. Enabled/disable the ranks system under advanced in the options form.


Clan Auto Ranking

If enable this in the options menu, and you run a war3 clan, then the bot will automatically add and rank everyone in your clan to the userlist. 

If you are using the ranks system, then new members of the clan are added the rank specified in ranks.txt. Otherwise, the following is used:


Peon/ Peon(Probation) : 20 access - Probation is the 7 day waiting period peons must go through before being moved up to grunt automatically by BNET
Grunt : 40 Access
Shaman : 80 Access
Cheiftan : 100 Access

All users that are tied to the clan ranking system have a flag of "C".  When users are added by the clan system, they are automatically given a flag of "C"(if using ranks, they will be given flags based on ranks. You should set those ranks to use flags of C).
The bot will change their rank if their access goes outside the range between any two ranks. Example:
-You change a grunt to access 50 instead of 40. This is fine, the bot will not change them.
-Your shaman then demotes this grunt(or any grunt with access 40+) to peon. On the next clanlist update, the bot will change the user to 20/Peon

To keep the bot from changing their access based on their wc rank, just remove the C flag by using the userdatabase, or using .setflags command. Bot will also remove users with "C" flag that are no longer in clan.  Updates to clan list are done on bot logon, or refreshes can be done manually with the command: ".refreshclanlist"
If you don't have "Update Userlist on Rank Change" checked, then the clan rank system will only add users, not remove or change their rank. If you don't have "WAR3 Auto-Rank" Then this whole system is disabled.


Safelist/Shitlist/Tagbans

The safelist, shitlist, and internal autobans all are searched through using a binary search.  If you don't know what it means, it makes a 1500 person safelist take about 10-12 comparisons to search through, compared to other bots which will take 1500 comparisons to see if the user is safelisted.  So don't be afraid to put a lot of users on the safelist to save speed during floods.

Shitlist is a list of users that will be banned on join.  Tagbans are wildcardable, and apply to the username and wc3 clan.

Example:
   .shitlist YouveBeenRaped -shitlists the accout
   .tagadd *raped -tagbans all users with "raped" at the end of their name
   .tagadd Fe - bans all non-safelisted users in Warcraft III Clan Fe

The ban and kick commands are wildcardable. So for isntance, if there are 30 bots sitting in your channel all starting with the name "War]Bot" then you can do .ban war*, or even .ban * to ban them. This checks access/safelist first, and also applies to kicks.

You can wildcard the unbans too. If you type .unban * it will unban everyone who has been banned by the bot. The bot keeps track of the realms(@useast, @azeroth, etc.) that often cause other bots trouble.


Other Features

This is a brief list of other features in the bot. Many things are not listed(i forgot to add them in).

Drop protection
the GUI will temporarily shutdown if it is being mass spammed or loaded.  This cannot be disabled.
Autobans
if a user is banned, or should be banned but they logged off, then they will be added to the autoban list. This works for ban evasion. The bot also stores a list of users who are actually banned, for use of the .unban * command. This system does not have trouble with realms.(@useast, @azeroth, etc.)
Bot Window Settings
- Ops/Chat: Default setting - enables the text window and chat box to allow you to view the channel status and talk through the bot.
- Ops Only: Disables the text window and chat box to save RAM and speed.  Clears all previous text out of the Text Box.  Logging can still be enabled.
Bot Mode Settings
- Full:  enables all commands and options: winamp, say, rockpapersissors, etc...
- Limited:  enables only ops related commands and greets/idles
- Ops Only:  disables all non-ops related options. Greets/idles will not be displayed, and mail will not be checked on join(users must use !inbox).
Join / Leave Messages
Whether or not they display in chat window. (Ctrl+J)
Display Milliseconds  Enabled/Disables milliseconds in the chat window time stamp
Lock Chat 
If you press Ctrl+L it will lock the chat window (allow you to select stuff, etc.) Bot will still operate as normal, and a limited amount of text will be saved for reoutput to window (without color) upon unlocking the window (Ctrl+L again).
Userlist Popup Menu 
There is a right-click popup menu on the userlist that contains options for invite, banning, etc.
Safelisted UnIpbanning 
If a safelisted user joins the channel, and they have been ipbanned on another account, then they will be unipbanned allowing the bot to respond to them.
Clan Auto-Safelist 
Any user that joins with a war3 clan tag the same as this tag will be auto-safelisted.



Bitching Floods/Loads

First things first: (definitions)

Now, So you want to get rid of those floodbots? You wont always be able to. Floodbots can join/leave in a single packet, so by the time the bot sees a floodbot join, they are gone.
Floodbots have the advantage. The only way you can win is if the odds are stacked in your favor. You need a Good connection+Good Comp+Good bot(FooLOps). Connection matters most. They need 56k+shitty flooder. Otherwise, the chances of your banning are greatly decreased. Get over it.

So heres what you do. If your getting flooded type ".f own" or whatever your trigger is. This will enable floodmode to stop the que, and enables EFP to ban on join. Then goto the settings menu, disable logging, and most importantly disable the Chat GUI. This is the key to the speed of the bot.
Other things you can do to help

I have been able to ban floods on my Cable Connection using FooLOps, while running several other programs. If it don't work, you could always follow the dumbass rumor that flawed is a magic bot, or you can get a fucking clan channel.
Good Luck.


Errors

When trying to connect with any bot(FooLOps included) there are some errors that may occur. I put up this section to keep people from asking me dumb questions.
Commands

Most are pretty obvious, and dont need descriptions. Some commands have aliases not listed, for example botban has an alias of ".bb" and .fban=.fb, etc.

An interesting feature(thanks to Darkness for the idea) is if you do a command in the bot window with a trigger of "//" then the response will be sent to BNET.
/ver
[09:46:13] // ^^FooLOps^^ v1.4.146 //
//ver
[09:46:55]<<FoolishOpZ>> // ^^FooLOps^^ v1.4.146 //


FooLOps Commands:

 [ 0 ]

!inbox - reads mail (no response if no mail and under 20 access)

!clear (!clearmsgs) - clears all previously read mail from inbox  

*triggers for these two commands can not be changed.

 [ 20 ]

?ver

.whoami

.mail <user> <message> - sends a botmail message to the user

.whois <user> - displays rank/flags/access of a user. Also wildcardable. ".whois j*" will find all users that start with 'j'.

.ping <user> -returns ping of the user (ping at logon)

.pingme - pings the person who said the command.

.time - displays the current time

.cmdlist - displays a list of custom commands

.say <message> - bot says message to chat window

 [ 40 ]

.lastseen <user> - queries the lastseen list

.users - lists all users on the bots list(warning, if you have a big userlist, everything will be sent)

.channel - returns current channel of bot

.mp3 - displays current winamp song(see winamp commands)

 [ 50 ]

.cq - clears bot que

.kick - kicks a user from a channel (wildcardable)

.banned - list all users that have been banned from channel since bot joined

.clearbanlist (.cbl) - Clears the banned list/autobans.

.safecheck <user> - Checks if a user is in the safelist

.lastwhisper - Displays last user to whisper the bot.

.safelist - view safelist/shitlist  to add or remove a user use:
            >>.shitadd <user> or .shitdel <user>

.shitlist - when the account joins the channel, they are automatically banned.


 [ 60 ]
 
.ban - bans the user from the channl (wildcardable)

.unban - unbans user from channel (wildcardable)

.scq - silently clears bot que

.status

.add <user> <rank> - adds account to the userlist

.squelch <user> - Squelches the user(wildcardable)

.unsquelch <user> Unsquelches the user(wildcardable)

.rem <user> - removes the user from the userlist

.promote <user> - If ranks.txt is enabled, moves the user up one rank

.demote <user> - If ranks.txt is enabled, moves the user down one rank

.setrank <user> <newrank>

.setflag <user> <newflags>

.whispercmds -toggles whispering of responses
 
.ranks - displays a list of loaded ranks with their access/flags/greets. If not used as an inbot command, then the display is formatted with rank name/access only for better que usage.

 [ 70 ]

.exile <user>  - bans, ipbans, and shitlists a user

.unexile <tag>

.ipban <on/off/user> - Enables/Disables IPbans, or IPbans a user.

.unipban <user> - unipans user(unbans + unsquelch)

.(safe/shit)(add/del) <user> - Adds/Removes a user to the shit/safelist

.tagadd <tag> - adds a tagban

.tagdel <tag>

.tagbans - lists tagbans

.setidle  - set idle/greet msg
    >> options for use in greet/idles are:  ^B - bots username
        >> ^C - current channel  ^U - username(greets only)
        >> ^P - user's ping      ^G - game product code

.setgreet <greet message> - sets the greets for users that don't have a greet specified by rank.

.greet(on/off)

.idle(on/off)

.idletime <time> - sets to time in minutes, minimum of .5

.ignoreguests <on/off> - ignores greets/access of bots to those with no access

.status - displays status of ops settings

.mailall <msg> - botmails everyone on the userlist

.mailaccess <access> <msg> - botmails everyone with at least the required access

.getpass - bot whispers back the current channel password

 [ 80 ]

.lockdown <access>
    - enables channel lockdown/protect
    - bans all non-safelisted users that join that have less that the lockdown required access (default is 20)

.home - goes to home channel

.rejoin - jonis the void then comes back to channel

.fban - force bans a user (instant), or places them in the special floodbanque.

.designate -designates the user to obtain ops when the bot leaves

.op <user>- designates user and rejoins

.spamban <on/off>

.rejoinban <on/off>

.massload <on/off>

.repeatban <on/off>

.fasttalk <on/off>

.smartban <on/off>

.invite <user> -does a war3 invite of the user(bot should be shaman/chieftan)

.csafe <clan tag> - will automattically safelist any war3 or FT player that joins     channel with this tag

.levelkick <levek> - kicks users without access with less than required level

.levelban <levek> - bans users without access with less than required level
    >You can have level kick and level ban set to different settings

.levelmessage <msg> - sets the message to be displayed when users is level kicked/banned

.join <channel> - bot joins the channel

.autorank <on/off> - enables wc3 clan autoranking

.refreshclanlist - requests the clan list and updates users as necessary

.passprotect <on/off/full/clan/0/1/2/3> (.pass) - sets the pass-protection mode(see channel protection settings).

.setpass <pass> - sets a new channel password

.open <time> - turns the clan channel public for "time" seconds, then recloses it(Clan Private). Used during passmode 3, and during clan private.

.auth <user> - manually authorizes a user for pass protection(so they dont have to whisper the password). Also wildcardable with users in the channel.

.clearauth - clears the channel password authorization list

.clan <public/private> - enables wc3 clan public or private mode.
 [ 90 ]

.efp <on/off>
    immedialty bans users on join after safelist check

.floodmode <mode>
    >>FloodMode can be set to 0,1,2 (off, on, max) when floodmode is on the normal que is slowed down in order to allow time for bans. All anti-spam/rejoin flood settings are enabled.
    >> if the floodmode is set for 2, the normal que is disabled to provide time for bans.  In order to ban someone, use the settings(i.e. spamban/rejoin ban/efp) or use the fban command.

.sethome <channel> - sets the bot's home channel

[ 100 ]

.quit - closes the bot(after saving all files)

.settrig <newtrigger> - changes the bot's trigger.

.reconnect - Reconnects the bot. The bot will join the home channel on reconnect.

.opsmode <full/limited/opsonly> - Sets the OpsMode (which features/commands are activated).

.acceptinvite - The bot will now accept all invites to join/make clans. By default, the bot declines invitations.

.declineinvite - The bot will now decline all invites to join/make clans. By default, the bot declines invitations.

/createclan <tag> <name>
(Inbot Command Only) Attempts to create a Warcraft III clan using the specificed tag and name. This is mostly tested, but it might not work. For info on how to create clans please check out: Battle.net Warcraft III Clan Creation/Description

/debug <on/off>(inbot only) - Enables/Disables debug mode. Debug mode displays the contents of all packets received, not recommended for normal use.

Winamp Commands[100]
OpsMode must be set to full. Thanks to Rabbit cause I stole his winamp class(lazy bastard fool).

.loadwinamp - loads a program from the directory: "C:\Program Files\Winamp\winamp.exe"

.play - Starts Winamp play

.stop - stops play

.setvol <volume> - sets winamp volume

.repeat - Toggles winamp's repeate

.shuffle - toggles shuffling of playlist

.pause - pauses play

.previous - Skips to previous spot on playlist

.next - skips to next spot on playlist

.fos - does a Fade-Out-Stop

.mp3 (Access:40) - displays current song


 - Readme by Loud (Modified by FooL)
[Much Thanks To:]

  • HdxEvilFire
  • ScorpiouS and Wolven_Killer ((Banner/GFX)) - check out their site, its the shit.
  • KK)Blaze(KK - cause hes a fucking beast(and the RPS)
  • R.a.B.B.i.T. - for the Winamp control that I was too lazy to write
  • Loud(extensive beta testing & readme)
  • Darkness(//idea)
  • Linkin/IlVlI - for being so crazy
  • Legend/Eceltic - For providing my hosting for all that time
  • Everyone who gave me online space and helped test this or contributed, thank you.