Project Lighthouse Diario de Desarrollo Diciembre 2022

LBP Union y Project Lighthouse no están afiliados con Sony Computer Entertainment ni a sus filiales. Project Lighthouse es un proyecto de ingeniería inversa limpia de las ya cerradas funciones online de LittleBigPlanet para PlayStation 3 y Vita. No se distribuye código propietario. Bajo ninguna circunstancia respaldamos o apoyamos la piratería. Debes tener tu propia copia del juego para poder utilizar las funciones personalizadas cuando estén disponibles. Al utilizar estas funciones, liberas a Sony Computer Entertainment (Sony), así como a cualquier empleado o agente de Sony, de cualquier responsabilidad, pérdida corporativa o personal causada a ti u otros por el uso de los servidores personalizados de Lighthouse para LittleBigPlanet.

Project Lighthouse December Dev Log. A craft earth and moon with a rocket in the foreground

Traducido por Kairos (Er_BiyanoXD)

Contribuidores del Diario de Desarrollo:

m88youngling

Kairos (Er_BiyanoXD)

SamuraiEzoiar

¡Hola a todos! Han cambiado muchas cosas en sólo un mes. Gran parte del trabajo desde Noviembre ha consistido en actualizaciones de seguridad del backend, pero también hay otros cambios interesantes. Estamos cada vez más cerca de la beta pública, ¡y estamos deseando compartir nuestros progresos con vosotros!

Lo más destacado que hemos hecho este mes,

  • Ya es posible firmar tickets de PlayStation Network, pero aún no está totalmente implementado.
  • Autenticación de Doble Factor
  • Progreso en las clasificaciones de puntuaciones en el sitio web
  • Los planetas de Cross-Controller ya funcionan
  • Nuevos mensajes webhook de selección del equipo
  • Corregidos varios exploits relacionados con las puntuaciones
  • Categorías de LBP3 mejoradas

Con esto fuera del camino, ¡hablemos de los cambios más recientes de Project Lighthouse en diciembre de 2022!

¿Qué es Project Lighthouse?

Project Lighthouse es un proyecto de ingeniería inversa de código abierto para recuperar las funciones online de LittleBigPlanet en PlayStation 3 y Vita. Puedes obtener más información en la primera entrada de nuestro blog, o puedes revisar nuestro repositorio de Github para echar un vistazo al código base y a los comentarios.

Reforma de los Sistemas de Registro e Inicio de Sesión

Recientemente se ha producido un avance en el desarrollo que tiene el potencial de revolucionar la forma en que los usuarios se conectan a las instancias de Lighthouse. Este avance proviene de unas piezas de información del servidor de PlayStation Network llamadas NPTickets. Según el desarrollador jefe de I+D de LBP Union, Slendy, los NPTickets “son utilizados por el juego para autenticarse con el servidor del juego, contienen una firma criptográfica de su contenido. Esta firma puede utilizarse para verificar que un ticket ha sido efectivamente generado por la fuente esperada y no ha sido manipulado.” Para entender por qué esto es importante, tenemos que retroceder un poco.

Sistema actual de autenticación de Lighthouse

Antes, verificar la autenticidad de un usuario era complicado. Recurríamos sobre todo a la autenticación por IP en el sitio web. Los usuarios tienen que acceder a su cuenta en línea y aprobar su solicitud de conexión, de forma similar a la autenticación de doble factor. Esto funcionaba, pero seguía siendo posible que los usuarios falsificaran los tickets de conexión para hacerse pasar por otros usuarios en algunas situaciones.

Prevención de suplantación de identidad: Union Verifier

La suplantación de usuarios es un gran problema. En un momento dado, los usuarios podían crear una cuenta a nombre de otra persona y luego falsificar sus tickets de acceso no sólo para impedir que el usuario utilizara esa cuenta, sino también para actuar como él en el servidor. Para evitarlo, LBPU I+D desarrolló Union Verifier, un sistema que obligaba a los usuarios a hacer una de estas dos cosas al crear su cuenta:

  • Añadir una breve y exclusiva cadena de números y letras a su “Acerca de mí” de PSN.
  • Los usuarios de RPCN tienen que añadir un usuario específico a su lista de amigos.
A screenshot of the Project Lighthouse Union Verifier UI, which requires users to type a verification code into their PSN About Me page.

Esto permitiría a los usuarios demostrar que eran propietarios de una determinada cuenta antes de registrarse. Sin embargo, la brecha de los NPTicket puede hacer irrelevante este sistema.

El Futuro del Registro y La Autenticación de Cuentas con PSN

Entender cómo funciona NPTicket nos da el poder de verificar que un ticket de PlayStation Network es auténtico. En palabras de Slendy, “Esta firma se puede utilizar para verificar que un ticket ha sido generado realmente por la fuente esperada y no ha sido manipulado”. Esto permite un flujo de registro y autenticación de cuentas mucho más sencillo y fácil que antes. De hecho, ¡ni siquiera es necesario iniciar sesión en un sitio web!

En el Pull Request #600 de Project Lighthouse, Slendy creó los primeros pasos hacia los siguientes puntos importantes:

  • Los usuarios ya no necesitan registrarse y autenticarse en un sitio web para las instancias públicas. Todo lo que tienen que hacer es parchear su juego y conectarse al servidor.
  • Cuando el usuario se conecta al servidor por primera vez, su cuenta se crea automáticamente.
  • Los nuevos usuarios que quieran iniciar sesión en el sitio web tendrán que generar credenciales, pero aún no se han concretado todos los detalles.
  • Las cuentas de PSN y RPCN pueden vincularse a una cuenta de Lighthouse. Los usuarios que jueguen en ambas plataformas pueden vincular ambas cuentas.
A screenshot of the linked accounts feature, showing options to link PSN and RPCN accounts.

Aún queda mucho por resolver, pero es un gran paso adelante en cuanto a la accesibilidad del servidor. Facilitará la conexión de personas con direcciones IP dinámicas.

¡El tema de NPTicket fue todo un desafío, y hubo varios colaboradores que participaron en el debate y prestaron su ayuda, entre ellos Galciv, Clembu, RipleyTom, HomicidalChicken, TorutheRedFox, Okiron entre otros

Progreso en la Actividad Reciente

¡Ups! Parece que la forma en que Dagg estaba tratando de implementar la Actividad Reciente era muy confusa y podría, estamos hablando en serio, destruir el servidor.

A screenshot of LittleBigPlanet 2 recent activity in progress by Dagg.

Sin embargo, hace unos días, Dagg comenzó a trabajar en Actividad Reciente 2.0, la cual es más limpia y un gran trabajo en progreso, pero al menos es más estable que la versión antigua. Dagg también separó las Noticias de LBP1 de Actividad Reciente en el nuevo Pull Request, por lo que el desarrollo de las Noticias de LBP1 está actualmente en pausa.

Autenticación de Doble Factor

Cuando se trata de proteger las cuentas, no queremos correr riesgos. Aunque nuestra instancia de Lighthouse cuenta con limitación de tasas para evitar intentos maliciosos de pirateo de cuentas por fuerza bruta, los usuarios tienen ahora la opción de activar la autenticación de doble factor (A2F) como parte del proceso de inicio de sesión. Esto requerirá que introduzcas un código de una aplicación de autenticación para iniciar sesión.

A screenshot of the dual factor authentication setup screen on Project Lighthouse.

Esta característica es requerida por moderadores y administradores para garantizar la seguridad de la instancia. Esta función ha sido implementada por Slendy en el PR #577.

Progreso en Clasificaciones de Puntuaciones en el Sitio Web

Según el Pull Request #601 de Slendy, se están desarrollando una serie de nuevas mejoras para el sitio web, entre las que se incluyen:

  • Puntuaciones de niveles y moderación de puntuaciones
  • Niveles Adorados y En Cola
  • La posibilidad de borrar comentarios (Limitado a los moderadores, los autores de los comentarios y propietarios de niveles/perfiles).
  • La posibilidad de borrar críticas (Limitado a los moderadores y los autores de los niveles)
A screenshot of the Project Lighthouse website UI, showing the leaderboards of a level.

Planetas Cross-Contoller

Los Planetas Cross-Controller te permiten establecer un nuevo conjunto de decoraciones para tu planeta cuando tu PSVita está conectada a tu PS3. En versiones anteriores del software de Project Lighthouse, era imposible subir planetas de Cross-Controller, ya que no estaba codificado. Si estabas en modo Cross-Controller, tu planeta volvía a tener la decoración por defecto, aunque tuvieras otras decoraciones guardadas.

Contrariamente a lo que puedas pensar, esto no afecta a la clasificación de niveles. Los niveles de Cross Controller siguen siendo visibles para los usuarios que no tengan una PSVita conectada a su juego. Esta función tampoco afecta al número de niveles que puedes subir al servidor.

Desde que el servidor oficial de LBP Vita cerró el año pasado, Cross Controller ya no funciona normalmente. Sin embargo, usando una corrección DNS (OFW) o parcheando tu archivo EBOOT de Cross Controller (CFW), ¡podrás jugar de nuevo a Cross Controller! Permanece atento a un futuro tutorial.

Nuevos Mensajes Webhook de Selección del Equipo

Project Lighthouse dispone de una herramienta webhook que permite compartir automáticamente las actualizaciones de actividad recientes con otra plataforma. Por ahora, la principal plataforma que hemos estado probando es Discord. En el pasado, esta herramienta solo notificaba a los usuarios sobre nuevos niveles y fotos. Sin embargo, ahora notifica a los usuarios sobre nuevas selecciones de equipo en el PR #528. Esta función fue creada por el desarrollador de la comunidad aMySour y revisada por Slendy.

A screenshot of a Discord chat, showing a webhook called 'Project Lighthouse' posting new team pick announcements automatically.

Corregidos Varios Exploits Relacionados con las Puntuaciones

En el Pull Request #566 creado por Union Space Corps Surveyor Penguinskillcaps (W0lf4llo), unos pocos ajustes de código pueden hacer una gran diferencia. Esto evita que los usuarios envíen puntuaciones de otros jugadores que no sean ellos mismos. Slendy escribe que esto “soluciona un error por el que al mirar las puntuaciones se enviaba al juego la puntuación de otra persona si era una subcadena de tu nombre”.

En otro commit, Slendy corregió otro exploit de subida de puntuaciones.

Categorías de LBP3 Mejoradas

Gracias a la minería de datos, descubrimos los ID de cada icono de las pestañas comunitarias, así como de las pestañas de género. También hemos encontrado iconos que no se utilizaban en los servidores originales, como Aleatorio.

Gracias a este avance, hemos conseguido que funcionen varias pestañas de la comunidad, como Más adorados, Más jugados, y Mejor puntuados. También existe la posibilidad de crear pestañas personalizadas. Sin embargo, aún no estamos preparados para ello. W0lf4llo y Slendy ayudaron a hacer posibles estos cambios en el PR #567.

Trabajando Hacia la Beta Pública

Nuestro principal objetivo con estos nuevos cambios es la beta pública. Estamos impacientes por volver a compartir las funciones en línea con todo el mundo, y muchos de estos cambios nos ayudan a hacerlo en un entorno más seguro. Por ahora, no recomendamos que los anfitriones de instancias hagan público el registro hasta que se puedan añadir los últimos de estos cambios.

A screenshot of the Project Lighthouse Github repository public beta issue milestone list.

Pero, ¿cómo sabemos en qué fase del proceso nos encontramos? Una buena forma de saberlo es que hemos creado un grupo de issues en Github que nos permite seguir nuestro progreso. Hemos recopilado una serie de cuestiones que consideramos esenciales para la beta pública y las hemos agrupado. La lista de problemas, junto con todas las demás partes de Project Lighthouse, son accesibles para que cualquiera pueda verlas y contribuir a ellas.

Según el objetivo, ya hemos terminado el 53%. Sin embargo, los problemas que se ven aquí no son los únicos obstáculos que tenemos que superar. Hay algunos retos no relacionados con Lighthouse que tenemos que superar para que nuestro servidor, Beacon, esté listo para un lanzamiento público. La infraestructura y el trabajo administrativo son necesarios para un servidor de este tamaño, así que, por favor, ¡tengan paciencia con nosotros mientras preparamos Beacon para el público!

Si tienes experiencia en C# y ASP.NET u otra información útil para el desarrollo de Lighthouse, ¡no dudes en contribuir al repositorio con un pull request! También puedes participar en el debate en el foro de discusión de Project Lighthouse.

¿Cómo puedo Contribuir a Project Lighthouse?

Project Lighthouse siempre ha sido un proyecto de código abierto al que cualquiera puede contribuir. Para contribuir con un cambio propuesto, puedes crear un Pull Request (PR) en nuestro repositorio de Github. Este PR está sujeto a revisión por parte de los mantenedores. Se trata de desarrolladores del equipo de I+D de LBP Union que pueden revisar la contribución y ofrecer sugerencias de mejora antes de fusionar los cambios con Project Lighthouse.

Si eres un colaborador activo de Project Lighthouse, ¡puedes tener la oportunidad de unirte al equipo de Investigación y Desarrollo de LBP Union! Esto te permitirá ayudarnos a trabajar en nuestra versión de Lighthouse llamada Beacon, que actualmente se encuentra en fase beta privada. De vez en cuando trabajamos en otros proyectos y hablamos del mantenimiento del repositorio de Lighthouse en Discord. Puedes inscribirte en el equipo a través de nuestro formulario de inscripción.

¡Gracias por Vuestro Apoyo!

Estamos impacientes por ofreceros más noticias sobre el desarrollo de Project Lighthouse en el futuro. No se sabe qué nuevos límites alcanzará LittleBigPlanet en el futuro, ¡y estamos deseando que la comunidad comparta ese futuro con nosotros! Gracias por leernos. Si te ha parecido interesante, compártelo con un amigo y deja un comentario.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *