Spore
Spore | |
URL | http://www.spore.com/[IA•Wcite•.today•MemWeb] |
Status | Online! |
Archiving status | In progress... (API data) Partially saved (website) |
Archiving type | Unknown |
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 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 fan-made server for Spore uses them. [4]
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:
Selects | ||||||||||||||||
/rest/assets/find/<Query>/<StartIndex>/<Length>/<AssetType> |
Unmentioned endpoint, find creations for a query. Query example:
Known conditions:
Asset types:
Returns | ||||||||||||||||
ATOM Feeds | /atom/news |
Get Spore News feed. | |||||||||||||||
/atom/assets/user/<Username> |
Get a feed of all the assets for 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 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, 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 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