Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix deleteGJAccComment20.php #58

Open
wants to merge 45 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
108c59a
Update enums.md
A-Zalt Jul 18, 2024
f89d3b8
Update enums.md
A-Zalt Jul 18, 2024
ae1bb98
Update GLM.md
A-Zalt Jul 18, 2024
5f06b07
Merge pull request #1 from Wyliemaster/master
A-Zalt Jul 18, 2024
372581e
Update deleteGJAccComment20.md
A-Zalt Oct 3, 2024
c8ea242
Merge pull request #2 from Wyliemaster/master
A-Zalt Oct 3, 2024
a74130a
Update uploadGJLevel21.md
A-Zalt Oct 4, 2024
25f2d20
Update chk.md
A-Zalt Oct 11, 2024
cf5a554
Update chk.md
A-Zalt Oct 11, 2024
8a2b524
Update chk.md
A-Zalt Oct 11, 2024
a6ed959
Update deleteGJAccComment20.md
A-Zalt Oct 11, 2024
e079f72
Update uploadGJLevelList.md
A-Zalt Oct 11, 2024
09499ad
fix formatting
A-Zalt Oct 11, 2024
1b69b43
ye
A-Zalt Oct 11, 2024
a504529
typo
A-Zalt Oct 11, 2024
c3d3f43
clarification
A-Zalt Oct 11, 2024
614c7ac
title
A-Zalt Oct 11, 2024
466c41e
title 2
A-Zalt Oct 11, 2024
7aec679
binaryversion, gameversion, gjp2
A-Zalt Oct 11, 2024
4016977
correct secret
A-Zalt Oct 11, 2024
925dd79
Update secrets.md
A-Zalt Oct 11, 2024
a2c0912
how the fuck did i miss an entire endpoint :sob:
A-Zalt Oct 12, 2024
068ebd8
Update _sidebar.md
A-Zalt Oct 12, 2024
1b6ef74
Update hashes.md
A-Zalt Oct 12, 2024
238870d
Update musiclibrary.md
A-Zalt Oct 12, 2024
d549baf
add z layers
A-Zalt Oct 12, 2024
b1a75ce
Update loginGJAccount.md
A-Zalt Oct 12, 2024
ae09907
Not todo i think
A-Zalt Oct 12, 2024
218daad
Update enumerations.md
A-Zalt Oct 12, 2024
a7cd75b
icontype
A-Zalt Oct 22, 2024
e318d9e
fix formatting
A-Zalt Oct 22, 2024
80dc1b8
2.207 #1 (GS_30)
A-Zalt Nov 9, 2024
8ddaf94
2.207 #2 (im dumb)
A-Zalt Nov 9, 2024
e45862e
2.207 #3: wraith vault codes
A-Zalt Nov 9, 2024
c0a628e
2.207 #4 (gs_value) (shoutout to colon)
A-Zalt Nov 9, 2024
e88097d
2.207 #5 (event levels)
A-Zalt Nov 9, 2024
e9ae44e
2.207 #5 (event levels #2)
A-Zalt Nov 9, 2024
b54ae9d
Create getGJSecretReward.php
A-Zalt Nov 9, 2024
210bb6e
2.207 №8 (sidebar getgjsecretreward)
A-Zalt Nov 9, 2024
adc661e
2.207 №9 (i ma ybe stupid)
A-Zalt Nov 9, 2024
1830e1d
2.207 №10 (wraith chests)
A-Zalt Nov 9, 2024
3965a20
2.207 #i lost track (golden keys)
A-Zalt Nov 9, 2024
af1f7a6
more gauntlets
A-Zalt Dec 24, 2024
168ed88
minor mistake
A-Zalt Dec 24, 2024
dbd3ce1
tab issue
A-Zalt Dec 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/_sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,10 @@
- [uploadGJMessage20](/endpoints/socials/uploadGJMessage20.md)
**Rewards**
- [getGJChallenges](/endpoints/rewards/getGJChallenges.md)
- [getGJSecretReward](/endpoints/reward/getGJSecretReward.md)
- [getGJRewards](/endpoints/rewards/getGJRewards.md)
**Songs**
- [getCustomContentURL](/endpoints/songs/getCustomContentURL.md)
- [getGJSongInfo](/endpoints/songs/getGJSongInfo.md)
- [getGJTopArtists](/endpoints/songs/getGJTopArtists.md)
- [testSong](/endpoints/songs/testSong.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/endpoints/accounts/loginGJAccount.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
| Parameter | Explanation | Optional |
| :--------- | :---------------------------------------------------------------------------------------------------- | :------- |
| `udid` | [The user's Universal Unique Identifier](https://en.wikipedia.org/wiki/Universally_unique_identifier) | `False` |
| `username` | The username for the account the player is trying to log into | `False` |
| `userName` | The username for the account the player is trying to log into | `False` |
| `password` | The plaintext password for the account the player is trying to log into | `False` |
| `sID` | The player's steam ID | `True` |
| `secret` | Account Secret: `Wmfv3899gc9` | `False` |
Expand Down
17 changes: 11 additions & 6 deletions docs/endpoints/comments/deleteGJAccComment20.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,31 @@
# deleteGJAccComment20.php


Deletes a profile post.

## Parameters

### Required Parameters

**accountID** - Account ID of the user deleting the comment

**gjp** - The [GJP](/topics/encryption/gjp.md) of the user deleting the comment
**gjp2** - The [GJP2](/topics/encryption/gjp.md) of the user deleting the comment

**commentID** - The ID of the comment being deleted (Returned by [uploadGJAccComment20](/endpoints/uploadGJAccComment20.md))

**secret** - Wmfd2893gb7

**targetAccountID** - Account ID the user who posted the profile post

### Optional Parameters

**gameVersion** - 21
**gameVersion** - 22

**binaryVersion** - 35
**binaryVersion** - 42

**gdw** - 0

**cType** - 0 for level, 1 for user. Always 1 here

## Response

1 if the comment was deleted, -1 if there was an error
Expand All @@ -41,7 +45,8 @@ data = {
"accountID": 173831, # DevExit's account ID
"gjp": "********", # This would be DevExit's password encoded with GJP encryption
"commentID": 1772717,
"secret": "Wmfd2893gb7"
"secret": "Wmfd2893gb7",
"targetAccountID": 173831,
}

r = requests.post('http://boomlings.com/database/deleteGJAccComment20.php', data=data)
Expand All @@ -53,4 +58,4 @@ print(req.text)
1
```

<!-- tabs:end -->
<!-- tabs:end -->
4 changes: 2 additions & 2 deletions docs/endpoints/levels/getGJDailyLevel.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ Gets which daily level we're on and gets how much time is left.

**gameVersion** - 22

**binaryVersion** - 42
**binaryVersion** - 43

**gdw** - 0

**accountID** - The user's account ID

**gjp** - The user's [GJP](/topics/encryption/gjp.md)

**weekly** - 0 for daily, 1 for weekly. Defaults to 0 if not sent
**type** - 0 for daily, 1 for weekly, 2 for event. Defaults to 0 if not sent

## Response

Expand Down
1 change: 1 addition & 0 deletions docs/endpoints/levels/getGJLevels21.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
| 19 | Unknown (same as type 10 but this type has pagination and no star rate filter) |
| 21 | Daily history |
| 22 | Weekly history |
| 23 | Event levels history |
| 25 | Level list, uses `str` as the list ID |
| 26 | Unknown (same as type 19 but each page has up to 100 levels instead of 10 on it) |

Expand Down
8 changes: 7 additions & 1 deletion docs/endpoints/levels/uploadGJLevel21.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Uploads a created level to the servers.

**twoPlayer** - Set to 1 if the level utilizes two player mode

**songID** - The ID of the custom Newgrounds song used in the level. Set to 0 if an official song is used
**songID** - The ID of the custom song used in the level. Set to 0 if an official song is used

**objects** - The number of objects in the level

Expand All @@ -46,6 +46,12 @@ Uploads a created level to the servers.

**ldm** - Set to 1 if the level should have a low detail checkbox

**ts** - The number of ticks (240 TPS) it took you to verify the level (Platformer-only)

**songIDs** - The IDs of the custom songs used in the level, separated by commas

**sfxIDs** - The IDs of the sound effects used in the level, separated by commas

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

**seed2** - A mandatory [chk value](./topics/encryption/chk.md) generated from the first 50 characters of the **_compressed_** level data
Expand Down
48 changes: 32 additions & 16 deletions docs/endpoints/lists/uploadGJLevelList.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,41 +6,57 @@ Uploads a created level to the servers.

### Required Parameters

**gameVersion** - The game version. Currently 22

**accountID** - The uploader's account ID

**gjp2** - The uploader's [GJP2](./topics/encryption/gjp.md)

**listID** - The ID of the list if updating to a newer version, otherwise 0

**listName** - The name of the list, in plain text

**listDesc** - The description of the list, in [URL-safe base64](./topics/encryption/base64.md)

**listVersion** - The version number of the level

**original** - The ID of the original list if the list was copied, otherwise 0

**difficulty** - The list's difficulty face. -1 is N/A, and then it's 0-10 where 0 is Auto and 10 is Extreme Demon

**unlisted** - Set to 2 if the list should be unlisted, and to 1 if the list should be unlisted and only viewable by friends

**listLevels** - All level IDs included in the list. Each ID is separated by `,`

**seed** - A mandatory [chk value](./topics/encryption/chk.md) generated from the first 50 characters of the listLevels parameter, followed by the accountID. TODO!!!
**seed** - A mandatory [chk value](./topics/encryption/chk.md) generated from the first 50 characters of the listLevels parameter, followed by the accountID.

**seed2** - 5 randomly generated characters from \[A-Za-z0-9]

**secret** - Wmfd2893gb7

### Optional Parameters

**gameVersion** - The game version. Currently 22

**binaryVersion** - Currently 42 as of 2.206

**listDesc** - The description of the list, in [URL-safe base64](./topics/encryption/base64.md)

**difficulty** - The list's difficulty face. -1 is N/A, and then it's 0-10 where 0 is Auto and 10 is Extreme Demon. If unspecified, defaults to Auto.

**listID** - The ID of the list if updating to a newer version, otherwise 0

**unlisted** - Set to 2 if the list should be unlisted, and to 1 if the list should be unlisted and only viewable by friends

**listVersion** - The version number of the list. Seems to be always 0

**original** - Unsure why this is a thing. Seems to be always 0

## Response

Returns the ID of the uploaded list, or `-1` if the request was rejected.
Returns the ID of the uploaded list, or one of a few error codes if the request was rejected:

`-4` - invalid list name

`-5` - missing list name

`-6` - invalid/missing level list

`-9` - missing/invalid account ID

`-10` - incorrect/missing seed value

`-11` - incorrect/missing password

`-12` - ratelimit

`-100` - incorrect/missing secret

## Example

Expand Down
4 changes: 2 additions & 2 deletions docs/endpoints/misc/getAccountURL.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ Gets the URL for the data server.

**type** - used to decide which endpoint is used after the data server is found - 1 = backup data/ 2 = sync data

**secret** - Wmfd2893gb7
**secret** - Wmfv3899gc9

## Response

Usually [https://www.robtopgames.org](https://www.robtopgames.org). However, without a valid accountID and at type 2, [https://www.robtopgames.net](https://www.robtopgames.net) is returned instead
Usually [https://www.robtopgames.org](https://www.robtopgames.org). However, if type 2 is specified and either the secret or account ID is invalid, [https://www.robtopgames.net](https://www.robtopgames.net) is returned instead

## Example

Expand Down
68 changes: 68 additions & 0 deletions docs/endpoints/rewards/getGJSecretReward.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# getGJSecretReward.php

Tries a Wraith code.

## Parameters

### Required Parameters

**rewardKey** - The code to try

**secret** - Wmfd2893gb7

**chk** - 5 random chars appended to the beginning of a random number [XOR](/topics/encryption/xor.md)'d and [URL-Safe Base64](/topics/encryption/base64.md) encoded. Currently the server accepts any string 6 characters or longer

### Optional Parameters

**gameVersion** - 22

**binaryVersion** - 43

**accountID** - Account ID of the user

**gjp2** - The user's [GJP2](/topics/encryption/gjp.md)

**uuid** - Seemingly a random number also used for identifying someone

## Response

A list of attributes of the Rewards, separated by colons `:` as follows:
- A random string of 5 characters
- The number used for the `chk`
- The reward ID
- Unknown (always 1)
- Item (1 is Fire, 2 is Ice, 3 is Poison, 4 is Shadow, 5 is Lava, 6 is Demon Key, 7 is Orbs, 8 is Diamonds, 10 is Earth, 11 is Blood, 12 is Metal, 13 is Light and 14 is Soul, 15 is Golden Key), followed by a comma and the amount of said item

This list is then [XOR](/topics/encryption/xor.md)'d and [URL-Safe Base64](/topics/encryption/base64.md) encoded. Then it is separated with its [hash](/resources/server/hashes.md?id=getgjrewards) by a pipe `|`. It also has a random string of 5 characters appended to the front.

`-1` if the code is invalid

## Example

<!-- tabs:start -->

### **Python**

```py
import requests

data = {
"rewardKey": "wellmet",
"secret": "Wmfd2893gb7",
"chk": f"{''.join(random.choice('1234567890qwertyuiopaqsdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM') for i in range(5))}{base64.b64encode(xor_cipher(str(random.randint(10000, 1000000)), '59182').encode()).decode()}"
}

req = requests.post("http://boomlings.com/database/getGJSecretReward.php", data=data)
print(req.text)

decoded_text = xor_cipher(base64.urlsafe_b64decode(response_text.split("|")[0][5:].encode()).decode(), '59182')
print(decoded_text)
```

**Response**
```py
QZGsPX1pTS0QPCAYKCwUJCwkHDwgLAB4A|36881f02620d399cc6f3e702964dc28e513ab122
jcbsv:172900:15:1:8,5
```

<!-- tabs:end -->
4 changes: 2 additions & 2 deletions docs/endpoints/socials/acceptGJFriendRequest20.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Accepting Friend Requests
# acceptGJFriendRequest20

> This endpoint is used to accept friend requests recieved from other users

Expand All @@ -12,7 +12,7 @@
| `requestID` | The ID of the friend request being accepted | `True` |
| `accountID` | The player's account ID | `False` |
| `targetAccountID` | The account which the player is trying to send a friend request to | `False` |
| `gj2p` | The player's [GJP2](/topics/encryption/gjp.md) | `False` |
| `gjp2` | The player's [GJP2](/topics/encryption/gjp.md) | `False` |
| `secret` | The common secret: `Wmfd2893gb7` | `False` |

## Response
Expand Down
4 changes: 2 additions & 2 deletions docs/endpoints/socials/readGJFriendRequest20.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ReadFriendRequests
# readGJFriendRequests20

> This endpoint is used to read friend requests recieved from other players
> This endpoint is used to mark friend requests recieved from other players as read

## Parameters

Expand Down
8 changes: 4 additions & 4 deletions docs/endpoints/socials/removeGJFriend20.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@ Removes someone from a user's friend list

**accountID** - The accountID of the user removing the friend

**gjp** - The [GJP](/topics/encryption/gjp.md) of the user removing the friend
**gjp2** - The [GJP2](/topics/encryption/gjp.md) of the user removing the friend

**targetAccountID** - The accountID of the user being removed

**secret** - Wmfd2893gb7

### Optional Parameters

**gameVersion** - 21
**gameVersion** - 22

**binaryVersion** - 35
**binaryVersion** - 42

**gdw** - 0

Expand Down Expand Up @@ -51,4 +51,4 @@ print(req.text)
1
```

<!-- tabs:end -->
<!-- tabs:end -->
35 changes: 35 additions & 0 deletions docs/endpoints/songs/getCustomContentURL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# getCustomContentURL.php

Gets the URL for the music & SFX library server.

## Parameters

### Required Parameters

None

## Response

https://geometrydashfiles.b-cdn.net

## Example

<!-- tabs:start -->

### **Python**

```py
import requests

data = {}

req = requests.post("http://boomlings.com/database/getCustomContentURL.php", data=data)
print(req.text)
```

**Response**
```py
https://geometrydashfiles.b-cdn.net
```

<!-- tabs:end -->
2 changes: 1 addition & 1 deletion docs/endpoints/songs/musiclibrary.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The Music library format is covered [here](/resources/client/musiclibrary.md).

## Downloading Songs

You can download a track by sending a GET request to `https://geometrydashfiles.b-cdn.net/music/{id}.mp3`. All Music Library song IDs have an offset of 10,000,000 to not interfere with the Newgrounds songs.
You can download a track by sending a GET request to `https://geometrydashfiles.b-cdn.net/music/{id}.ogg`. All Music Library song IDs have an offset of 10,000,000 to not interfere with the Newgrounds songs.

## CDN Tokens

Expand Down
2 changes: 1 addition & 1 deletion docs/endpoints/users/updateGJUserScore22.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Updates a user's data

**icon** - Which icon the iconType has selected, for example if iconType is 0 (cube), then it's the selected cube

**iconType** - Which gamemode the player has last selected when changing their icons, 0 for cube, 1 for ship, 2 for ball, 3 for ufo, 4 for wave, 5 for robot, 6 for spider
**iconType** - Which gamemode the player has last selected when changing their icons, 0 for cube, 1 for ship, 2 for ball, 3 for ufo, 4 for wave, 5 for robot, 6 for spider, 7 for swing, 8 for jetpack

**coins** - The amount of secret coins the user has

Expand Down
Loading