If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Demoder's Corner (Tools and Stuff)

About
This thread will represent all my AO-related tools, services, guides and whatever else I come up with.
Programming and writing things is mostly a creative outlet for me, which probably explains why I have so many work-in-progress projects at any given time.

ToolsDescription
These tools are thought useful for the general AO populance.

Demoder's Map UpgradesDescription.....: A program which lets you find out which map & map reader upgrades you're missing, and can upload.Details...........: [Release Announcement]Download.......: [1.1.1-Release]

Demoder's Tower WarsDescription.....: A website which lets users follow tower wars on both dimensions. History and statistics are available.Details...........: [Forum Post]Online............: [Website]Project Page...: None at this timeSource...........: None at this time

Development ToolsDescription
These tools are thought useful for those who develop third party content for Anarchy Online.

Central Items DatabaseDescription.....: A website which provides a simple item search-and-display interface for applications (mainly bots). This makes it optional to maintain a local items database per bot.Details...........: Implementing VhaBot's CIDB specification, this CIDB is compatible with bots which already use one of the other CIDBs out there. [More information]

OtherDescription
This section contains links to guides I've written, documentation of protocols, and anything else which doesn't fit into the previous categories.

Demoder's Tower Wars

This post is in the process of being rewritten. Stay tuned!

Demoder's Tower Wars

Description
This webpage allows the user to see the current state of tower wars, recent tower war activity, browse recorded history (Sept '07 for Atlantean and Sept '06 for Rimor), and more.
You can see which property a guild currently possess (this algorithm has some limitations), a tower sites ownership history, and more.
The website is over at http://towerwars.info/

Public InterfacesDescription
The tower war site use javascript to fetch information from a set of interfaces which are available to the public.
These interfaces are intended for developers whom want to experiment with tower war data.

Data Format
There's two output forms you'll be interested in: JSON and JSONP. Choose which one you want to use with the "output" parameter: .../content/*.php?output=X.
Replace X with the wanted output: json, jsonp, xml, html (Not all support xml and html). If you choose jsonp, please also provide the parameter "jsonp=function_name".

Common Parameters
All interfaces take the "dimension" parameter: .../content/*.php?dimension=X. Replace X with the wanted dimension; 1=Atlantean, 2=Rimor. You may alternatively use "d=X".

MiscStats: Various informationDescription.....: This interface provide a peek at different summaries. You may specify multiple parameters per request.BaseURI.........:http://towerwars.info/m/MiscStats.phpParameters....:Number limit NoValue most_aggressive_guild, most_victorious_guild, biggest_successfull_zerg, longest_standing_sites, side_towers

TowerDistribution: Who owns what tower site?Description.....: This interface provide access to see who currently owns what tower site, or at a user-defined time.BaseURI.........:http://towerwars.info/m/TowerDistribution.phpParameters....:Number numresults, minlevel, maxlevel, site_number FullText guild, faction, site_zone UnixTime attime

Missing PF maps?

Map upgrades - which ones am I missing?

And more importantly, which ones am I missing AND able to upload?
I have asked meself this many times, and ent up with a long, tiresome process of checking the map booth, one and one map, checking map navig requirements...
So, when I was going to upload maps to my newest toon, I just sat down to make a new tool for this.

Where?
The online tool is no longer operational, but an offline tool is available.
Please see the original post in this thread for download links.

It works like this

Retrieve your current maps&mapupgrades

Target yourself in AO, press T to get up the infowindow displaying your stats.

Uploadable: These are maps & map reader upgrades which you can upload.

Available: These are maps & map reader upgrades which you can not upload yet.

Uploaded: These are maps & map reader upgrades which you have already uploaded

Active PFs: This is a settings tab. Generally leave this alone; However, if some patch enable some of the zones that are marked as inactive, you can easily toggle them in this tab, and have the program check for them as well.

Oddities in the list?
Map information is taken from the ingame items, available in the map booth.
Those that did not have exact information (Borealis City, for instance), were checked towards auno.org.

FLWbot

All communication with the relay hub is via privatemessage.
Commands:
open Makes the hub invite you to its privategroup.
close Makes the hub kick you from its privategroup.

And that’s it. That’s all you need to know about making your bot compatible with the relay hub.

The Protocol

Many things are relayed. Protocols SHOULD be implemented in such a way that they are backward and forward-compatible.
Everything in this list is communicated through the relayhubs privategroup.
Your bot should always ‘register’ its tags and onlinelist when a new bot enters the channel.
Please add a anti-flood system, making it delay for a few seconds to see if more bots join or not, to avoid flooding. (usefull for when the AO chat servers are acting up)

Tags

Instead of saying that “Person X logged on in guild *name of guild*”, the protocol use something called tags.

If the tag is negative, the event is not occuring ingame, so there’s no point in trying to aquire whois information about the usernames from the AO database. Recommended: 0 for guild, 1 for guest.
Storage information: Tags are unique to each bot. Make your bot store them as such. Example PHP array structure: $tags["hubname"]["botname"]["tagid"]["tagname"];

Syntax: tags “x.a:y.a” “x.b:y.b” “x.c:y.c”
Example: tags “-1:IRC” “0:FLW” “1:FLW Guest” “2:CommandRelay”
Recommended implementation: Deal anything between two quota marks as a entity. Split up each entity into subentities, based on the colon, meaning that the first subentity would be the tag id, second would be the guild name. Make sure that you allow for more subtags to be added, even though your bot won’t know how to use them.
Recommended failsafe implementation: If your bot doesn’t know the ‘name’ of a given tagid, make it display hubname:botname:tagid instead.

Online lists

When a bot joions the channel, it doesn’t know who’s online untill the other bots tell it.
Onlinelist is the way of doing this. Bots that let people hide themselves from the relay onlinelist or logon/off list, should sync the online list ever so often to make sure that people are not stuck as being shown as “online” after enabling the ‘hide me’ function.
Storage information: Online lists are unique to each bot. Recommended PHP array: $onlinelist["hubname"]["botname"]["tagid"]["nickname"];

All messages should be sent as-is, without aditional formatting from your bots end.
This means; Don’t add a color tag to the outgoing messages. If the user did, let it pass. It’s a part of the message.

Hey, with the shutdown of aotowers.com your site is the closest site with tower info. Personally, I really like how fast your site updates ! tho I find the interface a bit dull.

Something your site could REALLY use is to have some rankings, similar to what aotowers used to have. The best would be to have some sort of rankings page, separated from each server page.

Here are several rankings that come to my mind.

Most agressive orgs ( # of atks )
Most agressive characters ( # of atks )
Most victorious orgs ( # of site kills )
Most victorious characters ( # of atks that resulted in site kills)
Best tower rating ( (# of wins - # of loses)
Worst tower rating ( # of wins - # of loses)
Best defended orgs( # of succesfull defenses)
Top griefing orgs( # of atks that didnt end in site kill)

I have been working on a new towertracker site for roughly a week now, but a lot of IRL stuff has come in the way.
I'll try to implement those stats. The plan is to implement everything in such a way that it's all displaying live. The monitoring bots report directly to the database which the site pulls its info from, so it would be a shame if the statistics weren't live also.

Also a Top Support/Assist org (no. of attacks that result in someone else winning), like the opposite of Top Griefing ><

And keep up the good work, best AO site evar

bai2u!-::l2pvp!1::- Electronite: FFA also destroyed Clan hegemony when it comes to tower wars. Ironically the downfall was started by the most active pvpers. Another ironic thing is that the downfall happened due to pvm conflict.Silirrion: (We have pretty good anti-troll filters by now though)Means: Thong-wearing troxes will always be a part of this game and a point of AO pride.Keldros: Obviously reall trolls don't use conditionerMarlark: If this forum was Swedish in it's language .. id pawn you any day.220 NT: tl7 is a joke most of the time. 90% of the people are double double dead. some are worth debuffing tho.Mastablasta: you guys are right and I'm wrong.Ebag: No. You alpha me'd due to the stat bug.More Ebag: I don't have any twinks currently, nor do I participate much in mass TL7 PvP (though I do go occasionally, usually just to watch).Questra: an MP in sneak eNSDed me and did about 20k damage in 10-12 seconds