Files
resurrection-capsule/docs/API_http.md
2019-11-18 19:55:58 -03:00

5.2 KiB

Darkspore-LS API (outdated)

The Darkspore-LS API needs to support all the APIs that Darkspore used to rely on. Due to that, there are multiple APIs that need to be supported, and here we gonna cover each one of them.

Main API

Those requests used to be made to http://config.darkspore.com/bootstrap/api. It always receives the GET parameter method, which basically defines which kind of information should be returned. We need to handle each of the methods separately, so that API will be split by method.

api.test.null

Progress: 0%

Description: ???

api.status.getBroadcastList

Progress: 0%

Description: ???

api.account.auth

Progress: 0%

Description: (Uncertain) Probably the method used to login with your EA games account. Considering that there is no Origin public API, we are probably just going to make it return that the user is authenticated independently of the case, but still using different usernames to differ different players using the same machine.

api.account.getAccount

Progress: 3.5%

Description: Method used to retrieve the user account details (DNA, XP, level, name, avatar, etc). It can also return the user feed, decks and creatures.

api.account.logout

Progress: 0%

Description: ???

api.account.setNewPlayerStats

Progress: 0%

Description: ???

api.account.setSettings

Progress: 0%

Description: ???

api.account.unlock

Progress: 0%

Description: ???

api.config.getConfigs

Progress: 100%

Description: Configures how to the game should handle requests. It can also be used to completely modify the launcher.

api.creature.getCreature

Progress: 0%

Description: (Uncertain) Probably retrieves the details about said creature.

api.creature.getCreaturePng

Progress: 0%

Description: (Uncertain) Probably returns the data of a PNG with the said creature, since this is the way that the SPORE engine handles the saving of creatures.

api.creature.resetCreature

Progress: 0%

Description: ???

api.creature.unlockCreature

Progress: 0%

Description: ???

api.creature.updateCreature

Progress: 0%

Description: ???

api.deck.updateDecks

Progress: 0%

Description: ???

api.game.getGame

Progress: 0%

Description: ???

api.game.getRandomGame

Progress: 0%

Description: ???

api.game.getReplay

Progress: 0%

Description: ???

api.game.exitGame

Progress: 0%

Description: ???

api.inventory.getPartList

Progress: 0%

Description: ???

Reference pic: http://davoonline.com/sporemodder/rob55rod/DI9r_Ref/Inventory.png

api.inventory.purchasePart

Progress: 0%

Description: ???

api.inventory.flairPart

Progress: 0%

Description: ???

api.inventory.updatePartStatus

Progress: 0%

Description: ???

api.inventory.vendorParts

Progress: 0%

Description: ???

api.inventory.vendorPart

Progress: 0%

Description: ???

Surveys API

It's probably direct related with the Steam demo version, and can be found at /survey/api. It always receives the GET parameter method, which basically defines which kind of information should be returned. We need to handle each of the methods separately, so that API will be split by method.

api.survey.getSurveyList

Progress: 0%

Description: (Uncertain) Probably list the Demo version surveys.

Status API

That name is provisory, and is due to the fact that the only use found for that API until now is updating the server status in the Darkspore launcher. That API path is /api and /game/api. Just like the API above, it receives the GET parameter method, which in the case above defines which kind of information should be returned. Considering that, and the possibility that we can find other utilities for that API in the future, we gonna handle each of the methods separately, so that API will be split by method as well.

api.status.getStatus

Progress: 100%

Description: This method checks if the game needed servers are online (api (added later), blaze, gms, nucleus and game). In the older versions it also received a callback parameter, with the value updateServerStatus(data), but that's no longer the case.

SPORE Labs APIs

Those APIs may be a legacy part of the code, or maybe not. In any case, those are the paths of its requests. The host is still unknown, but most likely in the hosts list, so it's irrelevant.

  • /web/sporelabsgame/announceen
  • /web/sporelabsgame/creatureprofile
  • /web/sporelabsgame/finish
  • /web/sporelabsgame/friends
  • /web/sporelabsgame/inventory
  • /web/sporelabsgame/leaderboards
  • /web/sporelabsgame/lobby
  • /web/sporelabsgame/persona
  • /web/sporelabsgame/profile
  • /web/sporelabsgame/register
  • /web/sporelabsgame/squad
  • /web/sporelabsgame/store
  • /web/sporelabsgame/wiki
  • /web/sporelabs/alerts
  • /web/sporelabs/home
  • /web/sporelabs/resetpassword
  • /web/sporelabs/stats

Other APIs

The use of those APIs is still unknown, although they can be found in the game EXE strings. Their hosts are also unknown.

  • /bugs/choosepath.php
  • /survey/takeSurvey.php
  • /game/service/png