Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/.vitepress/config/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,10 @@ function sidebarGeneral(): DefaultTheme.SidebarItem[] {
text: "Emulator Support",
link: "/general/emulator-support-and-issues",
},
{
text: "Hardcore Compliance Requirements",
link: "/general/hardcore-compliance-requirements",
},
{
text: "Standalone Support",
link: "/general/standalone-support",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,16 @@ Así que, si quieres disfrutar de RetroAchievements pero no quieres competir en
## No Permitido

1. [No utilices métodos que alteren el código del logro para desbloquearlos inmediatamente.](#no-permitido-1)
2. [No consigas logros en una manera en la que no fueron las intenciones del desarrollador del logro.](#no-permitido-2)
3. [No utilices archivos de guardado que no sean tuyos o fueron hechos para jugar con otras condiciones.](#no-permitido-3)
4. [De ninguna manera modifiques el(los) archivo(s) o memoria del juego.](#no-permitido-4)
5. [No utilices archivos de juego o programas conocidos como "trainers".](#no-permitido-5)
6. [No utilices TAS (tool-assisted speedrunning), bots, o escritura compleja para conseguir logros.](#no-permitido-6)
7. [No permitas que otra gente acceda a tu cuenta y consiga logros por ti.](#no-permitido-7)
8. [No seas abusivo/a con los desarrolladores.](#no-permitido-8)
9. [No crees o compartas métodos para hacer trampa.](#no-permitido-9)
10. [No utilices códigos dentro del juego al menos que sea permitido por el desarrollador.](#no-permitido-10)
2. [No utilices emuladores que no sean compatibles con Hardcore para desbloquear logros en modo Hardcore.](#no-permitido-2)
3. [No consigas logros en una manera en la que no fueron las intenciones del desarrollador del logro.](#no-permitido-3)
4. [No utilices archivos de guardado que no sean tuyos o fueron hechos para jugar con otras condiciones.](#no-permitido-4)
5. [De ninguna manera modifiques el(los) archivo(s) o memoria del juego.](#no-permitido-5)
6. [No utilices archivos de juego o programas conocidos como "trainers".](#no-permitido-6)
7. [No utilices TAS (tool-assisted speedrunning), bots, o escritura compleja para conseguir logros.](#no-permitido-7)
8. [No permitas que otra gente acceda a tu cuenta y consiga logros por ti.](#no-permitido-8)
9. [No seas abusivo/a con los desarrolladores.](#no-permitido-9)
10. [No crees o compartas métodos para hacer trampa.](#no-permitido-10)
11. [No utilices códigos dentro del juego al menos que sea permitido por el desarrollador.](#no-permitido-11)

### 1. No utilices métodos que alteren el código del logro para desbloquearlos inmediatamente. {#no-permitido-1}

Expand All @@ -71,7 +72,15 @@ En los casos en que el logro tuvo que haberse desbloqueado pero no paso o no se

**NOTA**: percatate de utilizar la ultima versión disponible para ese emulador.

### 2. No consigas logros en una manera en la que no fueron las intenciones del desarrollador del logro. {#no-permitido-2}
### 2. No utilices emuladores que no sean compatibles con Hardcore para desbloquear logros en modo Hardcore. {#no-permitido-2}

Solo los emuladores que cumplen con los [Requisitos de Cumplimiento Hardcore](/general/hardcore-compliance-requirements) están aprobados para obtener logros en modo Hardcore. Usar emuladores no compatibles, emuladores modificados o emuladores que no aplican correctamente las reglas de Hardcore resultará en que tu cuenta sea **[No Trackeada](#no-trackeadountracked)**.

**Ejemplos**:
- Usar versiones no oficiales o modificadas de emuladores que evitan las restricciones de Hardcore
- Usar emuladores que permiten save states, rebobinado o trucos en modo Hardcore

### 3. No consigas logros en una manera en la que no fueron las intenciones del desarrollador del logro. {#no-permitido-3}

Si descubres un atajo a un logro esto es un bug. Por favor reporta este bug creando un ticket de reporte.

Expand All @@ -83,7 +92,7 @@ Tambien mira la [regla permitida 2](#permitido-2).
- Te diste cuenta que si entras y sales entre dos cuartos desbloqueas logros intencionados para progresión del juego.
- Encontraste un método para conseguir logros de no recibir daño contra un jefe mientras conseguías daño en la pelea.

### 3. No utilices archivos de guardado que no sean tuyos o fueron hechos para jugar con otras condiciones. {#no-permitido-3}
### 4. No utilices archivos de guardado que no sean tuyos o fueron hechos para jugar con otras condiciones. {#no-permitido-4}

Incluso si tu archivo esta perdido/corrupto o necesitas un archivo de guardado de cierta parte en el juego por que se te paso algo.

Expand All @@ -93,14 +102,14 @@ Incluso si tu archivo esta perdido/corrupto o necesitas un archivo de guardado d
- Rogarle a un amigo que te mande su archivo de guardado por que se incendio tu casa y se perdieron todos tus archivos de la PC.
- Cargar un archivo de guardado que creaste en un emulador sin soporte para RA, a uno con soporte para RA.

### 4. De ninguna manera modifiques el(los) archivo(s) o memoria del juego. {#no-permitido-4}
### 5. De ninguna manera modifiques el(los) archivo(s) o memoria del juego. {#no-permitido-5}

**Ejemplos**:

- Abrir los archivos del juegos con un editor de texto/hex y cambiar los valores a tu gusto; editar propiedades para archivos del juego de "solo-lectura"; etc.
- Editar las estadísticas o desbloqueables del juego, y después guardar tu partida.

### 5. No utilices archivos de juego o programas conocidos como "trainers". {#no-permitido-5}
### 6. No utilices archivos de juego o programas conocidos como "trainers". {#no-permitido-6}

Programas que pueden potenciar tus poderes en juegos, desbloquear modo de desarrollador, aumentar la velocidad del juego, modificar el código del juego, etc.

Expand All @@ -111,7 +120,7 @@ Programas que pueden potenciar tus poderes en juegos, desbloquear modo de desarr
- Utilizar emuladores no-oficiales/antiguos-mods que actuan como trainers o herramientas de desarrollo/cheats.
- Game Genie / Action Replay y cualquier otra herramienta de cheats similar.

### 6. No utilices TAS (tool-assisted speedrunning), bots, o escritura compleja para conseguir logros. {#no-permitido-6}
### 7. No utilices TAS (tool-assisted speedrunning), bots, o escritura compleja para conseguir logros. {#no-permitido-7}

Estos ya es scripting avanzado que va mas alla de tareas simples (algunas veces incluso sincronizado con la velocidad de reloj del procesador) para permitir que secciones del juegos que sean jugadas de una manera compleja/única/o no-monotona/no-repetitiva y sin interacción humana alguna.

Expand All @@ -121,7 +130,7 @@ Estos ya es scripting avanzado que va mas alla de tareas simples (algunas veces
- Utilizar un script complejo con funciones avanzadas.
- Utilizar scripts complejos que te completan un juego por completo o porciones grandes del juego sin ninguna interacción humana pero que requieren algunas acciones especiales.

### 7. No permitas que otra gente acceda a tu cuenta y consiga logros por ti. {#no-permitido-7}
### 8. No permitas que otra gente acceda a tu cuenta y consiga logros por ti. {#no-permitido-8}

Incluyendo tu "hermano pequeño" o tu "primo". Tu tienes que conseguir logros por ti mismo. Permitir que otra gente consiga logros en tu cuenta no esta permitido en general y si alguien hace trampa o rompe las reglas en tu cuenta tu vas a ser el responsable por sus acciones.

Expand All @@ -131,13 +140,13 @@ Incluyendo tu "hermano pequeño" o tu "primo". Tu tienes que conseguir logros po
- Permitir que alguien inicie sección en tu cuenta para que pase alguna parte complicada de un juego por ti.
- Permitir que tu hermano pequeño trabaje en un logro de grindear por ti.

### 8. No seas abusivo/a con los desarrolladores. {#no-permitido-8}
### 9. No seas abusivo/a con los desarrolladores. {#no-permitido-9}

Por medio del foro, Mensajes Privados, Discord, email, etc. Tienes permitido quejarte, solicitar cambios, dejar comentarios/reseñas negativas y otras criticas de manera respetuosa, pero tu das un nombre muy mal en la comunidad de cazadores de logros cuando hostigas/atacas a desarrolladores debido a lo que hicieron con los logros de su juego.

**Ejemplos**: Mandar amenazas o insultos a desarrolladores porque agregaron logros a su juego que a ti no te gusta; utilizando una agresividad extrema/excesiva mientras exiges al desarrollador que remueva cambie los logros; etc.

### 9. No crees o compartas métodos para hacer trampa. {#no-permitido-9}
### 10. No crees o compartas métodos para hacer trampa. {#no-permitido-10}

**Ejemplos**:

Expand All @@ -147,7 +156,7 @@ Por medio del foro, Mensajes Privados, Discord, email, etc. Tienes permitido que
- Enseñarle a alguien como hacer trampa sin que se note.
- Crear un script complejo no-permitido y compartirlo inclusive si tu nunca lo utilizaste personalmente.

### 10. No utilices códigos dentro del juego al menos que sea permitido por el desarrollador. {#no-permitido-10}
### 11. No utilices códigos dentro del juego al menos que sea permitido por el desarrollador. {#no-permitido-11}

El otro lado de la moneda para [permitido 2](#permitido-2). Cheat codes y modos debug no están permitidos mientras el desarrollador a hecho una nota en la que dice donde y cuando es permitido. Incluso si los logros son conseguibles con cheat codes este usualmente es un comportamiento no permitido, considerando que utilizaste cheats de una manera intencional, deberías de reportarlo como un bug con el sistema de tickets.

Expand Down
2 changes: 1 addition & 1 deletion docs/general/emulator-support-and-issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: Comprehensive guide to hardcore compliance and compatibility for Re
# Emulator Support

::: info
This page focuses on hardcore-compliant emulators. For extensive notes on unsupported emulators and cores, check the [unsupported emulators page](/developer-docs/unsupported-emulators-and-cores).
This page focuses on hardcore-compliant emulators. For detailed compliance requirements, see the [Hardcore Compliance Requirements](/general/hardcore-compliance-requirements) page. For extensive notes on unsupported emulators and cores, check the [unsupported emulators page](/developer-docs/unsupported-emulators-and-cores).
:::

### 3DO Interactive Multiplayer
Expand Down
93 changes: 93 additions & 0 deletions docs/general/hardcore-compliance-requirements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
---
title: Hardcore Compliance Requirements
description: Comprehensive requirements for emulators to achieve hardcore compliance with RetroAchievements, including feature support, rules enforcement, and technical specifications.
---

# Hardcore Compliance Requirements

This page outlines the comprehensive requirements that emulators must meet to be considered hardcore-compliant with RetroAchievements. These requirements ensure fair play, proper functionality, and consistent experience across all platforms. Hardcore-compliant emulators are approved for the competitive hardcore-mode leaderboard. They are also listed on our [Downloads page](https://retroachievements.org/downloads), providing a steady and stable stream of free traffic.

## A. RetroAchievements Features

RetroAchievements features must work as intended:

- **Achievements**: Triggers must evaluate correctly. Measured and Trigger flags must work properly.
- **Rich Presence and Leaderboards**: Must function correctly.
- **Offline queueing**: Unlocks created while offline must be securely cached and sync to RetroAchievements when connectivity returns.
- **Save state hit storage**: Hit counts should be stored in save states. While not strictly required, this is highly recommended as it's important for debugging complex achievement logic and ensures proper functionality in softcore mode. Without this, players may experience issues and developers will have difficulty troubleshooting.
- **Toolkit support**: If you ship a Windows version of the emulator, please investigate adding [RAIntegration DLL](https://github.com/RetroAchievements/RAIntegration) support. This is not required, but if it isn't included, a subtle info blurb will be present on our Downloads page, and players will get a very loud warning when trying to open tickets.
- **Save file compatibility**: Save files (memory cards, SRAM, EEPROM, battery saves, etc.) should use standard formats compatible with other emulators of the same system. This is highly recommended as it benefits both users (who can switch emulators without losing progress) and developers (who can validate manual unlock requests by loading saves in emulators with RAIntegration support).

## B. Hardcore Rules Enforcement

The following rules must be enforced in Hardcore mode:

- **Cheats are disabled** in hardcore, including:
- Built-in cheat engines
- Mountable cheat devices (GameShark, Game Genie, etc.)
- External cheat files not used for minor QoL improvements (widescreen hacks, etc.)
- **Rewind is disabled** in hardcore.
- **Slowdown and frame advance are disabled** in hardcore.
- **Loading save states is ALWAYS blocked** in hardcore.
- **Rich Presence and Leaderboards cannot be disabled** in hardcore. Disabling leaderboard popups is okay to support for either mode.
- If the emulator supports a **"resume/quick resume" feature**, the resumed session must drop to Softcore.
- **Mode switching**: Switching from softcore to hardcore is not allowed mid-session. **This action must result in a full reset of the game.** Switching from hardcore to softcore is allowed mid-session.
- Users should be allowed to create save states while in hardcore for debugging purposes, but those states cannot be loadable when hardcore mode is enabled.
- Memory editors, debuggers, and/or scripting/TAS/recorded input playback are strictly prohibited.

## C. Identity and Integrity of the Client

The emulator must use its own unique, stable user agent with the following format:

```
EmulatorName/v1.0.0 (OSName 10.0) core_name/v0.5.0
```

Our user agent format has three segments:

- A. **Required.** The emulator name and version. Versions must be numeric and incrementing, with the exception of an optional "v" prefix.
- B. Optional. The operating system name and version.
- C. Optional. The core name and version.

These are examples of valid user agents:

```
RetroArch/1.20.0 (Android 13.0) genesis_plus_gx_libretro_android/v1.7.4_8ea39ee
PPSSPP/v1.19.3
PCSX/v2.5.103 (Microsoft Windows 10+)
RALibRetro/1.8.1 (WindowsNT 10.0) fbneo_libretro/v1.0.0.03__e90b821
```

## D. Defaults and UX

- When users log in to their RetroAchievements accounts, **enabling hardcore by default is recommended**, but not required. If softcore is the default, enabling hardcore must be one click/tap away and clearly indicated.
- **Hardcore state must be visibly indicated** in the UI during play. This is normally done when the player starts a game - they can see a brief informational message saying what mode they're in.

## E. Transparency and Legality

The following transparency and legal requirements must be met:

- **Monetization disclosure**: If there is any monetization/commercialization involved in the emulator, you must publish a features matrix (free vs paid) with exact limits (e.g., cloud-save quotas). Paid features must not undermine hardcore rules.
- **Licenses & notices**: Publish a page (or otherwise have accessible) a listing of every shipped FOSS core, its license, and any relevant upstream links.
- Non-commercial licenses may not be shipped if there is any commercialization without written permission from rightsholders.
- GPL/LGPL/MPL/etc. obligations must be satisfied for any distributed binaries.
- **Privacy policy**: Publish a privacy policy that is easy to find and includes:
- Data retention periods.
- Server locations/countries.
- How the emulator satisfies GDPR compliance if any retained telemetry is in place.

## F. Auto-fail Criteria

Any one of these will lead to an **automatic rejection** of the emulator for hardcore verification:

- Loading save states in hardcore mode.
- Allowing rewind/slo-mo/frame advance in hardcore mode.
- Allowing gameplay-altering cheats in hardcore mode.
- The Ability to switch between modes without a reset of the game.
- Identifying the emulator to the server with a non-unique user agent.
- Shipping non-commercial cores while any commercialization or in-app purchases exists without written permission from the necessary rightsholders.
- Privacy policy with placeholders/contradictions (e.g., missing data warehouse location, "no third parties" while using social logins/analytics).

::: warning Important
Meeting these requirements is essential for an emulator to be listed as hardcore-compliant on RetroAchievements. We reserve the right to periodically re-evaluate compliant emulators for continued compliance. Failure to maintain compliance may result in removal from the approved emulators list and our Downloads page.
:::
Loading