├── README.md ├── endpoints ├── boomlings.com │ ├── images │ │ ├── brainy.png │ │ ├── secretKey.md │ │ ├── icon_114.md │ │ ├── icon_115.md │ │ ├── icon_116.md │ │ ├── 21editorthing.md │ │ ├── movecontrol.md │ │ ├── update21promo_01.md │ │ ├── update21promo_02.md │ │ ├── update22promo_01.md │ │ ├── update19promo_02 │ │ ├── itsasecret.md │ │ ├── update19promo_01.md │ │ ├── update19promo_04.md │ │ ├── update19promo_05.md │ │ ├── update20promo_01.md │ │ ├── update20promo_02.md │ │ ├── update20promo_04.md │ │ ├── update20promo_05.md │ │ ├── update20promo_06.md │ │ └── README.md │ ├── myadmin │ │ └── index.md │ ├── files │ │ └── GJGuide.md │ └── database │ │ ├── getSaveData.md │ │ ├── reportGJLevel.md │ │ ├── testSong.md │ │ ├── README.md │ │ ├── restoreGJItems.md │ │ ├── getGJGauntlets21.md │ │ ├── getGJSongInfo.md │ │ ├── requestUserAccess.md │ │ ├── accounts │ │ ├── registerGJAccount.md │ │ └── loginGJAccount.md │ │ ├── deleteGJLevelUser20.md │ │ ├── blockGJUser20.md │ │ ├── removeGJFriend20.md │ │ ├── unblockGJUser20.md │ │ ├── getGJMapPacks21.md │ │ ├── readGJFriendRequest20.md │ │ ├── updateGJDesc20.md │ │ ├── deleteGJComment20.md │ │ ├── getAccountURL.md │ │ ├── getGJUserList20.md │ │ ├── getGJChallenges.md │ │ ├── getGJUserInfo20.md │ │ ├── getGJDailyLevel.md │ │ ├── acceptGJFriendRequest20.md │ │ ├── rateGJStars211.md │ │ ├── uploadGJComment21.md │ │ ├── uploadGJMessage20.md │ │ ├── deleteGJAccountComment20.md │ │ ├── deleteGJMessages20.md │ │ ├── getGJUsers20.md │ │ ├── uploadGJAccComment20.md │ │ ├── rateGJDemon21.md │ │ ├── downloadGJLevel22.md │ │ ├── getGJRewards.md │ │ ├── uploadFriendRequest20.md │ │ ├── deleteGJFriendRequests20.md │ │ ├── getGJAccountComments20.md │ │ ├── getGJTopArtists.md │ │ ├── getGJScores20.md │ │ ├── likeGJItem211.md │ │ ├── getGJCommentHistory.md │ │ ├── getGJMessages20.md │ │ ├── getGJComments21.md │ │ ├── getGJFriendRequests20.md │ │ ├── getGJLevelScores211.md │ │ ├── updateGJUserScore22.md │ │ ├── updateGJAccSettings20.md │ │ ├── uploadGJLevel21.md │ │ └── getGJLevels21.md ├── geometrydash.com │ ├── myadmin │ │ └── index.md │ └── database │ │ └── accounts │ │ ├── syncGJAccountNew.md │ │ └── backupGJAccountNew.md ├── common_parameters.md └── post_request_examples.md ├── encryptions ├── Level passwords.md ├── README.md └── Chk parameter.md ├── how_are_hacks_made └── README.md └── Server.md /README.md: -------------------------------------------------------------------------------- 1 | # GDDocs 2 | Everything you want and need to know about Geometry Dash. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/brainy.png: -------------------------------------------------------------------------------- 1 | ## brainy.png 2 | A hidden image of a purple blue brain face icon. Current use is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/myadmin/index.md: -------------------------------------------------------------------------------- 1 | ## index.php 2 | The phpMyAdmin login for the gd database. current login is so far unknown. 3 | -------------------------------------------------------------------------------- /endpoints/geometrydash.com/myadmin/index.md: -------------------------------------------------------------------------------- 1 | ## index.php 2 | The phpMyAdmin login for the gd database. current login is so far unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/files/GJGuide.md: -------------------------------------------------------------------------------- 1 | ## GJGuide.pdf 2 | An editor guide you get redirected to when you press the help button in the editor. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/secretKey.md: -------------------------------------------------------------------------------- 1 | ## secretKey.png 2 | A hidden image of a secret key with a purple gradient background. Current use is unknown. 3 | -------------------------------------------------------------------------------- /encryptions/Level passwords.md: -------------------------------------------------------------------------------- 1 | ## Level passwords 2 | The password being put on levels to copy it. 3 | ### Decryption 4 | `Raw -> Base64 decode -> XOR (key: 26364)` 5 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/icon_114.md: -------------------------------------------------------------------------------- 1 | ## icon_114.png 2 | A hidden image of some examples of icon 115. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/icon_115.md: -------------------------------------------------------------------------------- 1 | ## icon_115.png 2 | A hidden image of some examples of icon 115. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/icon_116.md: -------------------------------------------------------------------------------- 1 | ## icon_116.png 2 | A hidden image of some examples of icon 115. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/21editorthing.md: -------------------------------------------------------------------------------- 1 | ## 21editorthing.png 2 | A hidden image of the 2.1 editor promo. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/movecontrol.md: -------------------------------------------------------------------------------- 1 | ## movecontrol.png 2 | A hidden image of the 2.1 editor promo. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/update21promo_01.md: -------------------------------------------------------------------------------- 1 | ## update21promo_01.png 2 | A hidden image of the 2.1 promo. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/update21promo_02.md: -------------------------------------------------------------------------------- 1 | ## update21promo_02.png 2 | A hidden image of the 2.1 promo. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/update22promo_01.md: -------------------------------------------------------------------------------- 1 | ## update22promo_01.png 2 | A hidden image of the 2.2 promo. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/update19promo_02: -------------------------------------------------------------------------------- 1 | ## update19promo_02.png 2 | A hidden image of the 1.9 editor promo. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/itsasecret.md: -------------------------------------------------------------------------------- 1 | ## itsasecret.png 2 | A hidden image of a green yellow icon with a shocked face. This is most likely a joke image for an easter egg. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/update19promo_01.md: -------------------------------------------------------------------------------- 1 | ## update19promo_01.png 2 | A hidden image of the 1.9 editor promo. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/update19promo_04.md: -------------------------------------------------------------------------------- 1 | ## update19promo_04.png 2 | A hidden image of the 1.9 editor promo. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/update19promo_05.md: -------------------------------------------------------------------------------- 1 | ## update19promo_05.png 2 | A hidden image of the 1.9 editor promo. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/update20promo_01.md: -------------------------------------------------------------------------------- 1 | ## update20promo_01.png 2 | A hidden image of the 2.0 editor promo. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/update20promo_02.md: -------------------------------------------------------------------------------- 1 | ## update20promo_02.png 2 | A hidden image of the 2.0 editor promo. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/update20promo_04.md: -------------------------------------------------------------------------------- 1 | ## update20promo_04.png 2 | A hidden image of the 2.0 editor promo. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/update20promo_05.md: -------------------------------------------------------------------------------- 1 | ## update20promo_05.png 2 | A hidden image of the 2.0 editor promo. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/update20promo_06.md: -------------------------------------------------------------------------------- 1 | ## update20promo_06.png 2 | A hidden image of the 2.0 editor promo. Current reason why this image is stored here is unknown. 3 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/images/README.md: -------------------------------------------------------------------------------- 1 | ## Note 2 | This is far from all files but I'm too lazy to add them all. 3 | 4 | Update. These URLs are used for leaks during streams. To lazy to update them all again. 5 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getSaveData.md: -------------------------------------------------------------------------------- 1 | ## getSaveData.php 2 | Unknown pourposes. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](../../common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### secret 9 | Wmfd2893gb7 10 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/reportGJLevel.md: -------------------------------------------------------------------------------- 1 | ## reportGJLevel.php 2 | Sends a level report. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### levelID 6 | The target level. 7 | #### secret 8 | Wmfd2893gb7 9 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/testSong.md: -------------------------------------------------------------------------------- 1 | ## testSong.php 2 | A file used by the server to see if a song/artists is whitelisted or not 3 | ### Parameters (As get values so use ?variablename=value behind the url) 4 | #### songID 5 | The song you want to get whitelist info about, this will also get info about the artist of the song. 6 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/README.md: -------------------------------------------------------------------------------- 1 | ## Todo 2 | Files I still need to add. 3 | 7 |
8 | These are files I simply couldn't get data from during the testing. 9 |
10 | http://www.boomlings.com/database/getSaveData.php 11 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/restoreGJItems.md: -------------------------------------------------------------------------------- 1 | ## restoreGJItems.php 2 | An old file used to restore your data before the current save system was implemented. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### udid 6 | #### secret 7 | Wmfd2893gb7 8 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJGauntlets21.md: -------------------------------------------------------------------------------- 1 | ## getGJGauntlets21.php 2 | Requests all the data for the gauntlets. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### secret 9 | Wmfd2893gb7 10 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJSongInfo.md: -------------------------------------------------------------------------------- 1 | ## getGJSongInfo.php 2 | Gets info from a newgrounds song so the game can display all the song properties. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### songID 6 | Target song. 7 | #### secret 8 | Wmfd2893gb7 9 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/requestUserAccess.md: -------------------------------------------------------------------------------- 1 | ## requestUserAccess.php 2 | Requests mod access. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### secret 11 | Wmfd2893gb7 12 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/accounts/registerGJAccount.md: -------------------------------------------------------------------------------- 1 | ## registerGJAccount.php 2 | Registers an account. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### userName 6 | #### password 7 | #### email 8 | Your email input as plain text. 9 | #### secret 10 | Wmfv3899gc9 11 | -------------------------------------------------------------------------------- /endpoints/geometrydash.com/database/accounts/syncGJAccountNew.md: -------------------------------------------------------------------------------- 1 | ## syncGJAccountNew.php 2 | Gets the backup data of the account. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### userName 9 | #### password 10 | #### secret 11 | Wmfv3899gc9 12 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/accounts/loginGJAccount.md: -------------------------------------------------------------------------------- 1 | ## loginGJAccount.php 2 | Login on an account. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### udid 6 | #### userName 7 | Your username input as plain text. 8 | #### password 9 | Your password input as plain text. 10 | #### secret 11 | Wmfv3899gc9 12 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/deleteGJLevelUser20.md: -------------------------------------------------------------------------------- 1 | ## deleteGJLevelUser20.php 2 | Deletes levels. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### levelID 11 | The target level ID. 12 | #### secret 13 | Wmfv2898gc8 14 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/blockGJUser20.md: -------------------------------------------------------------------------------- 1 | ## blockGJUser20.php 2 | Blocks a user. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### targetAccountID 11 | The person the server should block. 12 | #### secret 13 | Wmfd2893gb7 14 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/removeGJFriend20.md: -------------------------------------------------------------------------------- 1 | ## removeGJFriend20.php 2 | Removes a friend. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### targetAccountID 11 | The person you want to unfriend. 12 | #### secret 13 | Wmfd2893gb7 14 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/unblockGJUser20.md: -------------------------------------------------------------------------------- 1 | ## unblockGJUser20.php 2 | Unblocks a user. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### targetAccountID 11 | The person the server should unblock. 12 | #### secret 13 | Wmfd2893gb7 14 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJMapPacks21.md: -------------------------------------------------------------------------------- 1 | ## getGJMapPacks21.php 2 | Requests all the data for the map packs. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### page 9 | Tells the server which page it needs to request. The offset is 10 per page. 10 | #### secret 11 | Wmfd2893gb7 12 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/readGJFriendRequest20.md: -------------------------------------------------------------------------------- 1 | ## readGJFriendRequest20.php 2 | Masks a friend request as read. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### requestID 11 | The friend request ID which should be set read. 12 | #### secret 13 | Wmfd2893gb7 14 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/updateGJDesc20.md: -------------------------------------------------------------------------------- 1 | ## updateGJDesc20.php 2 | Updates the level description. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### levelID 11 | Target level ID. 12 | #### levelDesc 13 | The new level description. 14 | #### secret 15 | Wmfd2893gb7 16 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/deleteGJComment20.md: -------------------------------------------------------------------------------- 1 | ## deleteGJComment20.php 2 | Deletes levels comments. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### commentID 11 | The ID of the target comment. 12 | #### levelID 13 | The target level ID. 14 | #### secret 15 | Wmfd2893gb7 16 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getAccountURL.md: -------------------------------------------------------------------------------- 1 | ## getAccountURL.php 2 | Gets the url of the data server (http://69.164.210.48 (this is what the server returns, the official domain name is http://geometrydash.com)). 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### accountID 6 | #### type 7 | Currently the use is unknown, use 2 as default. 8 | #### secret 9 | Wmfd2893gb7 10 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJUserList20.md: -------------------------------------------------------------------------------- 1 | ## getGJUserList20.php 2 | Gets all friends or blocked people. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### type 11 | A boolean to tell the server to either filter on friends (0) or blocked people (1). 12 | #### secret 13 | Wmfd2893gb7 14 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJChallenges.md: -------------------------------------------------------------------------------- 1 | ## getGJChallenges.php 2 | Gets the quests. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | Keep in mind, normally this is 21 but this uses 20. 7 | #### binaryVersion 8 | #### gdw 9 | #### accountID 10 | #### gjp 11 | #### udid 12 | #### uuid 13 | #### world 14 | Basically just gdw. 15 | #### secret 16 | Wmfd2893gb7 17 | #### chk 18 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJUserInfo20.md: -------------------------------------------------------------------------------- 1 | ## getGJUserInfo20.php 2 | Gets the profile page of a user. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### targetAccountID 11 | The account ID it should fetch info from. When equal to accountID it will also fetch owner data. 12 | #### secret 13 | Wmfd2893gb7 14 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJDailyLevel.md: -------------------------------------------------------------------------------- 1 | ## getGJDailyLevel.php 2 | Gets the current daily or weekly level. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### secret 11 | Wmfd2893gb7 12 | #### weekly 13 | Uses a boolean using 1 (true) and 0 (false) to tell the server if it should request the weekly or daily. 14 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/acceptGJFriendRequest20.md: -------------------------------------------------------------------------------- 1 | ## acceptGJFriendRequest20.php 2 | Accepts a friend request. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### targetAccountID 11 | The person the server should accept a request from. 12 | #### requestID 13 | The friend request ID. 14 | #### secret 15 | Wmfd2893gb7 16 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/rateGJStars211.md: -------------------------------------------------------------------------------- 1 | ## rateGJStars211.php 2 | Sends your star suggestion to the server. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### udid 11 | #### uuid 12 | #### levelID 13 | The target level ID. 14 | #### stars 15 | The star ammount you want to suggest. 16 | #### secret 17 | Wmfd2893gb7 18 | #### rs 19 | #### chk 20 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/uploadGJComment21.md: -------------------------------------------------------------------------------- 1 | ## uploadGJComment21.php 2 | Uploads your comment to a level. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### userName 11 | #### comment 12 | Your comment in Base64 13 | #### levelID 14 | Target level ID. 15 | #### percent 16 | A linked highscore as a number 17 | #### secret 18 | Wmfd2893gb7 19 | #### chk 20 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/uploadGJMessage20.md: -------------------------------------------------------------------------------- 1 | ## uploadGJMessage20.php 2 | Uploads a message to a user. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### toAccountID 11 | The person the server should send a message to. 12 | #### subject 13 | The subject of the message in Base64. 14 | #### body 15 | The message in Base64 16 | #### secret 17 | Wmfd2893gb7 18 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/deleteGJAccountComment20.md: -------------------------------------------------------------------------------- 1 | ## deleteGJMessages20.php 2 | Deletes an account comment. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### commentID 11 | ID of the account comment the server should delete. 12 | #### cType 13 | Most likely stands for comment type, currently unknown what the use for it is. 14 | #### secret 15 | Wmfd2893gb7 16 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/deleteGJMessages20.md: -------------------------------------------------------------------------------- 1 | ## deleteGJMessages20.php 2 | Deletes a message. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### isSender 11 | A boolean to tell the server if you're the sender of the message it needs to delete (1) or not (0). 12 | #### messageID 13 | ID of the message the server should delete. 14 | #### secret 15 | Wmfd2893gb7 16 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJUsers20.md: -------------------------------------------------------------------------------- 1 | ## getGJUsers20.php 2 | Gets a list of users. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### str 9 | The search string of the person you want to search. 10 | #### total 11 | The ammount of results, current use for this is unknown. 12 | #### page 13 | What page offset you want to select, the offset is 10 per page. 14 | #### secret 15 | Wmfd2893gb7 16 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/uploadGJAccComment20.md: -------------------------------------------------------------------------------- 1 | ## uploadGJAccComment20.php 2 | Uploads a comment to on your profile page. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### userName 11 | #### comment 12 | Your comment in Base64 13 | #### cType 14 | Most likely stands for comment type, currently unknown what the use for it is. 15 | #### secret 16 | Wmfd2893gb7 17 | #### chk 18 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/rateGJDemon21.md: -------------------------------------------------------------------------------- 1 | ## rateGJDemon21.php 2 | Suggests a demon type for a level. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### levelID 11 | Target level ID. 12 | #### rating 13 | A number which represents multiple difficulties. 1 is easy demon, 2 is medium demon, 3 is hard demon, 4 is insane demon and 5 is extreme demon. 14 | #### secret 15 | Wmfp3879gc3 16 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/downloadGJLevel22.md: -------------------------------------------------------------------------------- 1 | ## downloadGJLevels22.php 2 | Download a level + other infos by its ID. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### udid 11 | #### uuid 12 | #### levelID 13 | The ID of the level you want to download. 14 | #### inc 15 | Unknown, set to 1. 16 | #### extras 17 | Unknown, set to 0. 18 | #### secret 19 | Wmfd2893gb7 20 | #### rs 21 | #### chk 22 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJRewards.md: -------------------------------------------------------------------------------- 1 | ## getGJRewards.php 2 | Gets the rewards from chests. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### udid 11 | #### uuid 12 | #### rewardType 13 | Tells the server what chest you requested. 1 is the small chest and 2 is the big chest. 0 is used to return the time until you can unlock a chest again. 14 | #### secret 15 | Wmfd2893gb7 16 | #### chk 17 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/uploadFriendRequest20.md: -------------------------------------------------------------------------------- 1 | ## uploadFriendRequest20.php 2 | Uploads a friend request to a user. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### toAccountID 11 | The person the server should send a friend request to. 12 | #### comment 13 | An additional message with the friend request. Leave this empty if you don't want any message. 14 | #### secret 15 | Wmfd2893gb7 16 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/deleteGJFriendRequests20.md: -------------------------------------------------------------------------------- 1 | ## deleteGJFriendRequests20.php 2 | Removes a friend request. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### targetAccountID 11 | The target account it should remove the message from. 12 | #### isSender 13 | A boolean to tell the server if you're the sender of the message it needs to delete (1) or not (0). 14 | #### secret 15 | Wmfd2893gb7 16 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJAccountComments20.md: -------------------------------------------------------------------------------- 1 | ## getGJAccountComments20.php 2 | Gets all account comments from a profile. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### page 10 | The page offset you want to see. The offset is 10 per page. 11 | #### total 12 | A parameter giving the server the ammount of account comments the user has. Current use for it: unknown. Leaving it at 0 also works. 13 | #### secret 14 | Wmfd2893gb7 15 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJTopArtists.md: -------------------------------------------------------------------------------- 1 | ## getGJTopArtists.php 2 | Gets a list of the best newgrounds artists (the selection of robtop). 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### page 9 | The current page offset you want to request. The offset per page is 20. 10 | #### total 11 | A parameter giving the server the ammount of account comments the user has. Current use for it: unknown. Leaving it at 0 also works. 12 | #### secret 13 | Wmfd2893gb7 14 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJScores20.md: -------------------------------------------------------------------------------- 1 | ## getGJScores20.php 2 | Gets a leaderboards type. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### type 11 | Tells the server what leaderboards to request, you have: creators, relative (the global leaderboards), top (the player loaderboards) and friends 12 | #### count 13 | For the creators and top leaderboards this will determine how many entries you will get. 14 | #### secret 15 | Wmfd2893gb7 16 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/likeGJItem211.md: -------------------------------------------------------------------------------- 1 | ## likeGJItem211.php 2 | Sends a like/dislike for a certain level. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### udid 11 | #### uuid 12 | #### itemID 13 | The target level ID. 14 | #### like 15 | A boolean to tell the server to like (1) or dislike (0). 16 | #### type 17 | Currently unknown. 18 | #### special 19 | Currently unknown. 20 | #### secret 21 | Wmfd2893gb7 22 | #### rs 23 | #### chk 24 | -------------------------------------------------------------------------------- /endpoints/geometrydash.com/database/accounts/backupGJAccountNew.md: -------------------------------------------------------------------------------- 1 | ## backupGJAccountNew.php 2 | Sends your data to the server to backup 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### userName 6 | #### password 7 | #### gameVersion 8 | #### binaryVersion 9 | #### gdw 10 | #### saveData 11 | Your save data encrypted using `Plain Text -> Gzip -> Base64`. The first part is your CCGameManager data and the second part is the CCLocalLevels data. These 2 are being seperated with a `;`, split these 2 first before decrypting one of them. 12 | #### secret 13 | Wmfv3899gc9 14 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJCommentHistory.md: -------------------------------------------------------------------------------- 1 | ## getGJCommentHistory.php 2 | Gets the comment history of an account. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### page 9 | Tells the server what page offset it needs to select, this changes depending on your settings. 10 | #### total 11 | The ammount of results, current use for this is unknown. 12 | #### mode 13 | A boolean which switched between most recent (0) and most liked (1). 14 | #### userID 15 | Target user. 16 | #### count 17 | The ammount of messages it should request at once. 18 | #### secret 19 | Wmfd2893gb7 20 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJMessages20.md: -------------------------------------------------------------------------------- 1 | ## getGJMessages20.php 2 | Gets all messages from an account going in and out. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### page 10 | The page offset you want to see. The offset is 10 per page. 11 | #### total 12 | A parameter giving the server the ammount of account comments the user has. Current use for it: unknown. Leaving it at 0 also works. 13 | #### getSent 14 | A boolean telling the server if it either needs to filter on messages you sent (1) or on messages others sent you (0). 15 | #### secret 16 | Wmfd2893gb7 17 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJComments21.md: -------------------------------------------------------------------------------- 1 | ## getGJComments21.php 2 | Gets all account comments from a level. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### page 9 | The page offset you want to see. The offset per page changes depending on some values. 10 | #### total 11 | A parameter giving the server the ammount of account comments the user has. Current use for it: unknown. Leaving it at 0 also works. 12 | #### mode 13 | A boolean to tell the server if it should filter on likes (1) or not (0). 14 | #### levelID 15 | Target level ID. 16 | #### count 17 | The ammount of comments to request 18 | #### secret 19 | Wmfd2893gb7 20 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJFriendRequests20.md: -------------------------------------------------------------------------------- 1 | ## getGJFriendRequests20.php 2 | Gets all friend requests from an account going in and out. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### page 11 | The page offset you want to see. The offset is 10 per page. 12 | #### total 13 | A parameter giving the server the ammount of account comments the user has. Current use for it: unknown. Leaving it at 0 also works. 14 | #### getSent 15 | A boolean telling the server if it either needs to filter on friend requests you sent (1) or on friend requests others sent you (0). 16 | #### secret 17 | Wmfd2893gb7 18 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJLevelScores211.md: -------------------------------------------------------------------------------- 1 | ## getGJLevelScores211.php 2 | Gets the level leaderboards. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### levelID 11 | The target level ID. 12 | #### percent 13 | Your current record to compare with others. 14 | #### type 15 | A value telling the server what type it should pick. 0 is the friends leaderboards, 1 is the top leaderboards and 2 is the week leaderboards. 16 | #### s1 17 | Your attempts + 8354. 18 | #### s9 19 | The coins you got + 5819. 20 | #### s2, s3, s4, s5, s6, s7, s8, s10 21 | Unknown. 22 | #### secret 23 | Wmfd2893gb7 24 | #### chk 25 | -------------------------------------------------------------------------------- /encryptions/README.md: -------------------------------------------------------------------------------- 1 | # Encryptions 2 | All encryption info you need to decrypt all Geometry Dash encryptions. 3 | 4 | ## Common words 5 | Raw: this means the encrypted string without any changes being made to it. 6 | 7 | Base64 (encode/decode): This is an encoding like hexadecimal (which is base16). It's mostly used in Geometry Dash as the last encoding since it's safe to transfar through URLs. 8 | 9 | XOR: This is an encryption which makes the string 8-bit ASCII IDs (also known as binary) and compares 2 binary string numbers at the time of the 2 bits next to each other (a bit is 8 1/0 characters in a row in binary) and looks if they are the same (0) or different (1) and repeats that for every 2 bits 8 times to go through all numbers of the bits and the result will be a new string of bits as the result of comparing the numbers 10 | 11 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/updateGJUserScore22.md: -------------------------------------------------------------------------------- 1 | ## updateGJUserScore22.php 2 | Updates the user data on specific requests. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### urserName 11 | #### stars, demons, diamonds, coins, userCoins 12 | These parameters speaks for itself, format is just a normal int value. 13 | #### color1, color2 14 | Gives the icon colors as an int format using color IDs. 15 | #### accIcon, accShip, accBall, accBird, accDart, accRobot, accSpider, accExplosion 16 | Updates the user icon and explosion selection using int IDs. 17 | #### accGlow 18 | A boolean to toggle glow on and off using 1 (true) and 0 (false) 19 | #### seed, seed2 20 | Encrypted strings to validate the request. Encryption method is `Plain Text -> Gzip -> Xor(11) -> Base64` 21 | #### icon, iconType, special 22 | Currently being researched. 23 | #### secret 24 | Wmfd2893gb7 25 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/updateGJAccSettings20.md: -------------------------------------------------------------------------------- 1 | ## updateGJAccSettings20.php 2 | Updates the account settings. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### accountID 6 | #### gjp 7 | #### mS 8 | MS stands for message setting and tells the server if you allow messages from all (0), friends (1) or none (2). 9 | #### frS 10 | FrS stands for friend request setting and tells the server if you allow friends requests from all (0) or none (1). 11 | #### cS 12 | CS stands for comment setting and tells the server if you allow all (0), friends (1) or me (2) to see your comment history (me as in the setting option refering to you). 13 | #### yt 14 | Your linked YouTube account sent as plain text. This is left empty when you didn't link any account. 15 | #### twitter 16 | Your linked twitter account sent as plain text. This is left empty when you didn't link any account. 17 | #### twitch 18 | Your linked twitch account sent as plain text. This is left empty when you didn't link any account. 19 | #### secret 20 | Wmfd2893gb7 21 | -------------------------------------------------------------------------------- /how_are_hacks_made/README.md: -------------------------------------------------------------------------------- 1 | # How are hacks made 2 | This file will explain everything about how hacks are really made. 3 | 4 | ## Good things to know before we start 5 | Everything you need to know. 6 | ### Terms 7 | Assembly is a language your OS reads while running the program. and are the weird characters you see when opening an exe file in a text editor (This is in it's raw state. To read the real assembly behind it you need tools). 8 | 9 | Reverse engineering is a term used for when people are reading the assembly to understand how the code works. 10 | ### Tools 11 | IDA (pro) is a program used to reverse engineer the assembly. 12 | 13 | HxD is a tool used a lot for editing the bytes of the game. 14 | 15 | Cheat Engine is a program which allows you to search up values and byte offsets in the memory. 16 | ## Finding the right bytes 17 | The most common ways hackers find the right bytes to edit is by either using ida to search for the code by searching around functions calls and string calls which are related to the codes they want to edit or by using cheat engine to find where the codes are in the memory which handles certain values. After finding the right codes they start reading the codes and look for the exact instructions they need to edit to get the behaviour the want. 18 | ## Making the hack 19 | In progress 20 | -------------------------------------------------------------------------------- /endpoints/common_parameters.md: -------------------------------------------------------------------------------- 1 | #### gameVersion 2 | Version of the game. 3 | #### binaryVersion 4 | Version of the client. 5 | #### gdw 6 | If the request was made by the Geometry Dash World app, this is set to 1; else it's 0. 7 | #### userName 8 | The username of the user in plain text 9 | #### password 10 | The password of the user in plain text 11 | #### accountID 12 | A unique ID used to identify accounts. If the player is not logged in, this is set to 0. 13 | #### gjp 14 | The encoded password of the player. If the player is not logged in, this is empty or not even included. 15 | #### udid 16 | Udid stands for unique device identifier and is a numeric value to identivy a device used by apple. On other platforms this gets generated with no real properties. 17 | #### uuid 18 | Uuid stands for universally unique identifier and is a value to identivy a device used by android. On other platforms this gets generated with no real properties. 19 | #### secret 20 | A value used to validate requests. This may vary from endpoint to endpoint, but it doesnt change. 21 | #### seedX 22 | These are values used by very few endpoints, they are probably some first implementations of the chk, since they follow a pratically identical structure. The X in the name is a number. 23 | #### rs 24 | "Random seed": as the name says, this is a totally random string, generally used by the chk. 25 | #### chk 26 | Like the secret, this is also used to validate the requests. However this is generated using an algorithm which is similar for every endpoint but uses different values. Every chk is encoded in this way: 27 | `Plain Text + Salt -> sha1 -> Xor -> Base64` 28 | The only exception is the chk of the level leaderboard, which hasn't the salt at the end of the string. 29 | -------------------------------------------------------------------------------- /encryptions/Chk parameter.md: -------------------------------------------------------------------------------- 1 | ## Chk parameter 2 | An alternative for the secret parameter or to send secret data to the server to validate things. 3 | ### Decryption 4 | `Raw -> Base64 decode -> XOR -> SHA1 -> Salt` 5 | 6 | #### XOR Keys: 7 | For level downloading and uploading: 41274 8 | For level comments: 29481 9 | For quests: 19847 10 | For chest rewards: 59182 11 | For liking and rating: 58281 12 | For updating user scores: 85271 13 | For update the level user highscore: 39673 14 | #### Salt Keys 15 | For level downloading and uploading: xI25fpAapCQg 16 | For level comments: xPT6iUrtws0J 17 | For quests: none 18 | For chest rewards: none 19 | For liking and rating: ysg6pUrtjn0J 20 | For updating user scores: xI35fsAapCRg 21 | For update the level user highscore: yPg6pUrtWn0J 22 | #### Data for the chk 23 | For level downloading: levelID, inc, RS value, accountID, UDID, UUID 24 | 25 | For level uploading: seed 26 | 27 | For level comments: username, comment, levelID, percentage, comment Type (0 = Level, 1 = User) 28 | 29 | For quests and chest rewards: 2 random numbers 30 | 31 | For liking: special, itemID, like, type, RS, accountID, UDID, UUID 32 | 33 | For rating: levelID, stars, RS, accountID, UDID, UUID 34 | 35 | For updating user scores: accountID, userCoins, demons, stars, coins, icon type, icon, diamonds, account icon, account ship, account ball, account UFO, account wave, account robot, account glow, account spider, account explosion 36 | 37 | For update the level user highscore: accountID, levelID, percentage, seconds, jumps, attempts, seed, bests differences, UNKNOWN (always 1), user coins, dailyID, seed7 ("s7" from packet) `Seconds = seconds taken to reach the best, Jumps = jumps taken to reach the best, Bests Differences = differences between bests, ex: 0% - 65% - 100% -> (65 - 0), (100 - 65) -> 65,35` 38 |


39 | Most values are explained in the [endpoints documentation](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints) 40 | 41 | Reference from cos8o's [gdcrypto info](https://github.com/Cos8o/GDCrypto/blob/master/include/gdcrypto.hpp) 42 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/uploadGJLevel21.md: -------------------------------------------------------------------------------- 1 | ## uploadGJLevel21.php 2 | Uploads a level to the server. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### accountID 9 | #### gjp 10 | #### userName 11 | #### levelID 12 | If the level already is uploaded and needs to be updated it will put the level it should update here. Leave it at 0 to upload it as a new level. 13 | #### levelName 14 | The name of the level in plain text. 15 | #### levelDesc 16 | The decription of the level in Base64. 17 | #### levelVersion 18 | The ammount of times you updated the level. It starts with 1. 19 | #### LevelLength 20 | A number telling the server how long a level is. 0 is tiny, 1 is short, 2 is medium, 3 is long and 4 is extra long. 21 | #### audioTrack 22 | Which of the defaults songs you want to use if songID is unused. 23 | #### songID 24 | The newGrounds song ID you want to use for your level. Unused is 0. 25 | #### auto, original, twoPlayer, unlisted, ldm 26 | A boolean which toggles if one of these elements is enabled (1) or disabled (0). 27 | #### password 28 | The level's password as a 4-6 digit integer. Set to 0 for no copy or 1 for free copy. 29 | #### objects 30 | The amount of objects the level has. 31 | #### coins 32 | The amount of coins your level has. 33 | #### requestedStars 34 | The star ammount requested as plain text. 35 | #### wt 36 | Randomly generated, serves no purpose. Can be left out entirely. 37 | #### wt2 38 | Randomly generated, serves no purpose. Can be left out entirely. 39 | #### extraString 40 | Randomly generated, serves no purpose. Can be left out entirely. 41 | #### seed 42 | Randomly generated, serves no purpose. Can be left out entirely. 43 | #### seed2 44 | RobTop's security check 45 | Generated by: 46 | 1) Divide length of levelString by 50 (rounded down), store as variable ("slot") 47 | 2) 50 times - add (+=) the character at position `slot*iteration` in levelString to seed2 48 | 3) Add "xI25fpAapCQg" 49 | 4) Base64 encode, then XOR with key 41274 50 | #### levelString 51 | Your level encrypted in `Plain Text -> Gzip -> Base64`. 52 | #### levelInfo 53 | Level verification mouse clicks data encrypted in `Plain Text -> Gzip -> Base64`. 54 | #### secret 55 | Wmfd2893gb7 56 | -------------------------------------------------------------------------------- /endpoints/boomlings.com/database/getGJLevels21.md: -------------------------------------------------------------------------------- 1 | ## getGJLevels21.php 2 | Gets the pages containing multiple levels. 3 | ### Parameters 4 | (For all empty parameters refer to [the common parameters](https://github.com/SMJSGaming/GDDocs/blob/master/endpoints/common_parameters.md)) 5 | #### gameVersion 6 | #### binaryVersion 7 | #### gdw 8 | #### type 9 | Tells the server what the fetch priority should be. Type: 0 are the most liked levels, 1 are the most downloaded levels, 2 are the most liked levels (this is also the default for the search button), 3 are the trending levels, 4 are recent levels, 5 are your own levels, 6 are the featured levels, 7 are the magic levels, 8 are the sent levels (secured for mods), 10 are the levels of a map pack (or just put some random IDs in your str seperated by a `,` to get those levels specific), 11 are the recently awarded levels, 12 are levels from people you follow, 13 are levels from friends, 15 are the most liked levels in GD world, 16 are the hall of fame levels, 17 are the featured levels, 18 is unknown since it gives an empty page with the default params (might be for mods or robtop only) and the default is the most liked levels. 10 | #### str 11 | The search string. This is empty if you didn't search any specific string. 12 | #### diff 13 | The difficulty you are filtering on. This is a `-` if you didn't filter any difficulty. 14 | #### len 15 | The lenght you are filtering on. this is a `-` if you didn't filter any length. 16 | #### total 17 | The ammount of levels there are in total on the specific page. It's currently unknown how the game gets this data and what the use for it is. 18 | #### uncompleted 19 | A boolean which filters on levels you didn't complete if true. The values are 1 (true) and 0 (false). 20 | #### onlyCompleted 21 | A boolean which filters on levels you did complete if true. The values are 1 (true) and 0 (false). 22 | #### featured 23 | A boolean which filters on featured levels if true. The values are 1 (true) and 0 (false). It orders on most downloaded. 24 | #### original 25 | A boolean which filters on original levels if true. The values are 1 (true) and 0 (false). 26 | #### twoPlayer 27 | A boolean which filters on two player levels if true. The values are 1 (true) and 0 (false). 28 | #### coins 29 | A boolean which filters on levels with coins if true. The values are 1 (true) and 0 (false). 30 | #### epic 31 | A boolean which filters on epic levels if true. The values are 1 (true) and 0 (false). 32 | #### demonFilter 33 | A int telling the server on what demon it should filter if the diff is 10. It will always send if you changed the demon filter to non default. 34 | #### secret 35 | Wmfd2893gb7 36 | -------------------------------------------------------------------------------- /Server.md: -------------------------------------------------------------------------------- 1 | # The Geometry Dash Server 2 | ## Introduction 3 | 4 | The online part of Geometry Dash is the most used of the entire game. Everyday, dozens of levels get uploaded/download to/from the server. 5 | Using the server, you can also view the global ranks, such as top star grinders, top creators; you can even have friends and send messages to them! 6 | But how does that work? 7 | 8 | #### Request 9 | 10 | Geometry Dash exchange data with the server through PHP, which is based on the HTTP protocol. 11 | There are many ways to send HTTP requests; Geometry Dash uses POST requests. 12 | The data is in the body field of the request. 13 | The body of a request is always structured in this way: 14 | 15 | param1=value1¶m2=value2¶m3... 16 | 17 | ### Response 18 | 19 | The server also sends its data through the body of the request. 20 | Let's take a look at a sample response: 21 | 22 | `1:1:3:27732941,28200611,27483789,28225110,27448202|1:2:3:20635816,28151870,25969464,24302376,27399722` 23 | 24 | Pretty confusing, isn't it? Well, let's see how it would have been with json: 25 | 26 | ```json 27 | { 28 | "1":1, 29 | "3":[27732941,28200611,27483789,28225110,27448202] 30 | } 31 | { 32 | "1":2, 33 | "3":[20635816,28151870,25969464,24302376,27399722] 34 | } 35 | ``` 36 | 37 | As you can see: 38 | * *|* delimits 2 or more objects; 39 | * *:* delimits the variables ID and their values; 40 | * *,* delimits the values in a array. 41 | 42 | **Note: sometimes ':' may appear in a value: to avoid undefined behaviours, some pages uses '~' as a delimiter instead of ':'.** 43 | 44 | ## Development tools 45 | 46 | If you want to start interacting with the Geometry Dash Server, you can use some tools to make the development easier. 47 | 48 | Python is a powerful, multi-use and cross platform programming language. With python and the urllib library you can 49 | easily simulate requests just as it were done by the game. Here's a simple script that get the account ID of a player 50 | from its name: 51 | 52 | ```python 53 | from urllib.request import urlopen,Request 54 | 55 | playername = "robtop" 56 | 57 | url = "http://www.boomlings.com/database/getGJUsers20.php" #page where to send the packet 58 | p = "gameVersion=21&binaryVersion=35&gdw=0&str="+playername+"&total=0&page=0&secret=Wmfd2893gb7" #our body 59 | p = p.encode() #prepare our packet for the request 60 | data = urlopen(url,p).read().decode()# send the request and save the response 61 | if data == "-1": #check if the request got accepted 62 | print("Request failed.") #player doesnt exist, some required variables may be missing from the body, 63 | #wrong url, invalid body format, invalid values, etc. 64 | else: 65 | data = data.split('|') #split the response in objects 66 | data = data[0].split(':') #split the first object to access variables 67 | print("Player name: "+playername) #print player name 68 | print("Account ID: "+data[21]) #print account ID 69 | ``` 70 | //Wireshark 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /endpoints/post_request_examples.md: -------------------------------------------------------------------------------- 1 | ## Multiple code examples to emulate a request to the server 2 | 3 | #### PHP 4 | ```php 5 | 29 | ``` 30 | 31 | #### Python 32 | ```python 33 | # imports needed library 34 | from urllib.request import urlopen 35 | 36 | # sets the target url 37 | url = "http://www.boomlings.com/database/[insert target file]" 38 | 39 | # makes the post string 40 | post = "seperateAndDefine=0&indexes=example&like=true&this=everything_behind_the_equal_sign_is_a_value_and_everything_behind_the_and_sign_is_an_index" 41 | post = post.encode() 42 | 43 | # makes a request on your url using the post values 44 | result = urlopen(url, post).read().decode() 45 | 46 | # outputs the site responce 47 | print(result) 48 | ``` 49 | 50 | #### Java 51 | ```java 52 | import java.io.*; 53 | import java.net.*; 54 | 55 | //calls the main class and method 56 | class Main { 57 | public static void main(String[] args) throws Exception { 58 | 59 | //sets the target url 60 | URL url = new URL("http://www.boomlings.com/database/[insert target file]"); 61 | 62 | //makes the post string 63 | String postData = "seperateAndDefine=0&indexes=example&like=true&this=everything_behind_the_equal_sign_is_a_value_and_everything_behind_the_and_sign_is_an_index"; 64 | 65 | //turns the post data into a byte array 66 | byte[] postDataBytes = postData.getBytes("UTF-8"); 67 | 68 | //makes the request header 69 | HttpURLConnection conn = (HttpURLConnection)url.openConnection(); 70 | conn.setRequestMethod("POST"); 71 | conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); 72 | conn.setRequestProperty("Content-Length", String.valueOf(postDataBytes.length)); 73 | 74 | //requests the output 75 | conn.setDoOutput(true); 76 | conn.getOutputStream().write(postDataBytes); 77 | 78 | //reads the output 79 | Reader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8")); 80 | 81 | //constructs and prints the output 82 | for (int c; (c = in.read()) >= 0;) 83 | System.out.print((char)c); 84 | } 85 | } 86 | ``` 87 | 88 | #### Javascript/Jquery 89 | ```javascript 90 | 91 | 92 | 123 | ``` 124 | 125 | #### Rust 126 | ```rust 127 | use reqwest::Client; 128 | 129 | //calls main method 130 | fn main() -> Result<(), Box> { 131 | 132 | //sets the target url 133 | let url = "http://www.boomlings.com/database/[insert target file]"; 134 | 135 | //makes the post string 136 | let postvalues = "gameVersion=21&whateverElse=example"; 137 | 138 | //sends the request 139 | let mut req = Client::new().post(url).body(postvalues).send()?; 140 | 141 | //reads the output 142 | let output = req.text()?; 143 | 144 | // prints the output 145 | println!("{}", output); 146 | Ok(()) 147 | } 148 | 149 | //thx Blaze for making a request code in rust 150 | ``` 151 | --------------------------------------------------------------------------------