Campalot Raidbot‎ > ‎

Version 6.0

Also known as:

Campalot: The Next Generation

This is the under development version of Campalot 6.0. It is far from finished. It was (is?) a very ambitious overhaul. It started with a clean copy of BeBot 0.6.3, and everything that has been completed so far has been updated or coded from scratch to take full advantage of the newer BeBot core. 

I've had a vision of what a raid bot should be, or could be long before I started coding Campalot. Think Acom days, or maybe even before. If there is one project that has been inspiring me it's been admin mod for the original Half-Life/Counter-Strike (before Valve added voice chat to the game.)

Admin Mod was an exceptional bit of software. It put limited admin functionality into the hands of the players. Players on an admin mod server can start votes to change maps, re-balance teams, kick annoying players, and other functionality I'm sure I've forgotten. 

My vision for Campalot TNG is to create a bot that is run by it's players. The role of the all powerful admin (Glarawyn, Naturalistic, and others) would be diminished. The honor of raid leader isn't granted by an admin who likes you, it's granted by winning enough votes from the other bot users. If you're being annoying, other players can vote to kick you off the bot. 

Karma System

To start with, the core of the bot is a karma system. I don't have just a single karma system, I've implemented multiple karma systems. (In hindsight, this may not have been the wisest idea. A simpler implementation might be better in the long run.) 

The main karma system is vote karma. Vote karma shows you how well liked (or disliked) you are by other players. In order to be able to start a vote to elect you leader, you have to have enough positive vote karma.

Gaining vote karma is easy: convince others to give you positive karma. Other users can give you positive or negative karma. Positive karma is worth +1 to your karma score, negative karma is worth -1. User's can also have neutral karma. Neutral is also no vote, and it worth 0. 

So to start with, other users give you positive or negative karma. Just like in real life, players can change their opinion of you at any time. So if you do something stupid during a raid you may find you have a lot of negative karma. 

Kick Karma: The bot will keep track of the number of times your are kick voted off of the bot. Kick Karma is calculated by taking the number of times you've been kicked and multiplying it by the the kick karma multiplier. The multiplier is configurable and can be changed on the fly. 

Example: You've been kicked twice. The kick multiplier is 10. Your kick karma penalty is: -1*2*10. (-20)

Ban Karma: Same as kick karma, higher multiplier. 

Leader Karma: Similar to kick and ban karma, only this is a bonus not penalty. Every time you win a leader election it is counted, a multiplier is applied, and you get a karma bonus. 

Raid Karma: Raid Karma is a bit of a throw back to Acom. If you remember Acom, you earned a point for every raid you attended. All loot had a set price (usually 5 to 25 points.) Raid Karma is similar. You will earn one point of raid karma for attending a karma based raid (more on raid types later.)  

Org Karma: Similar to vote karma, except this rates an entire organization not just an individual. It's implemented so that only the top two ranks in an org can register/change their karma votes for other organizations. For example, the President and Generals of Circle G can register votes for other organizations, but lower ranks cannot. 

The votes are registered to your main, hopefully that will keep votes from farm orgs to a minimum.  Also the bot will check periodically to see if voters have changed orgs, and if so those votes will be removed. As an organization vote can represent hundreds or even thousands of people org karma will likely have a high multiplier when calculating the karma bonus. Like the other multipliers, the org karma multiplier is adjustable on the fly as a setting. Known trouble orgs should quickly acquire plenty of negative karma, which should prevent members of that org from starting leader votes. I also threw in a configurable cap on the org karma bonus, just in case things get out of hand.

Unlike points, the karma system is open to everyone. Anyone can look-up your karma and see how much karma you have and what types of karma make up that total. 

Vote System

As I mentioned, Campalot TNG will let users start a vote to get themselves elected as a raid leader, as well as a vote system to kick troublesome users. An elected leader will have leader access for a limited amount of time (90 min to 3 hours, maybe more. This will be configurable). A kicked player will also be temporarily banned from the bot so that they can't immediately return. 

The vote system will require a quorum from the online users. For example, if there are 50 users online, a quorum of 25% means that 12 people would have to vote to establish a quorum. If less than 12 users vote, the bot will still tell users the result but the bot will take no action. Quorum is a configurable value.

Multiple Raid Types

To start a raid, leaders will have to select their objective from a list of configured raids. 

Raid Objectives
  • APF13, APF28, APF35, APF42
  • Pandemonium
  • 12 Main Instance
  • Various Quests (Dustbirgade)
  • Other stuff as we go.

Different objectives will have different available raid types. Leaders will have to select the raid type from the possibilities available for their objective. 

Raid Types
  • Points + Auction
  • Karma, Leader Pick
  • Karma, Priority Pick
  • Karma, Raffle All
  • Karma, Priority Buy

APF sectors will have all raid types available, Dustbirgade quests would only have Karma raid types available, or maybe only a specific raid type available. 

Points = Auction: Earn raid points, loot is auctioned. Works the same as Campalot works currently. 

Karma, Leader Pick: Earn a raid karma point for attending the raid. Raid leader picks who gets what. 

Karma, Priority Pick: Loot is distributed by priority. Highest karma = highest priority.  

Karma, Raffle All: Earn a raid karma point for attending the raid. All loot is raffled (flatroll). 

Karma, Priority Buy: Acom Style

Multiple Simultaneous Raids

There are 8 Campalot bots, so the system will support up to 8 raids running simultaneously. Handy for raiding Sector 42, or for raiding APF, Pand, Camelot, EFP, Dustbirgade, etc. Users will only be able to join one raid at a time. 

Fixed Alerts

Buddy list management has been redesigned. Everyone who wants alerts will get alerts. Also, if you log on to AO while a bot alert is running, you'll be added to the list of users who are getting an alert. 

I'm also thinking of creating a module that will allow org bots to receive alerts from Campalot and broadcast them to org chat. 

Faster Auctions and Raffles

Mass Auction/Raffle will be the default. All items will be on the block at the same time. 

Automated Alt Linking

Users will be able to link alts without admin intervention. User will send a request to link their alt. They will then have to log the alt on and confirm that action. My hope is the karma system and the ability of the bot to run multiple raids will deter people from linking their friends as their alts. I may go the one step farther and remove points for any duplicate raids when alts are linked. 

Forking BeBot

When designing Campalot:TNG I wanted to implement as much as possible without having to create a fork of BeBot. This would be advantageous as updates/improvements made by the BeBot team could then be easily rolled into Campalot. Most of Campalot:TNG's custom modules simply replace the stock modules in BeBot, so no code fork is required.

Implementing the leader and kick vote system however required modifying the way BeBot's core security system functions. This forced a code fork, but I intended to create careful documentation so that updates from the BeBot could be rolled into Campalot with some work. Unfortunately is seems that Campalot will always be a fork of BeBot, and not a collection of modules that can be applied to any BeBot.

Wrap Up

So that's my overview (so far) of Campalot TNG. I'm posting it here to collect input that you may have. So, fire away! :D


Highly recommended that you don't actually try to run this... 

Campalot_6.X.zip
View Download
Development Snapshot of Campalot: TNG  574k v. 1 Jun 4, 2010 9:43 PM AO Glarawyn
Karma_1.0.0.zip
Download
Just the modules related to the Campalot Karma System.   10k v. 1 Jul 6, 2010 9:59 AM AO Glarawyn