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
Copy file name to clipboardExpand all lines: mod-guidelines.md
+41-13Lines changed: 41 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -7,49 +7,77 @@ These guidelines explain what is expected when submitting a new mod version to t
7
7
8
8
## Submissions
9
9
10
-
New submissions **must** be submitted as a [new pull request] to the [manifest] in this repository. Be sure to follow the [schema], and to include a correct SHA256 hash of your artifacts. If you need help with your submission, read the [submission tutorial].
10
+
New submissions **must** be submitted as a pull request to the [manifestrepository]. Important points:
11
11
12
-
## Obfuscation
12
+
If you need help with your submission, read the [submission tutorial].
13
+
14
+
## General Manifest Requirements
15
+
16
+
### Schema Correctness
17
+
18
+
Submissions **must** follow the [schema]. Match your indentation to the existing json (indent using 4 spaces).
19
+
20
+
You **must** include a correct SHA256 hash of your artifacts.
21
+
22
+
### Do Not Remove Versions
23
+
24
+
You **must** not remove old versions of your mod from the manifest. Instead, use the `deprecated`[flag], which will hide it from the mod list and autoupaters. The manifest is designed to store a history of mods: not just current versions. This allows us to flag deprecated mods with additional metadata, for example marking them as having security vulnerabilities.
25
+
26
+
### Indicate Platform Incompatibilities
27
+
28
+
If your mod is incompatible with a platform, you **must** indicate that using the appropriate [flag] (for example `broken:linux-native`).
29
+
30
+
### Version Numbers
31
+
32
+
Your manifest submission **should** have version numbers that match the NeosMod version. The `AssemblyVersion` and `AssemblyFileVersion` assembly attributes **should** match your mod version.
33
+
34
+
If you think having to change the version number in three places is a pain, you're right. Luckily, there's a way you can get away with having it in one place, which I've demonstrated in [this mod](https://github.com/zkxs/NeosDesktopToolShortcutRemapper).
35
+
36
+
### Libraries
37
+
38
+
Mods **should** avoid repackaging third party libraries into their DLL. Consider adding third-party libraries as an external dependency in the manifest. This allows auditors to review your mod and libraries separately and makes the auditing process much faster.
39
+
40
+
## Privacy and Security
41
+
42
+
### Obfuscation
13
43
14
44
Mods **must not** be obfuscated. We audit mods by inspecting their binaries, which is not feasible for obfuscated mods.
15
45
16
-
## Transparency
46
+
###Transparency
17
47
18
48
Mods **should** be up-front about what they do. Accurate descriptions, screenshots, etc, are all good to have.
19
49
20
50
Mods **should** be open-source. While this is not a hard requirement, having up-to-date source code available is helpful for the auditing process.
21
51
22
-
## Remote Code
52
+
###Remote Code
23
53
24
54
Mods **must not** download or execute remote code. This means the following are forbidden:
25
55
26
56
- auto updaters
27
57
- fetching Neos json/7zbson/etc from a non-neos server (neosdb urls are okay)
28
58
29
-
## Not Malicious
59
+
###Not Malicious
30
60
31
61
Mods **must not** violate the [Neos guidelines] or the [mod and plugin policy].
32
62
33
63
- Do not bypass protections and controls within Neos, for example SimpleAvatarProtection, permissions, and bans.
34
64
- Do not enable asset theft
35
65
- Do not enable harassment
36
66
37
-
## Telemetry
67
+
###Telemetry
38
68
39
69
Mods **must not** track users, as defined in the *User Data Tracking* section of the [Neos guidelines].
40
70
41
-
## Performance
42
-
43
-
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.
71
+
## Optional Stuff
44
72
45
-
##Libraries
73
+
### Performance
46
74
47
-
Mods **should** avoid repackaging third party libraries into their DLL. Consider adding third-party libraries as an external dependency in the manifest. This allows auditors to review your mod and libraries separately and makes the auditing process much faster.
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.
0 commit comments