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.
Links de Descarga
Ore provides, on each project page, a download button which will automatically choose the most recent release. If you wish to add additional download links, all links must point to files hosted on Ore. In addition to links to approved files, you may link to the download pages of unapproved Ore file submissions, but these links must not be recommended over any approved submission by any means. This includes both explicitly marking a link to an unapproved file as recommended, or implicitly by making such links as or more prominent than links to approved builds. Further, you must not attempt to circumvent any plugin warnings on Ore, including warnings that inform the user that a project has not yet been reviewed.
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.