Mobile API: Difference between revisions
imported>Lisured No edit summary |
imported>Lisured No edit summary |
||
Line 45: | Line 45: | ||
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. | 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 <code>/''command'' ''arg1'' ''arg2'' …</code>, server uses <code>[''TAG'']|''arg1''|''arg2''|…</code> | Client sends request in the form <code>/''command'' ''arg1'' ''arg2'' …</code>, server uses <code>[''[[Mobile API/Tags|TAG]]'']|''arg1''|''arg2''|…</code> | ||
/user_agent deviceType=iPhone,os=iOS_7.1,displayRes=720x1280,platform=goo | /user_agent deviceType=iPhone,os=iOS_7.1,displayRes=720x1280,platform=goo |
Revision as of 04:22, 31 May 2015
- 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.
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"}