Pautas de Presentacion del Complemento Ore

Bienvenido a las pautas de presentación de Ore. Este documento contiene un resumen de nuestras expectativas tanto para el proyecto como para el archivo de las presentaciones.

Recuerda que estos son sólo directrices y el equipo de Ore, referido como el «personal» a través de estas directrices, puede optar por permitir o no permitir una acción que no aparezca explicitamente aquí a nuestra propia discreción.


Proyectos

Los proyectos presentados deben cumplir con las siguientes expectativas:

Nombre

Your project’s submitted name should not include a version, tagline, or other description. The name should be unique and original and must not have a name implying it is an official Sponge project.

Examples of names that are not acceptable:

  • SpongeWarp
  • SpongeHome
  • SpongeEssentials
  • SpongeCloud

Examples of names that are acceptable:

  • CoolWarps-Sponge
  • MoneyMiner-Sponge
  • Golfball-for-Sponge
  • Calendar-for-Sponge

Pagina de Documentación Principal (Inicio)

This is the first page that anyone will see when visiting your project. Information here should include a clear and concise description of your project’s features and goals. The following, if present in your plugin, should be documented on the main page if relevant:

Conexiones Externas

Si su proyecto utiliza una API web, teléfonos de hogar para recopilar datos o de lo contrario se conecta a un sistema externo al servidor en el que se está ejecutando, la presencia de esta función, así como la información sobre cómo activarlo o desactivarlo debe mostrarse en un lugar destacado en la página principal. Si el único propósito de su proyecto implica utilizar un sistema externo (como un complemento de Sponge que traduzca el chat entre idiomas), una opción de configuración para hacer conexiones a este servicio no es necesaria. Si tu complemento envía información (por ejemplo, complemento reproductor o lista de datos), la información recopilada debe estar listada en la Página principal.

Ejemplos de sistemas que requieren documentación:

  • Recopilación de información estadística o de uso (‘metricas’)
  • Geolocalización
  • Servicio de traducción
  • Servidor web que se ejecuta en el complemento, sirviendo información a los usuarios
  • Servidor que se ejecuta en el complemento, escuchando las peticiones de otros servidores
  • IRC/Discord/Telegram/WhatsApp bot o relé

Examples of systems that do not require documentation:

  • Local databases or database connections specified by the end-user

Categoria

La categoría que elijas debe ser precisa. Tu proyecto debe utilizar la categoría más exacta posible en lugar de cualquier categoría que aplique poco. Si ninguna categoría parece ser exacta, debe utilizarse la categoría Miscelánea.

Monetización / Publicidad

Las presentaciones no pueden ser vendidas, ni pueden tener opciones adicionales desbloqueables mediante pago. No se permiten anuncios y otros enlaces de generación de ingresos (por ejemplo adfly). La documentación puede contener un enlace a una página para donar al responsable del proyecto o a otros colaboradores como agradecimiento, pero esa página no puede ofrecer características adicionales u otros complementos/modificaciones para la venta.

“Cracked” / Offline-mode / online-mode=false Support

Los proyectos que de forma explícita declaran ser diseñados para esos usos no son permitidos. Algunos proyectos, tales como sistemas de autenticación, pueden tener una funcionalidad que puede ser útil para los servidores independientemente de la utilización del servidor de autenticación de Mojang, pero no pueden promover este uso adicional o ser diseñados específicamente para servidores evitando la autenticación de Mojang. proyectos diseñados para servidores proxy que requieren modo online = false son permitidos, siempre y cuando no estén escritos para facilitar la elusión de la propiedad de cuenta de Minecraft.

EULA

Nuestro objetivo es cumplir a totalidad con el Acuerdo de Licencia con el Usuario de Mojang. Cualquier extensión, servicio, publicación, y/o enlace que se sospeche que viole el acuerdo debe ser removido a discreción del Equipo de Sponge o a solicitud de Mojang AB.

Bifurcaciones

Las bifurcaciones son permitidas, siempre que cumplan con todos los elementos de la lista a continuacion. El personal tiene la ultima palabra en lo que constituye una bifurcación aceptada. Sigue adecuadamente la licencia del proyecto padre.

Either:

  • Contiene cambios significativos que justifiquen la creación de un nuevo proyecto. Esto es para evitar «Yo he cambiado los colores de mensaje en la extensión X ¡y ahora reclamar crédito!», o
  • Continuar una extensión que ha sido abandonada, con la prueba de que el autor no ha estado respondiendo mensajes o ha declarado que el proyecto ya no se actualizará.

Reconocer o dar crédito a la extensión anterior y los desarrolladores. Esencialmente, no afirmar que es una nueva extensión y exclusivamente su creación.


Archivos

Los archivos presentados deben seguir las siguientes expectativas:

Ofuscación

Un archivo que utiliza ofuscación será rechazado a menos que recurra bajo la siguiente excepción:

Ofuscacion NMS

Esto sólo se aplica para las extensiones que referencian a Minecraft o una modificación de Forge. Algunos ejemplos serían una extensión que use Mixins o una extensión que funcione como una modificación de Forge (extensión híbrida). Siempre que las únicas referencias ofuscadas sean para ofuscar fuentes generadas mediante ForgeGradle o VanillaGradle, la extensión puede proceder al proceso de revisión.

Las Modificaciones de Núcleo y Mixins: Modificaciones del Código Base de Minecraft

Plugins and mods that use a system that modifies the Minecraft base code at runtime, (such as core mods and mixins) must disclose the edits that they make to the Minecraft code, and their reasoning for them. Sponge plugins should use SpongeAPI where possible. Sponge implementations may implement technical restrictions to prevent such modifications from being applied by default. Files are not permitted to attempt to work around these restrictions, but can notify the user that enhanced functionality can be enabled via the Sponge provided configuration options.

Conexiones Externas (API Web, Llamar a Casa, etc.)

Muchas características geniales pueden ser escritas haciendo llamadas a sistemas externos. Además de ser claramente documentadas en las descripciones del proyecto, dicha funcionalidad debe ser configurable y estar deshabilitada de forma predeterminada. Si la unica finalidad de tu proyecto consiste en utilizar un sistema externo (como una extension de Sponge que traduce el chat entre idiomas), la conexión a este sistema no necesita ser desactivable. Si tu extensión envía información (por ejemplo una lista de extensiones, datos del jugador o datos del mapa) a sistemas externos, la información recopilada debe estar listada en la página principal (véase arriba).

Metrics (Data Collection)

Whenever data collected about the server (often referred to as «stats» or «metrics» data, such as server or plugin versions, as well as usage information) is to be sent to an external service, the plugin must first query the Sponge API MetricsConfigManager. Documentation on doing so can be found Here. This API must be checked each time data is sent, not only once. Plugins may not modify the values the API returns, but may encourage users to make the decision to enable the collection and sending of this data for their plugin.

Nota

This API was added in API 7.1.0. Plugins built against older API versions must instead check against a variable in a configuration file unique to that plugin for the enabled/disabled status, which must also default to disabled.

Ejecución de Código Descargado

We cannot ensure that content that is downloaded and executed at runtime is safe and complies with our guidelines. Any project that performs downloads and execution of code will have warnings on the project page and a warning prior to download to ensure users know the risk.

The following conditions must be also be met by the project:

  • Downloaded content must have hard-coded SHA256 (or better) based hash checking
  • Downloaded content must be explained in the main project page as to what is downloaded and what purpose it serves
  • Downloaded content must be performed over HTTPS connections
  • Downloaded content must not be hosted in a location that will limit downloads (e.g. DropBox, Google Drive)
  • Downloading another plugin must go through Ore’s API in the same fashion as Update Checking

Monetización / Publicidad

All functionality present in your plugin should be usable without restriction, and cannot require a license key to operate. External APIs, such as translation or geolocation services, that require payment for functionality can be allowed but must be discussed among staff prior to approval. Plugins may not be used to display advertisements.

Actualización de Revisión

La comprobación de actualizaciones se debe realizar mediante la API proporcionada por Ore. La extensión no puede enlazar a otro lugar que no sea Ore al dirigir a los usuarios de tu extensión para descargar nuevas versiones. Ten en cuenta que esta comprobación de actualizaciones cuenta como una conexión externa, que debe estar documentada y para la que debe existir una configuración para ser deshabilitada.

Concesión de Privilegios

Las extensiones no deben conceder o denegar el acceso a características a ningún usuario o grupo de usuarios en particular determinados por el desarrollador de la extensión. Esto incluye al autor concediéndose a si mismo un nombre especial o permitiéndose usar un comando especial. Las características, cuando sea aplicable, deberían bloquearse a través nodos de permiso, en lugar de que el acceso sea predeterminado por el autor. Comandos para otorgar poderes o permisos pre-programados a ciertos usuarios no son aceptables.