elf image courtesy grillghod
On Sunday, October 4th, I hosted my first Twitch livestream, talking about Daybreak Games‘ awesome Census API service and how it empowers EverQuest II, DC Universe Online, and PlanetSide 2 fans to create powerful and dynamic websites and mobile apps. This month marks the four year anniversary of Daybreak Games offering nearly unfettered access to rapidly updated static and dynamic data from its games. The depth and quality of this information is unparalleled and possibly unique in the industry.
This livestream is rather Technical in nature and lays the foundation of how to request EQ2 data through Census calls. A followup stream will build upon this foundation and create a rudimentary Guild Roster website in PHP language.
I’ve edited the 72 minute livestream down, removing a few dull bits, an exploration of a feature which it turns out has been removed (oops!), and also blanking out my misbehaving webcam which displayed static for approximately 5 minutes towards the latter half of the program. I suggest popping out the video (it’s in full 1080p) so that the query calls can be more easily be read…
An archive of the original Census forums can be found on my SOE/DC Forum Archives.
Documentation & Useful Links
- Daybreak Games Census Homepage — including where to Signup for a Service ID and the initial Documentation on how to use the service.
- Documentation: Data API (Census) Frequently Asked Questions
- Documentation: The Data API
- Documentation: EQ2 Quests, Collections, and Recipes
- Documentation: EQ2 Guilds
- Documentation: Negative Item Identifiers
- Documentation: EQ2 Item Data Update for 2013
- Documentation: EQ2 Green Adornments (Soulstones) & Alternate Advancement Profiles
- Documentation: EQ2 Marketplace Data
- EQ2 Census: Data Types (collections)
- EQ2 Census: Constants (secret decoder ring)
- State of the EQ2 Data — Updated 2019
Example Census Queries
Characters, Items, Spells, Achievements, etc. are things that we had to explore on our own to figure out how to read and handle this data vs, how it looked in-game. We have never gone back and produced documentation on how Characters, Items, Spells, etc. work. This is something I would like to go back and do some day. In the mean time, here are some example queries on how to get started:
- Raw EQ2 Character: http://census.daybreakgames.com/xml/get/eq2/character/?name.first=Feldon&locationdata.world=Butcherblock
- EQ2 Character with a SHOW filter: http://census.daybreakgames.com/xml/get/eq2/character/?name.first=Feldon&locationdata.world=Butcherblock&c:show=name,type,locationdata,quests,guild,account,displayname
- EQ2 Characters with over 6,500 quests completed: http://census.daybreakgames.com/xml/get/eq2/character/?quests.complete=]6500&c:show=displayname,quests&c:limit=50
- EQ2 Character with a Resolve on Item Name & Level: http://census.daybreakgames.com/xml/get/eq2/character/?name.first=Feldon&locationdata.world=Butcherblock&c:show=equipmentslot_list.item.id&c:resolve=equipmentslots(displayname,leveltouse)
- Count of level 95+ EQ2 Characters that are Aerakyn race (id#20 from Constants page): http://census.daybreakgames.com/xml/count/eq2/character/?type.raceid=20&type.level=]95
- Count of EQ2 Characters with Mithril Ring of Amplified Power equipped: http://census.daybreakgames.com/xml/count/eq2/character/?equipmentslot_list.item.id=2955538444
- Guild Roster with AAs, Level, Race, Class, and Deity for each character: http://census.daybreakgames.com/xml/get/eq2/guild/?name=Honor%20Among%20Thieves&world=Butcherblock &c:resolve=members(displayname,type.aa_level,type.race,type.deity,type.level,type.class)&c:show=member_list,name,world
- Distinct list of all EQ2 Spell Categories: http://census.daybreakgames.com/xml/get/eq2/spell/?c:distinct=given_by
- Alternate Advancement Tree Info for Monks:
- TreeIDs: http://census.daybreakgames.com/xml/get/eq2/constants/?c:show=adventureclass_list
- Monks have all these AA trees: 2, 17, 47, 62, 73, 106, 121, 127, 149, 158
- Tree #149 (Class Prestige): http://census.daybreakgames.com/xml/get/eq2/alternateadvancement/149
- The Monk prestige ability “Undeniable Power” has a spellcrc of #378524994
- Show the versions of this spell if 1-8 points are spent in this AA choice: http://census.daybreakgames.com/xml/get/eq2/spell/?crc=378524994&c:limit=20&c:show=effect_list,tier,name
- TreeIDs: http://census.daybreakgames.com/xml/get/eq2/constants/?c:show=adventureclass_list
- Item named Primeval Hauberk of the Virtuoso: http://census.daybreakgames.com/xml/get/eq2/item/?displayname=Primeval+Hauberk+of+the+Virtuoso
- All Shoulder Items with 1200+ Agility equipable by Monks: http://census.daybreakgames.com/xml/get/eq2/item/?slot_list.name=Shoulders&modifiers.stamina.value=]1200&c:has=typeinfo.classes.monk &c:show=displayname,modifiers.stamina,typeinfo.classes.displayname&c:limit=20
- Items starting with the name “Primeval Hauberk”: http://census.daybreakgames.com/xml/get/eq2/item/?displayname=^Primeval+Hauberk&c:show=displayname&c:limit=10
- Items starting with the name “Primeval Hauberk” (case-insensitive): http://census.daybreakgames.com/xml/get/eq2/item/?displayname_lower=^primeval+hauberk&c:show=displayname&c:limit=10
- Items containing the words Longbow and Bluejacket in the name (case-insensitive): http://census.daybreakgames.com/xml/get/eq2/item/?displayname_lower=*longbow.*bluejacket&c:limit=10&c:show=displayname,type,leveltouse
- Level 90 items that have Flurry (first 100 in no particular order): http://census.daybreakgames.com/xml/get/eq2/item/?leveltouse=90&c:has=modifiers.flurry &c:show=displayname,leveltouse,modifiers.flurry&c:limit=100
- Level 90 items that have Flurry (sort from highest to lowest on Flurry): http://census.daybreakgames.com/xml/get/eq2/item/?leveltouse=90&c:has=modifiers.flurry &c:show=displayname,leveltouse,modifiers.flurry&c:limit=10&c:sort=modifiers.flurry:-1
Conclusion
Thank you once again for tuning into the livecast. If there is anything I can do to assist you in building Census-driven websites and mobile apps for EQ2 or any other game Daybreak supports, please let me know! I’m @EQ2Wire on Twitter, morganfeldon (at) gmail.com on Gmail/Hangouts Chat.
It was a very good presentation Feldon. I could not watch it until full ending but I will watch it again and again on twich or youtube and will begin to test some queries as soon as possible.
Nice idea to give us all these links back (not so easy to copy it during the livestream).
If only there was a way to hook into the different chat channels so you could read guild chat or general on your mobile. I’m sure there used to be quite a few years ago.
There was, but they did away with it.
They need OAuth or similar for chat authentication. I think the old way it worked had some security holes they closed.
Yeah it was a cobbled together Jabber server.
How often are the IDs subject to change? e.g. the AA trees listed for Monks in your example above.
ID’s shouldn’t change. Note, different tiers/ranks of items/spells may have different IDs than each other…
All versions of a spell share the same CRC but different IDs.
Thanks, just wanted to make sure of that. 🙂