mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-11-12 23:19:08 -05:00
81ed1f0bc3
Wanted it to feel a bit more like a forum, fixed minor placement inconsistency.
70 lines
2.4 KiB
Markdown
70 lines
2.4 KiB
Markdown
NIP-76
|
|
======
|
|
|
|
Speedrunning Leaderboard Entry
|
|
------------------
|
|
|
|
`draft` `optional`
|
|
|
|
This NIP defines event kind `7602` as a submission to a game's speedrunning leaderboard, specified via a unique `d` tag, e.g. a game's Steam App ID.
|
|
Each game's leaderboard has optional Categories, Variations, Platform, Level, Region and Version tags to allow for the creation of alternate sub-leaderboards under one game.
|
|
|
|
```jsonc
|
|
{
|
|
"kind": 7602,
|
|
"tags": [
|
|
["d", "<Unique Identifier for the game>"], //E.g. Among Us' Steam App ID is 945360
|
|
["c", "<Category Identifier the submission is for>", <Long Name>], //E.g. A%G (Any% Glitchless), AlAc (All Achievements)
|
|
["v", "<Variation of the category the submission is for>", <Long Name>], //E.g. for Celeste AnyP (Any%), ARB (All Red berries), TE (True Ending) etc.
|
|
["plt", "<Platform Identifier>"], //E.g. N64, EMU
|
|
["reg", "<3 Letter ISO Country Code>"], //E.g. JPN, AUS
|
|
["lvl", "<Level>"], //E.g. FG, W1L1, F3OS
|
|
["ver", "<Version>"], //Version the submission is ran on e.g. 1.4.0.0
|
|
["rlt", "<Start Unix Time>", "<Stop Unix Time>"], //Real Life Time, subtract Start from Stop to get actual time
|
|
["igt", "<Start Unix Time>", "<Stop Unix Time>"], //In-Game Time
|
|
["proof": "<Link to proof>"] //e.g. Twitch Vod, replay file
|
|
],
|
|
"content": "<Description for run>", //User written comment about run if desired
|
|
"created_at": "<Unix Time>",
|
|
"pubkey": "<Public Key>",
|
|
"sig": "<signature>"
|
|
}
|
|
```
|
|
Tags can be entered multiple times if required, such as a game having multiple varieties under one category. E.g. Pizza Tower Full Game Any% has Playable Character and Glitches? varieties.
|
|
|
|
An example of a potential Super Mario 64 120 Star N64 run submission.
|
|
```jsonc
|
|
{
|
|
"kind": 7602,
|
|
"tags": [
|
|
["d", "SM64"],
|
|
["c", "120S", "120 Star"],
|
|
["plt", "N64"],
|
|
["reg", "JPN"],
|
|
["rlt", "1587370820", "1587376601"],
|
|
["proof": "https://www.twitch.tv/videos/2034126985"]
|
|
],
|
|
"content": "WR run",
|
|
"created_at": "1714228879",
|
|
"pubkey": "1a6ea253df444f434417bdcaf9d4aef75f00921965e1afd836da0ae9cd1a0e074cb3490bb4cc26ead75af",
|
|
"sig": "076b3405407f26b87ff9333fa336c1c6fbdfc27f2f"
|
|
}
|
|
```
|
|
|
|
## Reporting a submission
|
|
|
|
[NIP-56](56.md) reports should be used to report runs.
|
|
|
|
```jsonc
|
|
{
|
|
"kind": 1984,
|
|
"tags": [
|
|
["e", <eventId>, "doubt"],
|
|
["p", <pubkey>]
|
|
],
|
|
"content": "<Reason for report>",
|
|
...
|
|
}
|
|
```
|
|
Clients can decide whether or not to display a run based on the number of reports.
|