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

feat: Adjust JSON structure to allow for other mod sources (but better) #39

Merged
merged 7 commits into from
Jul 9, 2024
17 changes: 10 additions & 7 deletions .github/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@
"^[A-Za-z._0-9]+": {
"type": "object",
"properties": {
"DependencyPrefix": {
"type": "string",
"pattern": "^([A-Za-z._0-9]+)-([A-Za-z._0-9]+)$"
},
"Repository": {
"type": "string",
"pattern": "^https://"
Expand All @@ -35,13 +31,20 @@
"pattern": "^([0-9a-f]+)$",
"minLength": 40,
"maxLength": 40
}
},
"DownloadLink": {
"type": "string",
"pattern": "^https://"
},
"Platform": {
"enum": [ "thunderstore" ]
}
},
"required": [ "Version", "Checksum", "CommitHash" ]
"required": [ "Version", "Checksum", "CommitHash", "DownloadLink" ]
}
}
},
"required": [ "DependencyPrefix", "Repository", "Versions" ]
"required": [ "Repository", "Versions" ]
}
}
}
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,17 @@ This verified mods enables players to join servers that require custom content s

Verified mods are listed in the present `verified-mods.json` file, using following format:
* Key is mod's name (contained in its `mod.json` manifest's "Name" key);
* Body holds three fields:
* "DependencyPrefix" contains the string that allows Northstar to retrieve mods on Thunderstore;
* Body holds two fields:
* "Repository" contains the link of the repository hosting the source code of the mod;
* "Versions" contains a list of version (for the current mod) that have been verified.

Each version contains the following attributes:
* "Version" is the current version identifier (using the `x.y.z` format);
* "CommitHash" is the Git commit associated to the current version;
* "DownloadLink" is the direct download link of the version archive;
* "Checksum" is the SHA256 hash of the version archive;
* "Platform" is the origin of the version ("thunderstore" is currently the only supported option).

## How to submit a mod for verification

Before starting to submit your mod for verification, please ensure that it is a valid candidate to mod verification! Only mods required by a server to be client-side can be verified.
Expand Down
29 changes: 18 additions & 11 deletions verified-mods.json
Original file line number Diff line number Diff line change
@@ -1,61 +1,68 @@
{
"Odd.s2space": {
"DependencyPrefix": "odds-s2space",
"Repository": "https://github.com/uniboi/s2space",
"Versions": [
{
"Version": "0.0.5",
"CommitHash": "f27b8f1f05d5278aa8f47ead2d9e70f39f274173",
"Checksum": "670987e07806e8dffcb591bad8724f29abc18d9baa304d9ab4fae7804bd86bc2"
"DownloadLink": "https://gcdn.thunderstore.io/live/repository/packages/odds-s2space-0.0.5.zip",
"Checksum": "670987e07806e8dffcb591bad8724f29abc18d9baa304d9ab4fae7804bd86bc2",
"Platform": "thunderstore"
}
]
},
"Parkour": {
"DependencyPrefix": "Alystrasz-Parkour",
"Repository": "https://github.com/Alystrasz/Alystrasz.Parkour",
"Versions": [
{
"Version": "0.2.1",
"CommitHash": "0eca593ac1666aeeaa061a5c545d917d47d6d113",
"Checksum": "eef8ae5a88df68b249529f31713d0219b18391202dfeedc2d109936c729c571c"
"DownloadLink": "https://gcdn.thunderstore.io/live/repository/packages/Alystrasz-Parkour-0.2.1.zip",
"Checksum": "eef8ae5a88df68b249529f31713d0219b18391202dfeedc2d109936c729c571c",
"Platform": "thunderstore"
}
]
},
"Dinorush's LTS Rebalance": {
"DependencyPrefix": "Dinorush-LTS_Rebalance",
"Repository": "https://github.com/Dinorush/LTSRebalance",
"Versions": [
{
"Version": "1.0.9",
"CommitHash": "f8353281b8daf6a94cfb4bc04c9ced0635e58c37",
"Checksum": "ec19938e44872c02c618190880a60fddbf2ea04ef8c09b0fd1bb246e5607880f"
"DownloadLink": "https://gcdn.thunderstore.io/live/repository/packages/Dinorush-LTS_Rebalance-1.0.9.zip",
"Checksum": "ec19938e44872c02c618190880a60fddbf2ea04ef8c09b0fd1bb246e5607880f",
"Platform": "thunderstore"
}
]
},
"HotPotato": {
"DependencyPrefix": "x3Karma-HotPotato",
"Repository": "https://github.com/x3Karma/HotPotato",
"Versions": [
{
"Version": "1.0.0",
"CommitHash": "01fb15e22f62855cdcc2d87e3b52fa71d3401446",
"Checksum": "d83f39a63c0ab7d886d23605a7b3310d0cd4260c77159eb71c8cbccce963cec2"
"DownloadLink": "https://gcdn.thunderstore.io/live/repository/packages/x3Karma-HotPotato-1.0.0.zip",
"Checksum": "d83f39a63c0ab7d886d23605a7b3310d0cd4260c77159eb71c8cbccce963cec2",
"Platform": "thunderstore"
},
{
"Version": "1.1.0",
"CommitHash": "72a1f00602e0643877688f065d0124e1f2397c5e",
"Checksum": "e2fa138cc22b7a576b2a5f0dbe7a489448edce331b06d9c5430abbc36ad41078"
"DownloadLink": "https://gcdn.thunderstore.io/live/repository/packages/x3Karma-HotPotato-1.1.0.zip",
"Checksum": "e2fa138cc22b7a576b2a5f0dbe7a489448edce331b06d9c5430abbc36ad41078",
"Platform": "thunderstore"
}
]
},
"nyami.mp_brick": {
"DependencyPrefix": "Nyami11-mp_brick",
"Repository": "https://github.com/Nyami11/mp_brick",
"Versions": [
{
"Version": "1.0.2",
"CommitHash": "38ff920639dc6556a039808770b5470122494a47",
"Checksum": "6eeae287c4cdd7b79e07366828940282952b82738a6dd97c3cf3ad35e0858d9f"
"DownloadLink": "https://gcdn.thunderstore.io/live/repository/packages/Nyami11-mp_brick-1.0.2.zip",
"Checksum": "6eeae287c4cdd7b79e07366828940282952b82738a6dd97c3cf3ad35e0858d9f",
"Platform": "thunderstore"
}
]
}
Expand Down