|
Important
Note: These instructions are designed for the use of experienced
web programmers and are not intended for novice designers. Mythic
Entertainment CANNOT provide you with help or support on
understanding or implementing anything described on this page for
your own web site!
Legal Information: Content is only for use by non-commercial sites. Mythic reserves the right to refuse or withdraw permission to reproduce any of this material from any sites which by its sole determination do not inure to the benefit of Mythic Entertainment, Inc.
Last update:
12/31/2004
The Camelot Herald XML files are in the process of being reworked and information from the new expansions is being added. When this is complete this documentation will be updated. Watch the Camelot Herald news for updates!
XML
files available
Using Camelot Herald XML with Windows NT and IIS
Using Camelot Herald XML with Unix, Apache and PHP
Using Camelot Herald XML with Javascript
Here's some
basic information on how to access data published by the Camelot
Herald for your own use, such as for publication on your guild's
website or a Dark Age of Camelot news site.
The Camelot
Herald publishes data for the use of external web sites via XML.
The XML we publish is very basic, using a strict XML 1.0
specification, and should be usable by any XML-compliant web platform.
To that end, rather than "well-formed" XML or the Microsoft
schema, our XML pages use a DTD, called "mythic.dtd" available
here.
Currently published
information includes:
SERVERS.XML
http://www.camelotherald.com/xml/servers.xml
If you are viewing
this page using Internet Explorer 5.0 or higher, you should be able
to follow the above link and view its XML code. This page is updated
constantly and provides the following data:
- Server name
- Server type
- Current user
count
- Whether or
not the server is up
- Ownership
of all relics on the server
- Ownership
of all keeps on the server
- Optionally,
if an individual guild has laid claim to a keep, its name, website,
and Herald web page.
The data format,
like all XML, should be fairly self-explanatory. Here's an example:
<server name="Pendragon"
type="Test">
<population>70</population>
<status>Up</status>
<relic name="Scabbard of Excalibur" type="Melee"
realm="Albion">
<owner>Albion</owner>
</relic>
<keep name="Caer Boldiam" realm="Albion">
<owner>Albion</owner>
<claimant>Tommy Tutone</claimant>
<claimant_guildurl>http://www.tommytutone.org/ </clamant_guildurl>
<claimant_heraldurl>http://www.camelotherald.com/guilds /Pendragon/8675309.php</claimant_heraldurl>
</keep>
</server>
The "realm"
attribute for relics and keeps denotes the original owner
of the relic or keep. The "owner" element denotes who
currently owns the relic/keep.
claimant, claimant_guildurl and claimant_heraldurl only display
for a keep if that keep is currently claimed by a guild. If you
are feeling particularly ambitious, you could parse claimant_heraldurl,
replace php with xml in the url and download the guild's xml file
programmatically. Uses for this are left as an exercise for the
reader.
NEWS.RSS
http://www.camelotherald.com/xml/news.rss
If you are viewing
this page using Internet Explorer 5.0 or higher, you should be able
to follow the above link and view its XML code. This page is updated
whenever a story is entered or edited on the Herald and provides
the newest 7 stories in RSS format. This is the same format used
by Slashdot, Motley
Fool, and many other sites to syndicate their news stories and
there are hundreds of RSS/RDF tools available for PHP
and ASP
to parse this data.
INDIVIDUAL
GUILD XML PAGES
Sample guild page: http://www.camelotherald.com/guilds/Pendragon/281.xml
If you are viewing
this page using Internet Explorer 5.0 or higher, you should be able
to follow the above link and view its XML code.
These pages
are updated approximately every half hour. The data within them
is refreshed irregularly depending on the server. Our target for
character data refreshes to the webserver is at least every 72 hours.
Each guild has
its own XML file, which can be read both for basic guild information
and for basic statistical information on each character within the
guild. The guild data is contained within <guild_status>.
Basic guild
information is embedded within the <guild> tag using attributes.
Each character is a seperate <character> record within the
guild container, using both attributes and elements.
<guild name="Arcanium"
realm="Albion" activechars="74"
activemembers="40"
guildrp="171249" contacturl="" websiteurl=""
timestamp="2002-03-03 11:59:31"
sshield="http://www.camelotherald.com/shields/4-2-2-full.png"
semblem="http://www.camelotherald.com/realms/ insignia/b_emblem_039.gif">
<character name="Galihaed" laston="Recently">
<race>Highlander</race>
<class>Armsman</class>
<level>50</level>
<guildrank>8</guildrank>
<totalrp>4801</totalrp>
<lastweekrp>0</lastweekrp>
<anon>True</anon>
</character>
Important fields
within the <guild> tag:
ACTIVECHARS:
How many active (logged in within 45 days) characters are within
the guild. One guild member may have multiple characters.
ACTIVEMEMBERS:
How many active (logged in within 45 days) members are within the
guild. Again, members can have multiple characters. Members are
not associated with their characters due to privacy concerns.
GUILDRP: Current
Guild Realm Points. This is seperate from character Realm Points.
These are not Guild Bounty Points, which can be spent and are not
displayed on the Herald due to inter-realm competitive concerns.
CONTACTURL and
WEBSITEURL: contact information about the guild entered by the guildmaster
from within DAOC.
TIMESTAMP: The
last time the individual character data for this server was refreshed.
SSHIELD: URL
to graphic of guild's emblem background stored on Camelot Herald..
SEMBLEM: URL
to graphic of guild's emblem sigil stored on Camelot Herald.
The shield graphic
is designed to be the background of a table containing the emblem
graphic (consult any Herald guild page for example HTML).
Please be
kind and download these and the emblem graphics to your own web
server before using them in your own pages. Linking them directly
adds to the server load and bandwidth costs of this server, and
abuse will cause these graphics to be removed.
Most of the
fields within the <character> tag are self explanatory.
TOTALRP: Total
Realm Points for that character. These are not Bounty Points, which
can be spent and are not displayed on the Herald due to inter-realm
competitive concerns.
LASTWEEKRP:
Realm Points that character has earned within the past week. We
attempt to keep this number up as much as possible but due to the
length of time it takes to compile character data it may not be
authoritative.
ANON: Whether
or not the character has chosen to flag their character "Anonymous"
to external data collection. This feature as well as exporting of
character trade skills is currently in development by the game programmers.
Currently everyone is set to an Anon value of "True".
SPELLS.XML
SPELLS-SI.XML
http://www.camelotherald.com/xml/spells.xml
http://www.camelotherald.com/xml/spells-si.xml
If you are viewing
this page using Internet Explorer 5.0 or higher, you should be able
to follow the above link and view its XML code. This page is updated
after every server patch and provides complete data on every spell
line in DAOC. See the seperate mythic_spells.dtd
for a complete breakdown of what information is published.
SPELLS-SI.XML
includes Shrouded Isles - specific spells and includes two new elements
- petcast and sub_spell. Petcast is for spells that the caster commands
the pet to cast - it lists the value for the original caster, and
the spell attributes themselves are used by the pet when casting.
Thus a spell with a cast time in petcast of instant and of 2 seconds
in the spell itself is interruptible when cast by the pet.
sub_spell is
a spell cast as a result of the first spell. This is used by pets
that cast their own targeted spells, or proc adding spells that
add the sub_spell as a proc.
Other notes/quirks
with the spell XML pages:
Negative values
in spell damage/bonus scores indicate percentages. Thus "Beautified
Remedy", a Cleric heal spell that heals 50% of the target's
health will have a value of -50.
Disease is not
quantified in the XML, as it is a static debuff effect. Disease
always debuffs the target by 7.5% movement and 15% total hit points,
and prevents health regeneration.
STYLES.XML
http://www.camelotherald.com/xml/styles.xml
If you are viewing
this page using Internet Explorer 5.0 or higher, you should be able
to follow the above link and view its XML code. This page is updated
after every server patch and provides complete data on every combat
style in DAOC. See the seperate mythic_styles.dtd
for a complete breakdown of what information is published. Note
that the damage listed on this XML file is in many cases different
from what actually displays as /delve in game. We are working on
reconciling these differences as quickly as possible.
Now that you
have this information, the next question naturally is what will
you do with it. If you don't already have an XML publishing system
for your web site, there are a number of options.
If you are running
IIS on a Windows NT web server, this
article on 15 Seconds is a good quick introduction to using
the XML document object model with ASP. The article assumes that
you are first downloading the XML document locally before parsing
it with your web page using this method, so it isn't the most efficient
method of importing data. Jason Olsan (Corrael of The
Lost Patrol, Merlin/Hibernia) pointed us to an
article on MSDN that explains the open method for the Microsoft.XMLDOM
object that will retrieve the XML data remotely. Here's a short
JScript-ASP code snippet:
<%@language=JScript%>
<%
var objSrvHTTP;
objSrvHTTP = Server.CreateObject ("MSXML2.ServerXMLHTTP");
objSrvHTTP.open ("GET","http://www.camelotherald.com/xml/servers.xml",
false);
objSrvHTTP.send ();
Response.ContentType = "text/xml";
Response.Write (objSrvHTTP.responseXML.xml);
%>
Microsoft is
making XML a core part of its Web Services initiative with Windows
XP and .NET, so there's a great deal of information available on
MSDN,
most of which assumes you are using .NET and Windows XP.
If you are running
Apache on either Unix or Windows NT, chances are good that you are
using PHP for serving dynamic
pages. (A quick glance at the URL in your browser should tell you
how we feel about PHP.) PHP can optionally be installed with core
XML support using the expat parser. If your server is so configured,
there is an excellent tutorial
at SitePoint on how to use PHP to import XML data. Or, you could
use these ready-to-go
PHP pages provided by the Purple
Dragons.
If your server's
PHP module is not compiled with the XML library, you can use the
php.XPath classes
to provide basic XML functionality.
And if all else
fails, Scarab at the incredibly popular DAoC
Catacombs site (yes, we use the Character
Builder all the time here at Mythic, too) has graciously made
two files for displaying server counts available from his own web
server that can be included in your own site using Javascript. Here's
how.
We plan to provide
as much information to the DAoC community as possible via XML; hopefully
it proves useful to you.
Important
Note: These instructions are designed for the use of experienced
web programmers and are not intended for novice designers. Mythic
Entertainment CANNOT provide you with help or support on
understanding or implementing anything described on this page for
your own web site!
|