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:
05/29/2008
The
Camelot Herald XML files are in the process of being reworked. 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 been reworked and now uses a
schema called "servers.xsd" which is available here. 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: <clusters>
<cluster name="Devon">
<population>7000</population>
<status>Up</status>
<relics>
<relic name="Scabbard of Excalibur" type="strength" realm="Albion">
<owner>Midgard</owner>
<location>Fensalir Faste</location>
</relic>
</relics>
<keeps>
<keep name="Dun Ailinne" realm="Hibernia">
<owner>Hibernia</owner>
<claimant name="Tommy Tutone">
<url>http://www.tommytutone.org/</url>
<heraldurl>http://www.camelotherald.com/guilds/guild.php?s=Akatsuki&g=0</heraldurl>
</claimant>
</keep>
</keeps>
</cluster>
</clusters>
<servers>
<server name="Akatsuki">
<clustername>Devon</clustername>
</server>
</servers>
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, url, and heraldurl only display for a keep if that
keep is currently claimed by a guild. 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!
|