Skip to content

Commit ff5d2a4

Browse files
authored
Merge pull request #6 from Wyliemaster/endpoints-parsing
Endpoints parsing
2 parents 43a8316 + 406fae8 commit ff5d2a4

File tree

10 files changed

+33
-23
lines changed

10 files changed

+33
-23
lines changed

docs/_sidebar.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,11 @@
2222
- [Encoder Keys](resources/client/gamesave/kCEK.md)
2323
- [GS Values](/resources/client/gamesave/GS_Value.md)
2424
- [GLM](/resources/client/gamesave/GLM.md)
25-
- [value Keeper](/resources/client/gamesave/valueKeeper.md)
25+
- [Value Keeper](/resources/client/gamesave/valueKeeper.md)
2626
- [Game Variables](/resources/client/gamesave/gv.md)
2727
- [Achievements](/resources/client/gamesave/achievement.md)
28-
- [quests](/resources/client/gamesave/quests.md)
28+
- [Quests](/resources/client/gamesave/quests.md)
29+
2930
- [Level](/resources/client/level.md)
3031
- [Object IDs](/resources/client/level-components/objectids.md)
3132
- [Inner Level String](/resources/client/level-components/inner-level-string.md)

docs/resources/server/comment.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@ A comment is split into two sections, separated by a colon. The first part is th
1818
| 3 | Author* | **number** | The player ID of the author. **This is different than the account ID**
1919
| 4 | Likes | **number** | The amount of likes the comment has
2020
| 6 | Message ID | **number** | The message ID. Account comments have different IDs than level comments
21+
| 7 | isSpam | **Bool** | if a comment has been flagged as spam
2122
| 9 | Age | **string** | How long ago the comment was posted (e.g. "2 months")
2223
| 10 | Percent* | **number** | The percent the player put in their comment
23-
| 12 | Moderator Chat Color | **string** | Comma separated list of the RGB values of the moderator's chat color
24+
| 11 | ModBadge | **number** | The Mod Badge of a moderator commenting
25+
| 12 | Moderator Chat Color | **string** | Comma separated list of the RGB values of the moderator's chat color. only appears if `modBadgeID != 0`
2426

2527
#### Player Structure
2628

@@ -33,5 +35,5 @@ A comment is split into two sections, separated by a colon. The first part is th
3335
| 10 | Player Color 1 | **number** | Author's primary player color, presumably ordered cronologically from left to right per update
3436
| 11 | Player Color 2 | **number** | Author's secondary player color, presumably ordered cronologically from left to right per update
3537
| 14 | Icon Type | **number** | Author's icon type indexing an array of `icon, ship, ball, ufo, wave, robot, spider`
36-
| 15 | Unknown | **number** | Either 0 or 2, might be related to glow
38+
| 15 | glow | **number** | 0 = no glow, 2 = glow
3739
| 16 | Account ID | **number** | Author's account ID. **This is different than the player ID**

docs/resources/server/friendrequest.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@ A friend request is an invite with a message that you can send to someone to inv
2121
| 32 | Friend Request ID | **number** | An ID unique to each friend request. (I'm not 100% certain on this)
2222
| 35 | Message | **string** | The friend requests's message, encoded in [base64](/topics/encryption/base64.md)
2323
| 37 | Age | **string** | How long ago the friend request was sent (e.g. "2 months")
24-
| 41 | Unknown | **integer** | Either 0 or 1, not sure what this does
24+
| 41 | isBlocked | **Bool** | if you have blocked the user

docs/resources/server/gauntlet.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ A gauntlet is a series of 5 levels handpicked by robtop all with a common theme
1010
| --- | ---------- | ---------- | ------------------------------------- |
1111
| 1 | Index | **number** | Which gauntlet this is, starting at 1 |
1212
| 2 | Levels | **string** | List of gauntlet level IDs |
13+

docs/resources/server/icons.md

Whitespace-only changes.

docs/resources/server/leaderboardscore.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ A leaderboard score is any score that is shown on a leaderboard, for example Vip
1717
| 9 | Icon | **number** | Which icon the user is using, starting with 1 as the first icon
1818
| 10 | Player Color 1 | **number** | The user's primary player color, presumably ordered cronologically from left to right per update
1919
| 11 | Player Color 2 | **number** | The user's secondary player color, presumably ordered cronologically from left to right per update
20-
| 13 | Unknown (Timely ID?) | **number** | Seems to be 0 for everyone
20+
| 13 | Coins | **number** | Secret coins/number of usercoins you get on a level*
2121
| 14 | Icon Type | **number** | The user's icon type indexing an array of `icon, ship, ball, ufo, wave, robot, spider`
2222
| 15 | Special | **number** | functions the same as glow however it returns a 2 rather than a 1
2323
| 16 | Account ID | **number** | The user's account ID. **This is different than the player ID**

docs/resources/server/level.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,19 @@ Keys indicated with an asterisk (\*) are only returned from the downloadGJLevel2
1919
| 5 | Version | **number** | The version of the level published
2020
| 6 | Player ID | **number** | The player ID of the level author
2121
| 8 | Difficulty Denominator | **number** | Returns 0 if the level is N/A, returns 10 if a difficulty is assigned. Historically used to be the amount of people who have voted on the difficulty.
22-
| 9 | Difficulty Numerator | **number** | The nominator used for calculating the level difficulty. Divided by the denominator to get the difficulty icon. Nowadays just 0 = unrated, 10 = easy, 20 = normal, 30 = hard, 40 = harder, 50 = insane. Can be also used to determine the demon difficulty as a side-effect of the voting system. Historically used to be the sum of stars from all votes
22+
| 9 | Difficulty Numerator | **number** | The nominator used for calculating the level difficulty. Divided by the denominator to get the difficulty icon. Nowadays just 0 = unrated, 10 = easy, 20 = normal, 30 = hard, 40 = harder, 50 = insane. Can be also used to determine the demon difficulty as a side-effect of the voting system. Historically used to be the sum of stars from all votes |
2323
| 10 | Downloads | **number** | The amount of times the level has been downloaded
24-
| 11 | Unknown | **unknown** | Unknown purpose, the only observed returned values were either 0, an empty string or 1. Removed in the 2.1 update
24+
| 11 | setCompletes | **integer** | The Number of people who have completed a specific level removed in update 2.1
2525
| 12 | Official Song | **number** | The official song number used by the level, if applicable
2626
| 13 | Game Version | **number** | The GD version the level was uploaded in. Versions 1.0 to 1.6 use version numbers 1 to 7 respectively. Version 10 is 1.7. Otherwise, divide the version number by ten to get the correct number.
27-
| 14 | Likes | **number** | The amount of likes the level received
28-
| 15 | Length | **number** | A number from 0-4, where 0 is tiny and 4 is XL
27+
| 14 | Likes | **number** | likes - dislikes |
28+
| 15 | Length | **number** | A number from 0-4, where 0 is tiny and 4 is XL |
29+
| 16 | Dislikes | **number** | dislikes - likes |
2930
| 17 | Demon | **boolean** | If the level's difficulty is demon
3031
| 18 | Stars | **number** | The amount of stars rewarded for completing the level
3132
| 19 | Featured Score | **number** | 0 if the level is not featured, otherwise a positive number. The higher it is, the higher the level appears on the featured levels list.
3233
| 25 | Auto | **boolean** | If the level's difficulty is auto
34+
| 26 | recordString | **String** | appears in the [GJGameLevel parser](https://media.discordapp.net/attachments/801840133355470888/809495354880950272/unknown.png) but is unused
3335
| 27* | Password | **encrypted string** | The password required to copy the level. It is XOR encrypted with a key of 26364
3436
| 28* | Upload date | **string** | The approximate date the level was uploaded on
3537
| 29* | Update date | **string** | The approximate date the level was last updated on
@@ -42,9 +44,11 @@ Keys indicated with an asterisk (\*) are only returned from the downloadGJLevel2
4244
| 39 | Stars Requested | **number** | The star value requested for the level
4345
| 40* | Low Detail Mode | **boolean** | If the level has a low detail checkbox
4446
| 41* | Daily Number | **number** | Daily/weekly levels only. Returns which daily/weekly the level was (e.g. the 500th daily level). Subtract 100,000 if the level is weekly
45-
| 42 | Epic | **boolean** | If the level has an epic rating
47+
| 42 | Epic | **integer** | If the level has an epic rating
4648
| 43 | Demon Difficulty | **number** | The difficulty of the demon rating. 3 = easy, 4 = medium, 0 = hard, 5 = insane, 6 = extreme. Can also be used to determine the level difficulty non-demons had before rating as a side-effect of the voting system.
49+
| 44 | isGauntlet | **Bool** | if the level is in a gauntlet |
4750
| 45 | Objects | **number** | The amount of objects in the level, used to determine if the level is considered "large". It caps at 65535
48-
| 46 | Editor Time | **number** | the amount of time spent in the editor of a level in seconds (local Copy)
49-
| 47 | Editor Time copies | **number** | The amount of time spent in the editor of a level in seconds (previous copies)
50-
| 48 | Unknown | **unknown** | Added in 2.1, seems to have been removed shortly after
51+
| 46 | editorTime | **number** |
52+
| 47 | editorTime(Copies) | **number** |
53+
| 48 | Unknown | **String** | not found it GD 2.1's parser however it is in 2.2's parser suggesting that it was a 2.2 key that rob accidentally sent from the servers seems to be unused after testing it |
54+

docs/resources/server/mappack.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ A map pack is a series of 3 levels, although it can go higher, handpicked by Rob
1717
| 7 | Text Color | **string** | RGB color for the title text separated by ,
1818
| 8 | Bar Color | **string** | RGB color for the completion bar separated by ,
1919

20+
2021
### Difficulty structure
2122

2223
| Value | Difficulty |
@@ -31,4 +32,5 @@ A map pack is a series of 3 levels, although it can go higher, handpicked by Rob
3132
| 7 | Easy Demon |
3233
| 8 | Medium Demon |
3334
| 9 | Insane Demon |
34-
| 10 | Extreme Demon |
35+
| 10 | Extreme Demon |
36+

docs/resources/server/song.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,10 @@ A song is a resource from newgrounds that people can sync their levels to, and i
1010
|-----|---------------------------|----------------------------------------------|--------------------------------------------------------------------------
1111
| 1 | ID | **number** | The ID of the song on Newgrounds
1212
| 2 | Name | **string** | The name of the song
13-
| 3 | Arist ID | **number** | ID Of the Artist
13+
| 3 | ArtistID | **number** | Newgrounds ArtistID
1414
| 4 | Artist Name | **string** | The name of the artist who made the song
1515
| 5 | Size | **number** | Size of the song in MB, rounded to two decimal places
16-
| 6 | SongYT | **URL** | The URL of a song if its found on YouTube
16+
| 6 | Video YT ID | **string** | the Video ID for the songs YouTube Video
1717
| 7 | Youtube URL | **string** | The URL of the newgrounds user's youtube channel
18-
| 8 | Unknown | **number** | Either 0 or 1. Not sure what it denotes
19-
| 9 | Song Priority | **number** | Position of the song on the downloaded song list
18+
| 8 | [unused] | **bool** | Either 0 or 1 -> the game does not have any checks for this internally so this is likely unused
2019
| 10 | Link | **string** | Link to the song's mp3

docs/resources/server/user.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@
2626
| 24 | accBird | **number** | The bird number of the player use |
2727
| 25 | accDart(wave) | **number** | The dart(wave) number of the player use |
2828
| 26 | accRobot | **number** | The robot number of the player use |
29+
| 27 | AccStreak | **number** | The Streak of the user |
2930
| 28 | accGlow | **number** | The glow number of the player use |
30-
| 29 | unknown | **number** | unknown but always 1 - If set to 0, five things happen: all your icons revert to the default icons (colours aren't affected), the leaderboard rank vanishes from your profile, Mod Badges vanish, friend requests/messages/new friends don't have any notifications and twitch/twitter/youtube buttons are removed|
31+
| 29 | isRegistered | **number** | if an account is registered or not |
3132
| 30 | GlobalRank | **number** | The global rank of this player |
3233
| 31 | Friendstate | **number** | 0: None, 1: already is friend, 3: send request to target, but target haven't accept, 4: target send request, but haven't accept
33-
| 38 | Messages | **number** | How many new messages the user has (shown in-game as a notificaiton) |
34-
| 39 | FriendRequests | **number** | How many new friend requests the user has (shown in-game as a notificaiton) |
35-
| 40 | NewFriends | **number** | How many new Friends the user has (shown in-game as a notificaiton) |
34+
| 41 | hasBlocked | **Bool** | appears on userlist endpoint to show if the user is blocked |
35+
| 42 | levelScore Time | **String** | the time since you submitted a levelScore |
3636
| 43 | accSpider | **number** | The spider number of the player use |
3737
| 44 | twitter| **string** | The twitter of player |
3838
| 45 | twitch | **string** | The twitch of player |
@@ -41,6 +41,7 @@
4141
| 49 | Modlevel | **number** | 0: None, 1: Normal Mod(yellow), 2: Elder Mod(orange) |
4242
| 50 | CommentHistoryState | **number** | 0: All, 1: Only friends, 2: None |
4343

44+
4445
Example:
4546
```
4647
1:WOSHIZHAZHA120:2:10086790:13:0:17:0:10:0:11:3:3:0:46:0:4:0:8:0:18:0:19:0:50:0:20:WOSHIZHAZHA120:21:1:22:1:23:1:24:1:25:1:26:1:28:0:43:1:48:1:30:355655:16:1889402:31:0:44:WOSHIZHAZHA120:45:WOSHIZHAZHA120:49:0:29:1

0 commit comments

Comments
 (0)