Difference between revisions of "Spore"
0KepOnline (talk | contribs) (Add OLDEST view type) |
0KepOnline (talk | contribs) (Add https://github.com/Spore-Community/SporeTools & https://github.com/Red-Lattice/spore_id_gatherer, more info about IDs, /static/postcard/) |
||
Line 8: | Line 8: | ||
'''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, [http://spore.com 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.<ref>{{url|https://nedbatchelder.com/blog/200806/spore_creature_creator_and_steganography.html}}</ref><ref>{{url|http://www.rouli.net/2008/08/spores-png-format-illustrated.html}}</ref><ref>http://web.archive.org/web/20141218185448if_/http://sporeswap.appspot.com/</ref>) | '''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, [http://spore.com 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.<ref>{{url|https://nedbatchelder.com/blog/200806/spore_creature_creator_and_steganography.html}}</ref><ref>{{url|http://www.rouli.net/2008/08/spores-png-format-illustrated.html}}</ref><ref>http://web.archive.org/web/20141218185448if_/http://sporeswap.appspot.com/</ref>) | ||
== 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. <ref>https://github.com/Rosalie241/SporeServer</ref> | |||
== Site API == | == Site API == | ||
Line 16: | Line 25: | ||
! !! URL !! Comments | ! !! URL !! Comments | ||
|- | |- | ||
! rowspan=" | ! rowspan="4" | Static Data | ||
| <code>/static/model/'''<subId1>'''/'''<subId2>'''/'''<subId3>'''/'''<AssetId>'''.xml</code> || | | <code>/static/model/'''<subId1>'''/'''<subId2>'''/'''<subId3>'''/'''<AssetId>'''.xml</code> || | ||
Asset XML model. | Asset XML model. | ||
Line 45: | Line 54: | ||
<br /> | <br /> | ||
Should be requested on <code>static</code> subdomain which uses CDN. | Should be requested on <code>static</code> subdomain which uses CDN. | ||
|- | |||
| <code>/static/postcard/'''<Date>'''/'''<subId1>'''/'''<subId2>'''/'''<subId3>'''/'''<PostcardId>'''.jpg</code> (<code>.png</code>) || | |||
Postcard image. | |||
Date is the date when the postcard was sent (<code>YYYYMMDD</code>). | |||
<br /> | |||
Sub IDs are 2 digit partitions of the Postcard ID (like <code>5002</code>:'''<code>72</code>''':'''<code>39</code>''':'''<code>83</code>''':<code>32</code>). | |||
<br /> | |||
Should be requested on <code>static</code> subdomain which uses CDN, although the site itself only uses <code>www</code> for postcards. | |||
|- | |- | ||
! rowspan="13" | REST Service | ! rowspan="13" | REST Service | ||
Line 294: | Line 312: | ||
== Tools == | == Tools == | ||
* [https://github.com/Spore-Community/SporeTools SporeTools] - a simple collection of tools for Spore written in TypeScript. Includes DWR API client. | |||
* [https://github.com/Spore-Community/PNG-Downloader Spore PNG Downloader] - a simple CLI app that downloads all creations by a specific user or in a specific feed (only 128x128 thumbnails). | * [https://github.com/Spore-Community/PNG-Downloader Spore PNG Downloader] - a simple CLI app that downloads all creations by a specific user or in a specific feed (only 128x128 thumbnails). | ||
* [https://github.com/Spore-Community/sporeget sporeget] - a Docker image with CLI utility, saves the creations into .warc files using [[Wget with Lua hooks|wget-lua]] with all the additional data available through GET. | * [https://github.com/Spore-Community/sporeget sporeget] - a Docker image with CLI utility, saves the creations into .warc files using [[Wget with Lua hooks|wget-lua]] with all the additional data available through GET. | ||
* [https://github.com/Red-Lattice/spore_id_gatherer spore_id_gatherer] - a Rust code that brutes asset IDs that have existing thumbnails in the filestore. | |||
== References == | == References == | ||
<references/> | <references/> |
Revision as of 21:29, 12 November 2023
Spore | |
URL | http://www.spore.com/[IA•Wcite•.today•MemWeb] |
Status | Online! |
Archiving status | Not saved yet |
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