You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[NeosModLoader] is a mod loading [plugin] for [NeosVR].
7
-
It also contains some extra magic to still let you hang out with other people that might not have the plugin, as usually having different plugins means you can't connect to the same sessions.
8
-
9
-
You can find the source code and release builds of it [from Github][NeosModLoader].
10
-
11
-
## Finding mods
12
-
13
-
The [mods list][mods] is a community-managed listing of mods that are vetted to not be malicious.
14
-
15
-
The purpose of the list is to make it easier & safer for people to run mods.
16
-
Since mods are another form of executables, and it's generally not recommended to not run random executables from the internet.
17
-
18
-
NeosModLoader of course allows you to run any mods, but be extra cautious about making sure that they're safe if you go looking for ones not on the list.
19
-
20
-
## For developers
21
-
22
-
If you have more items for the list, please [open a PR][submission tutorial]. If you want to get update notifications join [our Discord][discord].
23
-
24
-
The [list][mods] is automatically generated from a machine-readable [manifest] with github actions. The [schema documentation][schema] explains what the fields in the manifest mean. Having a machine-readable manifest is an important step towards our planned mod manager and auto-updater software.
25
-
26
-
The source is hosted at [this GitHub repository][github repository].
[NeosModLoader] is a mod loading [plugin] for [NeosVR].
7
+
It also contains some extra magic to still let you hang out with other people that might not have the plugin, as usually having different plugins means you can't connect to the same sessions.
8
+
9
+
You can find the source code and release builds of it [from Github][NeosModLoader].
10
+
11
+
## Finding mods
12
+
13
+
The [mod list] is a community-managed listing of mods that are vetted to not be malicious.
14
+
15
+
The purpose of the list is to make it easier & safer for people to run mods.
16
+
Since mods are another form of executables, and it's generally not recommended to not run random executables from the internet.
17
+
18
+
NeosModLoader of course allows you to run any mods, but be extra cautious about making sure that they're safe if you go looking for ones not on the list.
19
+
20
+
## For developers
21
+
22
+
If you have more items for the list, please [make a submission][submission tutorial]. If you want to get update notifications join [our Discord][discord].
23
+
24
+
The [mod list] is automatically generated from a machine-readable [mod manifest] with github actions.
Copy file name to clipboardExpand all lines: mod-guidelines.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -75,9 +75,9 @@ Mods **must not** track users, as defined in the *User Data Tracking* section of
75
75
Mods **should** avoid performance hits to Neos where possible. While performance is not the primary goal of the audit, if we notice code that is extremely inefficient we may ask you to improve it.
Copy file name to clipboardExpand all lines: schema.md
+40-32Lines changed: 40 additions & 32 deletions
Original file line number
Diff line number
Diff line change
@@ -3,44 +3,52 @@ layout: page
3
3
title: Manifest Schema
4
4
---
5
5
6
+
An actual json schema is provided [here](https://github.com/neos-modding-group/neos-mod-manifest/blob/master/schema.json). This can be used in all manner of [schema viewers](https://json-schema.app/view/%23?url=https%3A%2F%2Fraw.githubusercontent.com%2Fneos-modding-group%2Fneos-mod-manifest%2Fmaster%2Fschema.json), if you prefer a more interactive view of the schema.
7
+
8
+
If you're having trouble visualizing, take a look at the actual [manifest json](https://github.com/neos-modding-group/neos-mod-manifest/blob/master/manifest.json).
9
+
6
10
In the schema, the type of `map` differs from `object` in that the names of the keys aren't always the same.
7
11
12
+
Anything not explicitly marked as **optional** is mandatory.
13
+
8
14
Top-level: `object`
9
15
10
-
-Schema version: `string`(semver version)
16
+
-`schemaVersion`: `string`[semver] of schema
11
17
- Mods: `map`
12
-
- Key: `string`(mod GUID)
13
-
- Value: `object`
14
-
-Name: `string`
15
-
-Description: `string`
16
-
-Authors: `map`
17
-
- Key: `string`(author name)
18
+
- Key: `string` mod GUID, any unique string but typically something like "io.github.myuser.mymod"
19
+
- Value: `object` the mod definition
20
+
-`name`: `string` the mod's name
21
+
-`description`: `string` short description of the mod's functionality
22
+
-`authors`: `map`
23
+
- Key: `string` author name
18
24
- Value: `object`
19
25
- Url: `string`
20
-
-Source Location: `string`
21
-
-Website: `string`
22
-
-Tag list: `string[]`(useful for search)
23
-
-Category: `string`
24
-
- Flag list: `string[]`(see mod flags below)
26
+
-`sourceLocation`: `string`**optional** A link to the mod's source code.
27
+
-`website`: `string`**optional** A link to the mod's website. May be the same as `sourceLocation`.
28
+
-`tags`: `string[]`**optional** A list of tags that may be used for search in the future.
29
+
-`category`: `string` A [category](categories) that your mod fits into
30
+
- Flag list: `string[]`**optional** A list of [flags](manifest-flags) that apply to your mod
25
31
- Versions: `map`
26
-
- Key: `string` (semver version)
27
-
- Value: `object`
28
-
- Changelog: `string`
29
-
- Release URL: `string`
30
-
- Neos version compatibility: `string` (NOT semver "2022.1.28.1310" but "<" and ">" rules will work fine)
31
-
- Modloader version compatibility: `string` (semver version specifier)
32
-
- Flag list: `string[]` (see version flags below)
33
-
- Conflicts: `map`
34
-
- Key: `string` (mod GUID)
35
-
- Value: `string` (semver version specifier, "*" is all versions)
36
-
- Dependencies: `map`
37
-
- Key: `string` (dependency mod GUID)
32
+
- Key: `string`[semver], should match NeosMod.Version
33
+
- Value: `object` the mod version definition
34
+
-`changelog`: `string`**optional** A short description of what changed in your mod. This is markdown formatted text, so you can do things like bulleted lists.
35
+
-`releaseURL`: **optional**`string` A link to this mod version's release notes.
36
+
-`neosVersionCompatibility `: `string`**optional** Neos does not follow [semver] "2022.1.28.1310" but "<" and ">" rules will work fine. An example rule might be ">2021.4.2.690,<=2022.1.28.1310"
37
+
-`modloaderVersionCompatibility `: `string`**optional**[semver] version specifier, such as "~1.12.0" or ">=1.8.0"
38
+
-`flags`: `string[]`**optional** A list of [flags](manifest-flags) that apply to this specific mod version
39
+
-`conflicts`: `map`**optional**
40
+
- Key: `string` conflicting mod GUID
41
+
- Value: `object`
42
+
-`version`: `string`[semver] version specifier, "*" is all versions
43
+
-`dependencies`: `map`**optional**
44
+
- Key: `string` dependency mod GUID
38
45
- Value: `object`
39
-
- Key: `string` (mod GUID)
40
-
- Value: `object`
41
-
- Version: `string` (semver version specifier)
42
-
- Artifacts: `object[]`
43
-
- URL: `string` (download url of the .dll file)
44
-
- Filename: `string` (filename to use for the file, if missing extract from the last part of the URL)
45
-
- Sha256: `string`
46
-
- Install location: `string` (defaults to "/nml_mods")
46
+
-`version`: `string`[semver] version specifier
47
+
-`artifacts`: `object[]` A list of files to install as part of this mod version.
48
+
-`url`: `string` download url of the artifact
49
+
-`filename`: `string`**optional** filename to use for the file. If absent, filename will be extracted from the last part of the URL
50
+
-`Sha256`: `string` SHA-256 hash of this artifact
51
+
-`blake3`: `string`**optional** Blake3 hash of this artifact
52
+
-`installLocation`: `string`**optional** Where this artifact should be installed. defaults to "/nml_mods"
0 commit comments