Mobile API
- This is work in progress, but please contribute if you can.
The Mobile API consists of multiple parts.
Disney API endpoints
Disney API endpoints are used for authentication, getting information about players and buying items. Disney API endpoints are located at https://api.disney.com/clubpenguin/mobile/v2/ and are accessed through HTTPS.
wns
wns is used for finding out the address of server (room) to connect.
GET //api/v0.2/xxx/game/get/world-name-service/start_world_request?name=clubpenguin_town_en_3&product_name=clubpenguin&owner=SWID&token=TOKEN HTTP/1.1 Accept-Encoding: gzip, deflate Connection: close User-Agent: clubpenguin_quests_release/1.6.4 CFNetwork/672.0.2 Darwin/13.0.0 Accept-Language: en_US Accept: */* Cookie: JSESSIONID=SESSION Host: n7vcp1clubpwns.clubpenguin.com:80
HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/plain;charset=UTF-8 Content-Language: en-US Content-Length: 146 Date: Wed, 27 May 2015 00:04:28 GMT Connection: close
[S_WORLDLIST]|13434341|clubpenguin_town_en_3|n7pcp1clubpgam12.clubpenguin.com|6448||crowdcontrol|clubpenguin_town_en_3|CPNext_dev_branch|255201684
Notice the n7pcp1clubpgam12.clubpenguin.com and 6448 – these are the address and the port of the game server. Also the Accept-Language part is set to the device's OS language, even though CP may not support it.
Game server
Game server is responsible for rest of the things that were previously covered by Extension in SFS – that is, most of all, interaction between players. In addition game server provides players with meshes and textures of the rooms.
After opening a socket, client specifies the device type (might be useless as android passes iOS as os) and then authenticates using SWID and a token.
Client sends request in the form /command arg1 arg2 …
, server uses [TAG]|arg1|arg2|…
/user_agent deviceType=iPhone,os=iOS_7.1,displayRes=720x1280,platform=goo /login live SWID TOKEN [S_USERAGENT]|0|deviceType=iPhone,os=iOS_7.1,displayRes=720x1280,platform=goo [S_LOGINDEBUG]|Got /login command from user [S_LOGINDEBUG]|Successfully verified credentials server-side [S_LOGINDEBUG]|Finalizing login, creating final user object [S_LOGIN]|SWID| [S_WORLDTYPE]|0|1|0 [S_WORLD]|13434341|clubpenguin_town_en_3|0:113140001|0|none|0|crowdcontrol|clubpenguin_town_en_3|0|200.5991|0 [W_BASEASSETURL]| [W_DISPLAYSTATE]| [W_ASSETSCOMPLETE]|SWID| /ready [W_INPUT]|use|0:10|2|3|0|use| [W_INPUT]|touch-the-terrain|0:8600033|1|6|0|path_terrain| [W_INPUT]|mouse-the-terrain|0:8600033|1|3|0|path_terrain| [W_PLACE]|0:205790002|2|0 [P_MAPBLOCK]|t|1|1|iVBORw0KGgoAAAANSUhEUgAAAEAAAAAoCAAAAABrpaM1AAAANElEQVRIiWNgGAWjYBSMghEJGEEAhzAc4BDGqoSgykFrALo55BoAN2XUgFEDiM+Jo2BQAwDdDQLtiDfyPgAAAABJRU5ErkJggg== [P_MAPBLOCK]|h|1|1|iVBORw0KGgoAAAANSUhEUgAAAEEAAAApCAAAAABPOxuuAAAAIklEQVRIie3MIQEAAAACIKc73RFWGED6isFgMBgMBoPBcBgfzjTMSGY6zQAAAABJRU5ErkJggg== [P_ZOOMLIMIT]|-1.000000|-1.000000 [P_RENDERFLAGS]|0|48 [P_SIZE]|64|40 [P_VIEW]|5 [P_START]|3|7|0 [P_LOCKVIEW]|0 [P_TILESIZE]|16 [P_ELEVSCALE]|0.031250 [P_RELIEF]|1 [P_LOCKSCROLL]|1|0|0|51842872 [P_HEIGHTMAPSCALE]|0.078125|128 [P_HEIGHTMAPDIVISIONS]|1 [P_CAMERA3D]|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|864397819904.000000|0.000000|0|0 [UI_BGCOLOR]|255|255|255 [P_DRAG]|0 [P_CAMLIMITS]|0|0|0|0 [P_LOCKRENDERSIZE]|0|1024|640 [P_LOCKOBJECTS]|0 [UI_BGSPRITE]|-1:-1|0|0.000000|0.000000 [P_TILE]|0||1|1|1|0:2|blocking|0|0|0|0:48340034 [P_TILE]|1||0|1|1|0:10|clear|0|0|0|0:48340035 [P_PATHLAYER]|0|0|1|1|Player Pathing Layer [P_PATHLAYERTILE]|0|0|0 [P_PHYSICS]|0|0|0|0|0|0|0|1 [P_ASSETSCOMPLETE]|0|0 /place_ready [O_HERE]|556|0:2480001|3|7|0|1|90|-0|0||0:1|0|1|0 [O_CLIENTEVENT]|556|setAnimPaths|{"Marshmellow":"<base_asset_url>avatar/transformations/marshmellow/en_US/deploy/animation/all_platforms/all/","Olaf":"<base_asset_url>avatar/transformations/olaf/en_US/deploy/animation/all_platforms/all/","penguin":"<base_asset_url>avatar/penguin/en_US/deploy/animation/all_platforms/all/","puffle":"<base_asset_url>avatar/puffle/en_US/deploy/animation/all_platforms/all/"} [O_CLIENTEVENT]|556|setAvatarLoadingData|{"character":"penguin","lightBrightness":1.05,"lightDirection":{"x":0,"y":-3,"z":2},"positionEncoded":"{\"x\":0,\"y\":-1,\"z\":0}","rotation":{"x":2.0943951023932,"y":3.1415926535898,"z":3.1415926535898},"schemaJson":"<base_asset_url>avatar/jsonData/transformation_schema.json","shadow":"<base_asset_url>avatar/penguin/en_US/deploy/mesh/all_platforms/penguin_shadow.mmf","shadowFriend":"<base_asset_url>avatar/penguin/en_US/deploy/mesh/all_platforms/penguin_shadowGreen.mmf","shadowSelf":"<base_asset_url>avatar/penguin/en_US/deploy/mesh/all_platforms/penguin_shadowBlue.mmf","url":"<base_asset_url>avatar/penguin/en_US/deploy/mesh/all_platforms/penguin.mmf","zoom":"0.7"} [O_HERE]|146|0:2480001|3|7|0|1|90|-0|0||0:1|0|1|0 [O_HERE]|148|0:2480001|54.5|32.5|0|1|74.2488|-0|0|Actor148|0:81040002|0|1|0 [O_YAW]|148|0.274914 [O_HERE]|159|0:2480001|41.5|30.5|0|1|72.7585|-0|0||0:1|0|1|0 [O_YAW]|159|0.30092 [O_HERE]|182|0:2480001|34.5|32.5|0|1|-50.6193|-0|0||0:1|0|1|0 [O_YAW]|182|2.45426 [O_HERE]|193|0:2480001|32|20|0|1|90|-0|0||0:1|0|1|0 [O_HERE]|214|0:2480001|61.5|26.5|0|1|108.435|-0|0|Actor214|0:81040002|0|1|0 [O_YAW]|214|5.96143 [O_HERE]|217|0:2480001|51.6348|26.9076|0|1|103.496|-0|0|Actor217|0:81040002|0|1|0 [O_YAW]|217|6.04764 [O_PATH]|217|57.5|25.5|128|765|1 [O_HERE]|245|0:2480001|28|27|0|1|90|-0|0||0:1|0|1|0 [O_HERE]|250|0:2480001|39.5|32.5|0|1|-51.6059|-0|0|Actor250|0:81040002|0|1|0 [O_YAW]|250|2.47149 [O_HERE]|252|0:2480001|45.5|31.5|0|1|74.0546|-0|0|Actor252|0:81040002|0|1|0 [O_YAW]|252|0.2783 [O_HERE]|351|0:45540001|45.1435|12.0833|0|1|0|0|0|Actor351|0:205790012|0|0|0 [O_HERE]|361|0:45540001|31.9386|18.4418|0|1|0|0|0|Actor361|0:205790014|0|0|0 [O_HERE]|376|0:2480001|61.5|25.5|0|1|108.435|-0|0|Actor376|0:81040002|0|1|0 [O_YAW]|376|5.96143 [O_HERE]|379|0:2480001|44|21|0|1|90|-0|0||0:1|0|1|0 [O_HERE]|383|0:2480001|43.5|24.5|0|1|-15.2551|-0|0||0:1|0|1|0 [O_YAW]|383|1.83705 [O_HERE]|414|0:2480001|45|19|0|1|90|-0|0||0:1|0|1|0 [O_HERE]|415|0:2480001|26|22|0|1|90|-0|0||0:1|0|1|0 [O_HERE]|420|0:45540001|46.4194|22.0193|0|1|0|0|0|Actor420|0:205790015|0|0|0 [O_HERE]|422|0:2480001|60|26|0|1|90|-0|0||0:1|0|1|0 [O_HERE]|425|0:2480001|49.5|20.5|0|1|90|-0|0|Actor425|0:81040002|0|1|0 [O_HERE]|459|0:45540001|53.3492|24.1082|0|1|0|0|0|Actor459|0:205790018|0|1|0 [O_HERE]|468|0:2480001|58|31|0|1|90|-0|0||0:1|0|1|0 [O_HERE]|510|0:2480001|32|20|0|1|90|-0|0||0:1|0|1|0 [O_HERE]|517|0:2480001|33.0738|20.3579|0|1|71.565|-0|0|Actor517|0:81040002|0|1|0 [O_YAW]|517|0.321751 [O_PATH]|517|36.5|21.5|128|379|1 [O_HERE]|519|0:2480001|37.5|28.5|0|1|-48.0128|-0|0||0:1|0|1|0 [O_YAW]|519|2.40877 [O_HERE]|520|0:45540001|56.6264|18.7754|0|1|0|0|0|Actor520|0:205790016|0|0|0 [O_HERE]|528|0:2480001|30.5|23.5|0|1|71.565|-0|0|Actor528|0:81040002|0|1|0 [O_YAW]|528|0.321751 [O_HERE]|541|0:45540001|53.1991|21.3688|0|1|0|0|0|Actor541|0:205790011|0|0|0 [O_HERE]|551|0:2480001|61.5|31.5|0|1|81.8699|-0|0|Actor551|0:81040002|0|1|0 [O_YAW]|551|0.141897 [O_HERE]|559|0:2480001|6.5|32.5|0|1|83.6598|-0|0|Actor559|0:81040002|0|1|0 [O_YAW]|559|0.110655 [O_HERE]|581|0:45540001|20.5558|19.1423|0|1|0|0|0|Actor581|0:205790019|0|1|0 [O_HERE]|593|0:45540001|1.38012|24.692|0|1|0|0|0|Actor593|0:205790021|0|1|0 [O_HERE]|597|0:205790002|-3.59375|0|0|1|0|0|0|Actor597|0:205790009|0|0|0 [O_HERE]|603|0:2480001|50.2172|25.2879|0|1|103.496|-0|0||0:1|0|1|0 [O_YAW]|603|6.04764 [O_PATH]|603|53.5|24.5|128|411|1 [O_HERE]|622|0:2480001|47.5|25.5|0|1|-21.8014|-0|0|Actor622|0:81040002|0|1|0 [O_YAW]|622|1.95131 [O_HERE]|626|0:45540001|32.7767|27.5606|0|1|0|0|0|Actor626|0:205790023|0|0|0 [O_HERE]|629|0:45540001|32.6724|17.5204|0|1|0|0|0|Actor629|0:205790020|0|1|0 [O_HERE]|630|0:45540001|60.7709|26.022|0|1|0|0|0|Actor630|0:205790022|0|1|0 [O_HERE]|642|0:2480001|60|27|0|1|90|-0|0||0:1|0|1|0 [O_HERE]|643|0:45540001|46.0108|18.0958|0|1|0|0|0|Actor643|0:205790017|0|1|0 [O_HERE]|658|0:45540001|19.6677|18.3209|0|1|0|0|0|Actor658|0:205790013|0|0|0 [O_HERE]|660|0:45540001|37.5|27.4571|0|1|0|0|0|Actor660|0:50590003|0|0|0 [O_HERE]|694|0:2480001|15.5|25.5|0|1|99.4623|-0|0||0:1|0|1|0 [O_YAW]|694|6.11804 [O_HERE]|697|0:2480001|32.5|28.5|0|1|71.565|-0|0|Actor697|0:81040002|0|1|0 [O_YAW]|697|0.321751 [O_HERE]|725|0:2480001|2|32|0|1|90|-0|0||0:1|0|1|0 [O_HERE]|737|0:2480001|48.5|22.5|0|1|71.565|-0|0|Actor737|0:81040002|0|1|0 [O_YAW]|737|0.321751 [O_HERE]|739|0:2480001|50.5|31.5|0|1|74.0584|-0|0||0:1|0|1|0 [O_YAW]|739|0.278301 [O_HERE]|859|0:45540001|57.8814|31.9469|0|1|0|0|0|Actor859|0:205790010|0|0|0 [O_HERE]|930|0:2480001|41.5|29.5|0|1|-41.6335|-0|0|Actor930|0:81040002|0|1|0 [O_YAW]|930|2.29744 [O_CLIENTEVENT]|351|loadModel|{"textureURL":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_doorareaclothing.mmt","url":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_doorareaclothing.mmf"} [O_CLIENTEVENT]|351|setScale|1 [O_CLIENTEVENT]|351|playAnimation|{"looping":0,"name":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_doorareaclothing.mma"} [O_CLIENTEVENT]|351|showModel [O_CLIENTEVENT]|351|playAnimation|{"name":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_doorareaclothing.mma","seekTime":0} [O_CLIENTEVENT]|361|loadModel|{"textureURL":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_doorareadance.mmt","url":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_doorareadance.mmf"} [O_CLIENTEVENT]|361|setScale|1 [O_CLIENTEVENT]|361|playAnimation|{"looping":0,"name":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_doorareadance.mma"} [O_CLIENTEVENT]|361|showModel [O_CLIENTEVENT]|361|playAnimation|{"name":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_doorareadance.mma","seekTime":0} [O_CLIENTEVENT]|420|loadModel|{"textureURL":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_railing.mmt","url":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_railing.mmf"} [O_CLIENTEVENT]|420|setScale|1 [O_CLIENTEVENT]|459|loadModel|{"renderEnabled":0,"textureURL":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_trigger_touchtriggercloudforest.mmt","url":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_trigger_touchtriggercloudforest.mmf"} [O_CLIENTEVENT]|459|setScale|1 [O_CLIENTEVENT]|520|loadModel|{"textureURL":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_thundertrees.mmt","url":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_thundertrees.mmf"} [O_CLIENTEVENT]|520|setScale|1 [O_CLIENTEVENT]|541|loadModel|{"textureURL":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_cannon.mmt","url":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_cannon.mmf"} [O_CLIENTEVENT]|541|setScale|1 [O_CLIENTEVENT]|581|loadModel|{"renderEnabled":0,"textureURL":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_trigger_touchtriggercoffee.mmt","url":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_trigger_touchtriggercoffee.mmf"} [O_CLIENTEVENT]|581|setScale|1 [O_CLIENTEVENT]|593|loadModel|{"renderEnabled":0,"textureURL":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_trigger_touchtriggerdock.mmt","url":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_trigger_touchtriggerdock.mmf"} [O_CLIENTEVENT]|593|setScale|1 [O_CLIENTEVENT]|626|loadModel|{"textureURL":"<base_asset_url>world/parties/<locale_string>/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_lang.mmt","url":"<base_asset_url>world/parties/<locale_string>/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_lang.mmf"} [O_CLIENTEVENT]|626|setScale|1 [O_CLIENTEVENT]|629|loadModel|{"renderEnabled":0,"textureURL":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_trigger_touchtriggerdance.mmt","url":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_trigger_touchtriggerdance.mmf"} [O_CLIENTEVENT]|629|setScale|1 [O_CLIENTEVENT]|630|loadModel|{"renderEnabled":0,"textureURL":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_trigger_touchtriggerforts.mmt","url":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_trigger_touchtriggerforts.mmf"} [O_CLIENTEVENT]|630|setScale|1 [O_CLIENTEVENT]|643|loadModel|{"renderEnabled":0,"textureURL":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_trigger_touchtriggerclothing.mmt","url":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_trigger_touchtriggerclothing.mmf"} [O_CLIENTEVENT]|643|setScale|1 [O_CLIENTEVENT]|658|loadModel|{"textureURL":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_doorareacoffee.mmt","url":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_doorareacoffee.mmf"} [O_CLIENTEVENT]|658|setScale|1 [O_CLIENTEVENT]|658|playAnimation|{"looping":0,"name":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_doorareacoffee.mma"} [O_CLIENTEVENT]|658|showModel [O_CLIENTEVENT]|658|playAnimation|{"name":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_doorareacoffee.mma","seekTime":0} [O_CLIENTEVENT]|660|loadModel|{"url":"<base_asset_url>avatar/penguin/en_US/deploy/mesh/all_platforms/animation_items/penguin_special_snowball_smooshed.mmf"} [O_CLIENTEVENT]|660|setObjectAngle|{"x":0,"y":0,"z":0} [O_CLIENTEVENT]|660|setScale|0.7 [O_CLIENTEVENT]|859|loadModel|{"textureURL":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_arrow2.mmt","url":"<base_asset_url>world/parties/en_US/deploy/metaplace/<device_string>/buildings/150520_may/150520_may_town/rm_object_arrow2.mmf"} [O_CLIENTEVENT]|859|setScale|1 [P_CAMERA]|32|20|0|0|1 [P_ZOOM]|1.000000 [P_LOCKZOOM]|1 [P_LOCKCAMERA]|1 [O_PLAYER]|556| [UI_SWFREF]|49781|0|name|0|0|1024|768|0|client.swf|clientCommunication [FX_PLAYSOUND]|0:206240008|23921|1|127|-1|0|-1|1 [UI_CLIENTEVENT]|49781|logGenericDMOAnalytics|{"action":"ping","event":"ping"}