Skip to content

Commit 7f0ca95

Browse files
authored
docs: add Hardcore Compliance Requirements page (#268)
* docs: add Hardcore Compliance Requirements page * docs: save file compatibility * docs: work in more feedback * fix: swap toolkit support and save file compat ordering * fix: update mode switching copy * docs: update leaderboard popup blurb * docs: fix up other languages * docs: fix typo
1 parent 2c4c4ba commit 7f0ca95

File tree

6 files changed

+184
-60
lines changed

6 files changed

+184
-60
lines changed

docs/.vitepress/config/en.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ function sidebarGeneral(): DefaultTheme.SidebarItem[] {
6767
text: "Emulator Support",
6868
link: "/general/emulator-support-and-issues",
6969
},
70+
{
71+
text: "Hardcore Compliance Requirements",
72+
link: "/general/hardcore-compliance-requirements",
73+
},
7074
{
7175
text: "Standalone Support",
7276
link: "/general/standalone-support",

docs/es/guidelines/users/global-leaderboard-and-achievement-hunting-rules.md

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,16 @@ Así que, si quieres disfrutar de RetroAchievements pero no quieres competir en
5353
## No Permitido
5454

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

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

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

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

74-
### 2. No consigas logros en una manera en la que no fueron las intenciones del desarrollador del logro. {#no-permitido-2}
75+
### 2. No utilices emuladores que no sean compatibles con Hardcore para desbloquear logros en modo Hardcore. {#no-permitido-2}
76+
77+
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)**.
78+
79+
**Ejemplos**:
80+
- Usar versiones no oficiales o modificadas de emuladores que evitan las restricciones de Hardcore
81+
- Usar emuladores que permiten save states, rebobinado o trucos en modo Hardcore
82+
83+
### 3. No consigas logros en una manera en la que no fueron las intenciones del desarrollador del logro. {#no-permitido-3}
7584

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

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

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

8897
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.
8998

@@ -93,14 +102,14 @@ Incluso si tu archivo esta perdido/corrupto o necesitas un archivo de guardado d
93102
- 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.
94103
- Cargar un archivo de guardado que creaste en un emulador sin soporte para RA, a uno con soporte para RA.
95104

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

98107
**Ejemplos**:
99108

100109
- 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.
101110
- Editar las estadísticas o desbloqueables del juego, y después guardar tu partida.
102111

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

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

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

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

116125
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.
117126

@@ -121,7 +130,7 @@ Estos ya es scripting avanzado que va mas alla de tareas simples (algunas veces
121130
- Utilizar un script complejo con funciones avanzadas.
122131
- 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.
123132

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

126135
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.
127136

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

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

136145
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.
137146

138147
**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.
139148

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

142151
**Ejemplos**:
143152

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

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

152161
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.
153162

docs/general/emulator-support-and-issues.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: Comprehensive guide to hardcore compliance and compatibility for Re
66
# Emulator Support
77

88
::: info
9-
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).
9+
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).
1010
:::
1111

1212
### 3DO Interactive Multiplayer
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
title: Hardcore Compliance Requirements
3+
description: Comprehensive requirements for emulators to achieve hardcore compliance with RetroAchievements, including feature support, rules enforcement, and technical specifications.
4+
---
5+
6+
# Hardcore Compliance Requirements
7+
8+
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.
9+
10+
## A. RetroAchievements Features
11+
12+
RetroAchievements features must work as intended:
13+
14+
- **Achievements**: Triggers must evaluate correctly. Measured and Trigger flags must work properly.
15+
- **Rich Presence and Leaderboards**: Must function correctly.
16+
- **Offline queueing**: Unlocks created while offline must be securely cached and sync to RetroAchievements when connectivity returns.
17+
- **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.
18+
- **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.
19+
- **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).
20+
21+
## B. Hardcore Rules Enforcement
22+
23+
The following rules must be enforced in Hardcore mode:
24+
25+
- **Cheats are disabled** in hardcore, including:
26+
- Built-in cheat engines
27+
- Mountable cheat devices (GameShark, Game Genie, etc.)
28+
- External cheat files not used for minor QoL improvements (widescreen hacks, etc.)
29+
- **Rewind is disabled** in hardcore.
30+
- **Slowdown and frame advance are disabled** in hardcore.
31+
- **Loading save states is ALWAYS blocked** in hardcore.
32+
- **Rich Presence and Leaderboards cannot be disabled** in hardcore. Disabling leaderboard popups is okay to support for either mode.
33+
- If the emulator supports a **"resume/quick resume" feature**, the resumed session must drop to Softcore.
34+
- **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.
35+
- 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.
36+
- Memory editors, debuggers, and/or scripting/TAS/recorded input playback are strictly prohibited.
37+
38+
## C. Identity and Integrity of the Client
39+
40+
The emulator must use its own unique, stable user agent with the following format:
41+
42+
```
43+
EmulatorName/v1.0.0 (OSName 10.0) core_name/v0.5.0
44+
```
45+
46+
Our user agent format has three segments:
47+
48+
- A. **Required.** The emulator name and version. Versions must be numeric and incrementing, with the exception of an optional "v" prefix.
49+
- B. Optional. The operating system name and version.
50+
- C. Optional. The core name and version.
51+
52+
These are examples of valid user agents:
53+
54+
```
55+
RetroArch/1.20.0 (Android 13.0) genesis_plus_gx_libretro_android/v1.7.4_8ea39ee
56+
PPSSPP/v1.19.3
57+
PCSX/v2.5.103 (Microsoft Windows 10+)
58+
RALibRetro/1.8.1 (WindowsNT 10.0) fbneo_libretro/v1.0.0.03__e90b821
59+
```
60+
61+
## D. Defaults and UX
62+
63+
- 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.
64+
- **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.
65+
66+
## E. Transparency and Legality
67+
68+
The following transparency and legal requirements must be met:
69+
70+
- **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.
71+
- **Licenses & notices**: Publish a page (or otherwise have accessible) a listing of every shipped FOSS core, its license, and any relevant upstream links.
72+
- Non-commercial licenses may not be shipped if there is any commercialization without written permission from rightsholders.
73+
- GPL/LGPL/MPL/etc. obligations must be satisfied for any distributed binaries.
74+
- **Privacy policy**: Publish a privacy policy that is easy to find and includes:
75+
- Data retention periods.
76+
- Server locations/countries.
77+
- How the emulator satisfies GDPR compliance if any retained telemetry is in place.
78+
79+
## F. Auto-fail Criteria
80+
81+
Any one of these will lead to an **automatic rejection** of the emulator for hardcore verification:
82+
83+
- Loading save states in hardcore mode.
84+
- Allowing rewind/slo-mo/frame advance in hardcore mode.
85+
- Allowing gameplay-altering cheats in hardcore mode.
86+
- The Ability to switch between modes without a reset of the game.
87+
- Identifying the emulator to the server with a non-unique user agent.
88+
- Shipping non-commercial cores while any commercialization or in-app purchases exists without written permission from the necessary rightsholders.
89+
- Privacy policy with placeholders/contradictions (e.g., missing data warehouse location, "no third parties" while using social logins/analytics).
90+
91+
::: warning Important
92+
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.
93+
:::

0 commit comments

Comments
 (0)