Mod & Plugin Policy

From Neos Wiki
Jump to navigation Jump to search

Last Updated: 27th March 2022

Other languages:
English • ‎日本語

This document serves to provide an official, standardized and agreed upon policy for modding Neos and Neos Plugins.

It is designed to supersede and invalidate all prior notifications and information the community may have received from team members or other sources of information. It may be updated in the future and future updates will be announced.

What are Plugins and Mods?

Plugins

For those looking to squeeze extra functionality out of Neos we have Plugins. Plugins allow you to write arbitrary C# extensions to Neos’ functionality allowing for practically unlimited freedom. You can add new LogiX nodes, new components whatever you want really.

The only downside is that when you add a plugin to your Neos build you usually cannot join users who do not have this plugin. For now it also makes your Neos “Incompatible” with other users.

In the future of plugins we plan to expand this system to allow you to choose/control which plugins you load for certain sessions etc which will make joining other sessions with/without plugins much easier.

Plugins are supported by Neos, you may talk about them in our discord under the #plugin-development channel.

Mods

For mods a small plugin called a mod-loader is used which bypasses the usual compatibility check which Neos performs to disallow you from joining users who do not have the same plugins as you. Once this is done the mod-loader lets you add modifications to Neos’ standard behavior while also being able to be connected to other users who do not have these modifications.

Mods usually need to be fairly simple as inconsistencies and changes that affect Neos may cause errors, exceptions and crashes regardless of what is reported with Neos’ compatibility checks when connecting to sessions hosted by users who do not have these mods.

Mods are not supported by Neos.

Policies

You may use Mods and Plugins but when doing so please follow the following policies and guidelines.

For both Users and Developers of Mods and Plugins

  • You must agree and adhere to the Neos Guidelines.
  • This includes all clauses in our guidelines, particularly ones regarding asset theft, harassment,and malicious activity.
  • This includes bypassing existing protection systems and controls in place within Neos such as the Simple Avatar Protection component, and permissions system.
  • Failure to comply can result in account restrictions from the Moderation team.
  • Keep in mind our security policy.
  • Using mods and plugins may allow you to research Neos and investigate issues, but when doing this follow the security policy.
  • Breaching this may also lead to moderation action.
  • In general, please operate with the principle of “Do no harm”.

Users of Mods and Plugins

As a user of Mods & Plugins:

  • Do not install or use plugins or mods from users you do not know or do not trust.
  • Plugins and mods have a higher level of access to you, Neos and your Neos account.
  • We are not responsible for any data loss or theft that occurs as a result of you using mods and plugins.
  • We generally recommend using 2FA but this is especially important when using Mods & Plugins so make sure you have this setup and working.
  • Remember that the session host is in control of what goes on in their session.
  • If they request that you do not use mods, ask you to leave or ban you from their session because of your use of mods, that is their right.
  • This includes events, large worlds and even official worlds and sessions run by Neos.
  • If you are trying to reproduce/report bugs within Neos please reproduce or report the issue with logs and information obtained from a build that is not running any mods or plugins.
  • Plugins and mods may interfere with standard functionality leading to unclear log files or bugs that do not occur on the main build.
  • We’ll likely reject any bug reports that involve clients with mods installed.

Developers of Mods and Plugins

  • If you’d like Neos to add a feature/fix a bug that your mod/plugin resolves then open a GitHub issue for it.
  • If we do not know you would like a feature or do not know that a bug exists we cannot fix it.
  • Please make issues for everything you think other users would like to see.
  • If you’re unsure, make an issue. We’d rather know about something you’d like than not.
  • Due to the nature of both plugins and mods we’re unable to maintain backwards compatibility with prior versions of Neos.
  • This is especially true for mods.
  • When possible we will communicate with our community regarding changes.
  • As mods often touch internals of Neos this is unlikely to be possible in the majority of cases.
  • In the future we’d like to preserve/make compatibility better but this is not possible at this time.

GitHub

  • If a Neos issue exists for the problem that your mod solves, please link to the mod on that issue.
  • If a Neos issue does not exist for the problem that your mod solves, please create an issue for the problem and link to your mod.
  • This cross-pollination can provide workarounds and ease of tracking for issues.
  • If we don't know about a problem we cannot fix it.