Page 1 of 1

Logfile API from Kramin

PostPosted: Monday, 12th December 2016, 00:11
by chequers
Just wanted to highlight a new project that Kramin has created. There is now a near-realtime API for getting logfile / milestone data of DCSS games!

What are logfiles / milestones?
With online play, crawl creates three types of record of games:
* Logfiles hold a record of every completed game, it looks like this: Slain by an Orc
* Milestones hold a record of important events in games, they look like this: Killing Jessica

How do I use this API?
It's currently accessible at https://api.crawl.project357.org/

You can access the complete historical record of online DCSS games using the event API, or for current data at lower latency you can use a websocket stream.

Why create this a logfile API?

Historically, crawl services like Sequell or the scoreboard needed to talk to game servers individually and manage their log data individually. This had some problems:
* Every service duplicated the same download/parsing logic
* Need to keep individual applications updated when official servers are added or removed
* When a new service is born, data from past servers is unavailable
* Every new service adds load to game servers

Creating this logfile API fixes all these problems. You can simply ask the API for "all games" or "all milestones" and you will get them, from the first game 10 years ago to the latest game, all with a latency of <10 secs.

What uses this logfile API?

Currently two projects: Kramin's new IRC announcer bot (Postquell), and the new scoreboard.

Can I use this API?
Yes, the API is open to all! Documentation is lacking, but it's a reasonably simple service, and you can speak to myself or Kramin on IRC for help.

Will the API be enhanced in future?

Perhaps. It does what it needs to quite well already, but there are some small enhancements to be made.