├── 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 |
4 | - All account management pages
5 | - Both mod suggestion endpoints
6 |
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 |
--------------------------------------------------------------------------------