Bienvenido a la documentación oficial de WikiRASH. Aquí explicamos la infraestructura subyacente que permite jugar al modo multijugador masivo en tiempo real sin romper Wikipedia (ni enfadar a los administradores de Wikimedia).
Topología de Red y Sincronización
WikiRASH utiliza una arquitectura basada en WebSockets (Socket.io) montada sobre un backend en Node.js (Express). Esto permite eventos de muy baja latencia esenciales para:
- Registrar y propagar los clics de cada jugador a la sala en tiempo real.
- Sincronización del temporizador maestro autoritativo del servidor.
- Ejecutar penalizaciones instantáneas (Poderes destructivos) como el "Salto en el Tiempo" o la "Congelación".
El Proxy Anti-Trampas (Anti-Cheat Server)
Dado que Wikipedia es pública y los usuarios podrían usar herramientas de depuración del navegador para hacer trampa, el cliente de WikiRASH no accede directamente a wikipedia.org. En su lugar, toda la navegación y renderizado pasa por nuestro proxy Node.js especializado:
- Filtro de Inyección: El proxy elimina la barra de búsqueda y los sidebars de la interfaz oficial de Wikipedia que permitirían atajos o teletransportes.
- Protección Homoglyph contra el "Ctrl+F": Para evitar que los jugadores abusen del buscador del navegador para encontrar enlaces escondidos en la sopa de letras, inyectamos un script que cambia aleatoriamente caracteres latinos estándar (como la "a" o la "c") por sus equivalentes visuales en el alfabeto cirílico (Ataque Homógrafo preventivo). A simple vista es el mismo artículo, pero
Ctrl+Fno funcionará. - Validación de Tiempos: Verificamos que no se superen los umbrales humanos al navegar. Cualquier navegación menor a cierto límite es ignorada o penalizada.
Economía de Partida y Sistema de Progresión XP
Cada vez que un jugador realiza una acción clave (Navegación Rápida, recolectar un "Doodle Aleatorio" camuflado en el texto, o visitar páginas relevantes), acumula monedas que aplican directamente al menú de Poderes Locos en pantalla.
Tras finalizar una carrera (iniciar en el artículo A y alcanzar la meta B), los datos suben al servidor principal: se calcula el XP base y se multiplica por la dificultad de la ruta y las penalizaciones sufridas, dictando su posición global en el Leaderboard.