Skip to content

Commit e337b40

Browse files
authored
Merge pull request #45 from Wyliemaster/branch2-2
lgtm
2 parents 6d4708c + 18a0d0d commit e337b40

30 files changed

+1318
-130
lines changed

docs/_sidebar.md

Lines changed: 71 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
- [Reference](/reference.md)
55
- [Credits](/CREDITS.md)
66

7-
**Resources**
8-
-----
7+
## **Resources**
98

109
- **Server**
1110
- [Comment](/resources/server/comment.md)
@@ -17,73 +16,86 @@
1716
- [Message](/resources/server/message.md)
1817
- [Song](/resources/server/song.md)
1918
- [User](/resources/server/user.md)
19+
- [Restore](/resources/server/restore.md)
2020
- **Client**
2121
- [Gamesave](/resources/client/gamesave.md)
22+
- [Encoder Keys](resources/client/gamesave/kCEK.md)
23+
- [GS Values](/resources/client/gamesave/GS_Value.md)
24+
- [GLM](/resources/client/gamesave/GLM.md)
25+
- [value Keeper](/resources/client/gamesave/valueKeeper.md)
26+
- [Game Variables](/resources/client/gamesave/gv.md)
27+
- [Achievements](/resources/client/gamesave/achievement.md)
28+
- [quests](/resources/client/gamesave/quests.md)
2229
- [Level](/resources/client/level.md)
30+
- [Object IDs](/resources/client/level-components/objectids.md)
2331
- [Inner Level String](/resources/client/level-components/inner-level-string.md)
2432
- [Level Object](/resources/client/level-components/level-object.md)
2533
- [Color String](/resources/client/level-components/color-string.md)
2634
- [Guideline String](/resources/client/level-components/guideline-string.md)
2735

2836
**Endpoints**
29-
- Comments
30-
- [deleteGJAccComment20](/endpoints/deleteGJAccComment20.md)
31-
- [deleteGJComment20](/endpoints/deleteGJComment20.md)
32-
- [getGJAccountComments20](/endpoints/getGJAccountComments20.md)
33-
- [getGJCommentHistory](/endpoints/getGJCommentHistory.md)
34-
- [getGJComments21](/endpoints/getGJComments21.md)
35-
- [uploadGJAccComment20](/endpoints/uploadGJAccComment20.md)
36-
- [uploadGJComment21](/endpoints/uploadGJComment21.md)
37-
- Level Packs
38-
- [getGJGauntlets21](/endpoints/getGJGauntlets21.md)
39-
- [getGJMapPacks21](/endpoints/getGJMapPacks21.md)
40-
- Levels
41-
- [deleteGJLevelUser20](/endpoints/deleteGJLevelUser20.md)
42-
- [downloadGJLevel22](/endpoints/downloadGJLevel22.md)
43-
- [getGJDailyLevel](/endpoints/getGJDailyLevel.md)
44-
- [getGJLevels21](/endpoints/getGJLevels21.md)
45-
- [rateGJDemon21](/endpoints/rateGJDemon21.md)
46-
- [rateGJStars211](/endpoints/rateGJStars211.md)
47-
- [reportGJLevel](/endpoints/reportGJLevel.md)
48-
- [updateGJDesc20](/endpoints/updateGJDesc20.md)
49-
- [uploadGJLevel21](/endpoints/uploadGJLevel21.md)
50-
- Messages
51-
- [deleteGJMessages20](/endpoints/deleteGJMessages20.md)
52-
- [downloadGJMessage20](/endpoints/downloadGJMessageo20.md)
53-
- [getGJMessages20](/endpoints/getGJMessages20.md)
54-
- [uploadGJMessage20](/endpoints/uploadGJMessage20.md)
55-
- Miscellaneous
56-
- [getAccountURL](/endpoints/getAccountURL.md)
57-
- [getGJSongInfo](/endpoints/getGJSongInfo.md)
58-
- [getGJTopArtists](/endpoints/getGJTopArtists.md)
59-
- [getSaveData](/endpoints/getSaveData.md)
60-
- [testSong](/endpoints/testSong.md)
61-
- [likeGJItem211](/endpoints/likeGJItem211.md)
62-
- [requestUserAccess](/endpoints/requestUserAccess.md)
63-
- [restoreGJItems](/endpoints/restoreGJItems.md)
64-
- Relationships
65-
- [acceptGJFriendRequest20](/endpoints/acceptGJFriendRequest20.md)
66-
- [blockGJUser20](/endpoints/blockGJUser20.md)
67-
- [deleteGJFriendRequests20](/endpoints/deleteGJFriendRequests20.md)
68-
- [getGJFriendRequests20](/endpoints/getGJFriendRequests20.md)
69-
- [getGJUserList20](/endpoints/getGJUserList20.md)
70-
- [readGJFriendRequest20](/endpoints/readGJFriendRequest20.md)
71-
- [removeGJFriend20](/endpoints/removeGJFriend20.md)
72-
- [unblockGJUser20](/endpoints/unblockGJUser20.md)
73-
- [uploadFriendRequest20](/endpoints/uploadFriendRequest20.md)
74-
- Rewards
75-
- [getGJChallenges](/endpoints/getGJChallenges.md)
76-
- [getGJRewards](/endpoints/getGJRewards.md)
77-
- Scores
78-
- [getGJLevelScores211](/endpoints/getGJLevelScores211.md)
79-
- [getGJScores20](/endpoints/getGJScores20.md)
80-
- Users
81-
- [getGJUserInfo20](/endpoints/getGJUserInfo20.md)
82-
- [getGJUsers20](/endpoints/getGJUsers20.md)
83-
- [updateGJAccSettings20](/endpoints/updateGJAccSettings20.md)
84-
- [updateGJUserScore22](/endpoints/updateGJUserScore22.md)
37+
38+
- Comments
39+
- [deleteGJAccComment20](/endpoints/deleteGJAccComment20.md)
40+
- [deleteGJComment20](/endpoints/deleteGJComment20.md)
41+
- [getGJAccountComments20](/endpoints/getGJAccountComments20.md)
42+
- [getGJCommentHistory](/endpoints/getGJCommentHistory.md)
43+
- [getGJComments21](/endpoints/getGJComments21.md)
44+
- [uploadGJAccComment20](/endpoints/uploadGJAccComment20.md)
45+
- [uploadGJComment21](/endpoints/uploadGJComment21.md)
46+
- Level Packs
47+
- [getGJGauntlets21](/endpoints/getGJGauntlets21.md)
48+
- [getGJMapPacks21](/endpoints/getGJMapPacks21.md)
49+
- Levels
50+
- [deleteGJLevelUser20](/endpoints/deleteGJLevelUser20.md)
51+
- [downloadGJLevel22](/endpoints/downloadGJLevel22.md)
52+
- [getGJDailyLevel](/endpoints/getGJDailyLevel.md)
53+
- [getGJLevels21](/endpoints/getGJLevels21.md)
54+
- [rateGJDemon21](/endpoints/rateGJDemon21.md)
55+
- [rateGJStars211](/endpoints/rateGJStars211.md)
56+
- [reportGJLevel](/endpoints/reportGJLevel.md)
57+
- [suggestGJStars](/endpoints/suggestGJStars.md)
58+
- [updateGJDesc20](/endpoints/updateGJDesc20.md)
59+
- [uploadGJLevel21](/endpoints/uploadGJLevel21.md)
60+
- Messages
61+
- [deleteGJMessages20](/endpoints/deleteGJMessages20.md)
62+
- [downloadGJMessage20](/endpoints/downloadGJMessageo20.md)
63+
- [getGJMessages20](/endpoints/getGJMessages20.md)
64+
- [uploadGJMessage20](/endpoints/uploadGJMessage20.md)
65+
- Miscellaneous
66+
- [getAccountURL](/endpoints/getAccountURL.md)
67+
- [getGJSongInfo](/endpoints/getGJSongInfo.md)
68+
- [getGJTopArtists](/endpoints/getGJTopArtists.md)
69+
- [getSaveData](/endpoints/getSaveData.md)
70+
- [testSong](/endpoints/testSong.md)
71+
- [likeGJItem211](/endpoints/likeGJItem211.md)
72+
- [requestUserAccess](/endpoints/requestUserAccess.md)
73+
- [restoreGJItems](/endpoints/restoreGJItems.md)
74+
- Relationships
75+
- [acceptGJFriendRequest20](/endpoints/acceptGJFriendRequest20.md)
76+
- [blockGJUser20](/endpoints/blockGJUser20.md)
77+
- [deleteGJFriendRequests20](/endpoints/deleteGJFriendRequests20.md)
78+
- [getGJFriendRequests20](/endpoints/getGJFriendRequests20.md)
79+
- [getGJUserList20](/endpoints/getGJUserList20.md)
80+
- [readGJFriendRequest20](/endpoints/readGJFriendRequest20.md)
81+
- [removeGJFriend20](/endpoints/removeGJFriend20.md)
82+
- [unblockGJUser20](/endpoints/unblockGJUser20.md)
83+
- [uploadFriendRequest20](/endpoints/uploadFriendRequest20.md)
84+
- Rewards
85+
- [getGJChallenges](/endpoints/getGJChallenges.md)
86+
- [getGJRewards](/endpoints/getGJRewards.md)
87+
- Scores
88+
- [getGJLevelScores211](/endpoints/getGJLevelScores211.md)
89+
- [getGJScores20](/endpoints/getGJScores20.md)
90+
- Users
91+
92+
- [getGJUserInfo20](/endpoints/getGJUserInfo20.md)
93+
- [getGJUsers20](/endpoints/getGJUsers20.md)
94+
- [updateGJAccSettings20](/endpoints/updateGJAccSettings20.md)
95+
- [updateGJUserScore22](/endpoints/updateGJUserScore22.md)
8596

8697
- **Accounts**
98+
8799
- [Login](/endpoints/accounts/loginGJAccount.md)
88100
- [Registration](/endpoints/accounts/registerGJAccount.md)
89101

@@ -95,6 +107,7 @@
95107
- [Level Encoding/Decoding](/topics/levelstring_encoding_decoding.md)
96108
- [Game Save Files Encryption/Decryption](/topics/localfiles_encrypt_decrypt.md)
97109
- [Status Codes](/topics/status_codes.md)
110+
- [Vault Codes](/topics/vault_codes.md)
98111
- **Encryption**
99112
- [Base64 Encoding](topics/encryption/base64.md)
100113
- [CHK Generation](topics/encryption/chk.md)

docs/endpoints/accounts/register.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# accounts/register.php
2+
3+
Account registration via a webpage

docs/endpoints/getAccountURL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Gets the URL for the data server. Official domain name is [http://geometrydash.c
88

99
**accountID** - Anyone's account ID
1010

11-
**type** - Unknown use; 2 by default
11+
**type** - used to decide which endpoint is used after the data server is found - 1 = backup data/ 2 = sync data
1212

1313
**secret** - Wmfd2893gb7
1414

docs/endpoints/getGJGauntlets21.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ Gets the gauntlet levels.
1616

1717
**gdw** - 0
1818

19+
**special** - 1 (fetches the 2.2 gauntlets)
20+
1921
## Response
2022

2123
A list of [gauntlet objects](/resources/server/gauntlet.md), separated by a pipe `|`.

docs/endpoints/getGJLevelScores211.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,15 @@ Gets the leaderboard scores for a particular level and submits a user's current
3232

3333
**s3** - User's time in seconds + 4085
3434

35-
**s4** - Unknown
35+
**s4** - related to percentage -> Client does math on it (likely used to make the leaderboards accurate)
3636

37-
**s5** - Unknown
37+
**s5** - Random number goes up to 4 digits
3838

3939
**s6** - List of PB differences (For example from 0 to 50, then 69, it would be `50,19`) [XOR'd](topics/encryption/xor.md) with 41274 and [Base64](topics/encryption/base64.md) encoded
4040

41-
**s7** - Unknown
41+
**s7** - Randomly Generated 10 character string
4242

43-
**s8** - Unknown
43+
**s8** - Attempt Count
4444

4545
**s9** - The amount of coins the user got + 5819
4646

docs/endpoints/rateGJDemon21.md

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,15 @@
11
# rateGJDemon21.php
22

3-
Rates the demon difficulty of a demon level
3+
Rates the demon difficulty of a demon level - only works for Geometry Dash moderators
44

55
## Parameters
66

77
### Required Parameters
88

9-
N/A
10-
11-
### Optional Parameters
12-
139
**gameVersion** - 21
1410

1511
**binaryVersion** - 35
1612

17-
**gdw** - 0
18-
1913
**secret** - Wmfp3897gc3
2014

2115
**accountID** - The accountID of the user who's rating the demon's difficulty
@@ -26,15 +20,25 @@ N/A
2620

2721
**rating** - 1 for Easy Demon, 2 for Medium Demon, 3 for Hard Demon, 4 for Insane Demon and 5 for Extreme Demon
2822

23+
### Optional Parameters
24+
25+
**gdw** - 0
26+
2927
## Response
3028

31-
Always -1. Returns a 500 error code when sent by GD
29+
For normal Players: Internal Server Error or -1
30+
31+
if mode=1
32+
33+
mod: levelID
34+
35+
normal user: -2
3236

3337
## Example
3438

3539
<!-- tabs:start -->
3640

37-
### **Python**
41+
### **Python - normal Players**
3842

3943
```py
4044
import requests
@@ -57,4 +61,31 @@ print(req.text)
5761
-1
5862
```
5963

64+
### **Python - Moderators**
65+
66+
```py
67+
import requests
68+
69+
headers = {
70+
}
71+
72+
data = {
73+
"gameVersion": 21,
74+
"binaryVersion": 35
75+
"accountID": 71,
76+
"gjp": *********, #the GJP of the moderator
77+
"secret": "Wmfp3897gc3",
78+
"levelID": 4284013,
79+
"rating": 3
80+
}
81+
82+
req = requests.post('http://www.boomlings.com/database/rateGJDemon21.php', headers=headers, data=data)
83+
print(req.text)
84+
```
85+
86+
**Response**
87+
```py
88+
4284013
89+
```
90+
6091
<!-- tabs:end -->

docs/endpoints/suggestGJStars.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# suggestGJStars.md
2+
3+
Endpoint used by moderators to send levels to RobTop
4+
5+
## Parameters
6+
7+
### Required Parameters
8+
9+
**accountID** - accountID of the user
10+
11+
**gjp** - The [GJP](/topics/encryption/gjp.md) of the user
12+
13+
**levelID** - the ID of the level
14+
15+
**stars** - how many stars that are requested
16+
17+
**secret** - Wmfp3879gc3
18+
19+
**gameVersion** - the game version
20+
21+
**binaryVersion** - the binary version
22+
23+
**feature** - 1 for feature, 0 for star rate
24+
25+
**gdw** - 0
26+
27+
## Response
28+
29+
-2 or 1
30+
31+
## example
32+
33+
<!--tabs:start -->
34+
35+
## Python
36+
```py
37+
import requests
38+
39+
data = {
40+
"gameVersion": 21,
41+
"binaryVersion":35
42+
"accountID": 71, # a moderators accountID
43+
"gjp": "********", # This would be the mods password encoded with GJP encryption
44+
"levelID": 128,
45+
"stars": 3,
46+
"feature": 0,
47+
"gdw": 0,
48+
"secret": "Wmfp3879gc3"
49+
}
50+
51+
req = requests.post("http://boomlings.com/database/suggestGJStars.php", data=data)
52+
print(req.text)
53+
54+
```
55+
56+
**Response**
57+
```py
58+
1
59+
```

docs/endpoints/updateGJUserScore22.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Updates a user's data
6060

6161
**color2** - Color 2 of the player. Defaults to the default secondary color when left out
6262

63-
**special** - Unsure
63+
**special** - Glow (2 if enabled)
6464

6565
**seed** - A random set of 10 numbers and letters in A-Za-z0-9
6666

docs/endpoints/uploadGJLevel21.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,19 +48,19 @@ Uploads a created level to the servers.
4848

4949
**levelString** - The actual level data. Must be gzip compressed and then converted to [URL-safe base64](./topics/encryption/base64.md)
5050

51-
**seed2** - A mandatory [chk value](./topics/encryption/chk.md) generated from the first 50 characters of the ***compressed*** level data
51+
**seed2** - A mandatory [chk value](./topics/encryption/chk.md) generated from the first 50 characters of the **_compressed_** level data
5252

5353
**secret** - Wmfd2893gb7
5454

5555
### Optional Parameters
5656

57-
**wt** - A random number
57+
**wt** - the amount of time spent in the editor of a level (local copy)
5858

59-
**wt2** - Another random number
59+
**wt2** - The amount of time spent in the editor of a level (previous copies)
6060

6161
**seed** - A random string
6262

63-
**extraString** - A list of underscore seperated numbers. Unknown usage, but can be left out entirely without problems
63+
**extraString** - A list of underscore seperated numbers. apparently used for rendering levels
6464

6565
**levelInfo** - A random gzip compressed string
6666

@@ -117,6 +117,7 @@ print(req.text)
117117
```
118118

119119
**Response**
120+
120121
```py
121122
62687277
122123
```

0 commit comments

Comments
 (0)