Internet Technologies Wiki
Register
Advertisement
The-sims-social-logo

The Sims Social is an online social-network game owned by Playfish (a part of EA).

Resource Manifest[]

The Resource Manifest is loaded by the game pre-loader, and is used for estalishing the url and size of various in-game resources, including the GameEngine which contains most game logic. The Resource manifest is most often compressed using zlib, however it can be decompressed by removing the first four bytes and then running it though a decompressor. (If you use a decompressor expecting DEFLATE, you must remove the 2 byte zlib header). Once decompressed, it is a simple xml file in the format:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<config>
  <paths>
    <path src="http://d.static-cdn.playfish.com/game/simssoc/d/" name="3"/>
    <path src="http://a.static-cdn.playfish.com/game/simssoc/d/" name="2"/>
    <path src="http://b.static-cdn.playfish.com/game/simssoc/d/" name="1"/>
    <path src="http://c.static-cdn.playfish.com/game/simssoc/d/" name="0"/>
  </paths>
  <resources path="3">
    <resource length="992798" src="63QDVnRCs1" name="GameEngine"/>
  </resources>
</config>

The url for the resource manifest is passed to the flash pre-loader as the "pf_manifest_url" flashvar, e.g. http://static-cdn.playfish.com/game/simssoc/d/usXhXexXc1

RPC Packet Format[]

The Sims Social uses a binary RPC format similar to most other Playfish games. All messages are sent over a HTTP POST to http://simssoc.game.playfish.com/g/rpc/simssoc/ and start with a NULL byte (00) followed by a 1-byte message type and then the session id, followed by the message-specific bytes.

Message Types[]

ID Name Format/Parameters
1 init
  • [string] : Capabilites.serverString
  • [string] : fb_sig_* parameters
3 save
  • [uintvar31] : checkoutVersion
5 loadUserInfo
9 getAllFriends
  • [uint8] : Profile Class :
10 getFriends
11 getFeedLink
12 buyNPCRoomBuildingHelp
13 buyCashItem
14 buyTraitWithCash
15 upgradeTraitWithCash
16 buyEnergy
17 changePersonalityWithCash
18 payCashToSkipQuest
19 buyCoinsForCash
20 activateFeedLink
21 buySocialPointForCash
230 logPlatformEvent
231 getQuotesForDirectPayments
232 inboxSendLetterByRequestType
233 getTokenForLetter
234 getCurrencyBalance
235 geterverTimeOffset
236 adjustServerTimeOffset
237 getPlayfishUID
238 inboxGetRestrictedSendUsers
239 getEmailPermissions
240 inboxSendLetter
241 inboxAcknowledgeLetters
242 inboxGetLetters
243 getPlayFishCashAndMessages
244 getPlayFishCashMessages
245 removePlayfishCashMessages
246 getPricepoints
247 claimRewards / pollEvents
248 getCashBalance
249 getServerTime
250 getPurchasableItems
251 recordGameEvent
253 getTimeToken0
254 ping
255 batchOperation
  • [uint8]: batch mode, either:
    • NONE - 0
    • ASYNC - 1
    • INORDER - 2
    • CONDITIONAL - 3
  • [uintvar32]: number of subrequests

The following bytes are subrequests, each with 1-byte type then the message request body.

Advertisement