Spore
Spore | |
URL | http://www.spore.com/[IA•Wcite•.today•MemWeb] |
Status | Online! |
Archiving status | In progress... (API data) Partially saved (website) |
Archiving type | ArchiveBot, other |
IRC channel | #archiveteam-bs (on hackint) |
Spore is a video game developed by Maxis and published by Electronic Arts. The game allows players to create customized creatures, buildings, vehicles, adventures (with expansion pack Spore: Galactic Adventures) and share them with other players via the official game site, Spore.com, by publishing creations in-game or via third-party resources by publishing their 128x128 .png thumbnails without any postprocessing. (Data is embedded within the lowest bits of each pixel of those thumbnails.[1][2][3])
Numeric IDs
Spore website uses 12-digit numeric IDs for assets, users, sporecasts (feeds) and postcards (there are some bugged/technical assets that have short IDs with < 12 digits). In theory, one ID can be assigned to 2 or more entries, for example, an asset and a postcard.
Most of the IDs start with 500* or 501* (since 2015-01-01 16:54:20).
300* IDs are related to the staging server of Maxis.
600* IDs don't happen on the official Spore website, though a fan-made server for Spore uses them. [4]
Oddities
The asset upload endpoint on the official Spore server allows any numeric ID to be used. Due to this, we have some assets with bugged IDs.
Here is the full list of them.
- 65* (12-Oct-2008 16:43)
- 106* (18-Jan-2009 04:57)
- 140* (28-Oct-2012 17:46)
- 355 (30-Jan-2009 04:22)
- 361 (25-Sep-2008 20:10)
- 393 (28-Sep-2008 17:35)
- 418* (25-Jan-2009 15:06)
- 429 (29-Oct-2010 00:29)
- 454 (26-Feb-2009 23:37)
- 475* (06-Oct-2008 12:26)
- 577* (03-Jan-2015 20:14)
- 733 (27-Dec-2009 19:49)
- 823 (08-Jan-2010 03:20)
- 903* (02-Oct-2008 00:53)
- 915 (01-Apr-2009 19:03)
- 971 (31-Dec-2008 10:53)
- 1007 (28-Oct-2011 00:54)
- 1032 (28-Oct-2011 00:54)
- 1063 (05-Sep-2010 09:20)
- 1111 (04-May-2009 04:20)
- 1186 (14-Sep-2008 06:17)
- 1228* (15-Sep-2008 17:18)
- 1251* (27-Feb-2009 02:08)
- 1282* (04-Sep-2009 14:49)
- 1321* (03-Oct-2008 15:26)
- 1432 (26-Oct-2008 00:36)
- 1511* (16-Oct-2008 17:44)
- 704523175* (26-Jul-2009 20:10)
- 177325080**
- 531654522**
- 680256650**
- 1012164645**
- 1385337452**
- 1845528953**
- 1875627670**
- 2937832959**
- 3205292240**
- 3267866964**
- 3874981157**
- 3905554096**
- 3975592040**
- 4020099059**
- 4088006058**
- 4131088465**
* missing from the database, but still on the static server.
** doesn't have any corresponding static data, but still in the database.
Site API
Public
Official Spore API documentation is available here: http://www.spore.com/comm/samples
URL | Comments | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Static Data | /static/model/<subId1>/<subId2>/<subId3>/<AssetId>.xml |
Asset XML model. Sub IDs are 3-digit partitions of the Asset ID (like | |||||||||||||||||||||||||
/static/thumb/<subId1>/<subId2>/<subId3>/<AssetId>.png |
Asset PNG 128x128 thumbnail. Can be imported into the game. Sub IDs are 3-digit partitions of the Asset ID (like | ||||||||||||||||||||||||||
/static/image/<subId1>/<subId2>/<subId3>/<AssetId>_lrg.png
|
Asset PNG 256x256 image.
| ||||||||||||||||||||||||||
/static/postcard/<Date>/<subId1>/<subId2>/<subId3>/<PostcardId>.jpg (.png ) |
Postcard image. Date is the date when the postcard was sent ( | ||||||||||||||||||||||||||
REST Service | /rest/stats |
Get daily stats about Spore.com. | |||||||||||||||||||||||||
/rest/creature/<CreatureAssetId> |
Get various stats like height, diet, abilities etc. for a creature. Returns | ||||||||||||||||||||||||||
/rest/user/<Username> |
Get profile pic, tagline, user id and creation date for a username. Returns | ||||||||||||||||||||||||||
/rest/assets/user/<Username>/<StartIndex>/<Length>/<AssetType> |
Get asset id, name, creation date, type, parent and rating for a list of assets created by a user. Always returns | ||||||||||||||||||||||||||
/rest/sporecasts/<Username> |
Get id, name, tags, subscription count, rating etc. for Sporecasts subscribed to by a user. Returns | ||||||||||||||||||||||||||
/rest/assets/sporecast/<SporecastId>/<StartIndex>/<Length> |
Get asset id, and name for assets in a sporecast. Returns both | ||||||||||||||||||||||||||
/rest/achievements/<Username>/<StartIndex>/<Length> |
Get number of achievements for user and a list of achievement ids and unlock-dates. Returns | ||||||||||||||||||||||||||
/rest/asset/<AssetId> |
For a given asset ID, get name, description, tags, 10 latest comments, type, parent, rating, creation date and author name/id. Returns | ||||||||||||||||||||||||||
/rest/comments/<AssetId>/<StartIndex>/<Length> |
For a given asset ID, get a list of comments, sender names, and comment dates. Returns | ||||||||||||||||||||||||||
/rest/users/buddies/<Username>/<StartIndex>/<Length> |
For a given username, get a list of buddy names and ids and total buddy count. Returns | ||||||||||||||||||||||||||
/rest/users/subscribers/<Username>/<StartIndex>/<Length> |
For a given username, get the list of users who have added that username as a buddy. Returns | ||||||||||||||||||||||||||
/rest/assets/search/<ViewType>/<StartIndex>/<Length>/<AssetType> |
List creations for a given view. View types:
Asset types:
Uses | ||||||||||||||||||||||||||
/rest/assets/find/<Query>/<StartIndex>/<Length>/<AssetType> |
Unmentioned endpoint, find creations for a query. Query example:
Conditions:
Asset types:
Returns | ||||||||||||||||||||||||||
ATOM Feeds | /atom/news |
Get Spore News feed. | |||||||||||||||||||||||||
/atom/assets/user/<Username> |
Get a feed of all the assets for the user. Asset name, description, type, creation date, PNG, and XML links are included. Returns 404 if the username is invalid. | ||||||||||||||||||||||||||
/atom/events/user/<Username> |
Get a feed of recent events for the user. Returns 500 if the username is invalid.
| ||||||||||||||||||||||||||
/atom/events/asset/<AssetId> |
Get a feed of recent events for given asset id. Returns an empty feed if the asset ID is invalid.
| ||||||||||||||||||||||||||
/atom/sporecast/<SporecastId> |
Get a feed of all the assets in a sporecast, the date they were added, and links to PNG and XML. Returns 404 if the sporecast ID is invalid. | ||||||||||||||||||||||||||
/atom/assets/view/<ViewType>/<StartIndex>/<Length> |
List creations for a given view. View types:
Returns 500 if the requested view doesn't exist.
|
Internal
URL | Method | Form Data | Comments | |
---|---|---|---|---|
Flash Widget | /view/user-thumbnail-count/<UserID>/<StartIndex>/<Length> |
GET | — |
Used for a personal Flash widget, which can be grabbed on this page: http://www.spore.com/view/tools/widget Returns an XML with a user tagline and a list of assets with their IDs, names, and thumbnail links.
|
DWR Interface | W.I.P. | POST | W.I.P. | Should be researched in the future. |
Tools
- SporeTools - a simple collection of tools for Spore written in TypeScript. Includes DWR API client.
- Spore PNG Downloader - a simple CLI app that downloads all creations by a specific user or in a specific feed (only 128x128 thumbnails).
- sporeget - a Docker image with CLI utility, saves the creations into .warc files using wget-lua with all the additional data available through GET.
- spore_id_gatherer - a Rust code that brutes asset IDs that have existing thumbnails in the filestore.
References
- ↑ https://nedbatchelder.com/blog/200806/spore_creature_creator_and_steganography.html[IA•Wcite•.today•MemWeb]
- ↑ http://www.rouli.net/2008/08/spores-png-format-illustrated.html[IA•Wcite•.today•MemWeb]
- ↑ http://web.archive.org/web/20141218185448if_/http://sporeswap.appspot.com/
- ↑ https://github.com/Rosalie241/SporeServer