Planes para el futuro – Preparación adicional y beta por invitación

Esta entrada ha tardado un poco más que de costumbre en que la traduzcamos debido a mi tiempo y a lo larga que es… ¡Lo siento  :-(  !

¡Hola gente!

Durante pruebas tempranas, está claro que la transición a ASP.NET funcionará. Mientras Nancy se caería con unas solicitudes “lastimosamente” pequeñas, ASP.NET no deja ni una sola solicitud después de cientos de ellas. Sin embargo, como mencioné antes, no esperamos ver cientos de usuarios intentando registrarse desde el día uno. Cierto es que debemos tomar medidas; planeando añadir ciertas funciones de moderación después de que el juego se establezca, debido a la base de usuarios relativamente pequeña. Esto significa ciertas cosas para nosotros:

Nuestra nueva proyección de usuarios es mucho más alta que lo que permitían nuestros planes de lanzamiento

Originalmente, planeamos lanzar el juego con propiedades más grandes disponibles para los usuarios para ganar habilidades y conseguir dinero hasta que pudieran comprar sus propias propiedades. Esto es debido a que no podíamos dar dinero de inicio a los nuevos usuarios debido a que el registro era gratuito. Este plan estaba ideado para un máximo de 200 usuarios iniciales, y asumí que era posible que cupiéramos en un solar gigante con 128 avatares de máximo para una ceremonia de bienvenida.

Con más de 1000 personas, ni siquiera sería posible llevar a todos a la propiedad, y tener a todos los usuarios jugando al mismo tiempo sin propiedades para separar a todos sería una receta para el desastre. Elegir una configuración del servidor para permitir que todos estos usuarios entren a jugar sería un tiro en la oscuridad, y no conoceríamos la raíz del problema o la capacidad real de la configuración del servidor si estuviéramos sobre ella (se caería de inmediato)

Se necesita moderación automática

Un problema potencial al sacar un juego tipo TSO con registro gratuito fue crearse multi-cuentas para beneficiarse antes que otros usuarios. Desafortunadamente, actualmente es muy fácil hacer esto, no tenemos ninguna detección automática para los bots y los multi-cuenta. Como mencioné antes, es posible hacer esto monitorizando transacciones de un punto, transacciones muy grandes sospechosas, comandos predecibles sospechosos enviados al juego (bots), y otras comprobaciones. Esto será suficiente para marcar las actividades sospechosas para que las investigue el equipo de moderación.

El plan fue implementar esto después del lanzamiento, ya que a la gente le tomará un tiempo conseguir los suficientes fondos para transferir de una cuenta secundaria a su cuenta principal. Con cientos de personas, las cosas se pueden poner muy rápido fuera de control, así que es importante dejar bien esto tan pronto como sea posible.

Gran demanda de sitios brasileños

El día del lanzamiento, la mitad del tráfico al sitio de WordPress fue desde sitios brasileños. Nuestro Discord inglés incluso ganó un canal brasileño-portugués y un chat de voz por un corto periodo de tiempo, ya que hablaban en su idioma en los canales normales. Esto causó una división de lengua a baja escala, y solo con unos pocos miembros. Con un número equitativo de parlantes del inglés y el portugués, la ciudad del juego experimentará una separación de lenguas muy rápida, y la calidad de la moderación y juego se verá severamente afectada, con la mitad de la comunidad esperando que la otra mitad hable su idioma.

Espero solucionar este problema, la comunidad brasileña necesita su propia instancia de Sunrise Crater. Si esto estuviera en el mismo servidor que el inglés, y si pudiera conseguir donaciones, ocurrirá un desequilibrio en las donaciones y la actividad del juego. No creo que pueda dar un servidor exclusivo para la comunidad brasileña debido a la barrera del lenguaje. Sería ideal que la comunidad brasileña encuentre y escoja a su propio administrador del servidor y equipo de moderación para ejecutar su propio servidor de una manera que funcione para muchos de ellos. Para que esto funcione, necesito hacer que los servidores sean más fáciles de ejecutar/mantener, y ayudar a un administrador confiable para configurar un servidor separado para Brasil. Esto ocurrirá cerca de lanzar nuestro juego revisado al público, e ideal mente lanzarlo junto a nuestros servidores oficiales.

Todavía estoy en educación a tiempo completo

Contaba con que todo funcionara perfecto en el lanzamiento, ya que la fecha se estableció como la última posible antes de que tuviera que volver a la universidad y trabajar en mi proyecto final del año. Lamentablemente, no fue como esperaba, esperaba tener más que las características necesarias listas, y un poco de esperanza de que no fueran necesarias para una base de usuarios relativamente pequeña. Resulta que todas eran completamente necesarias, ya que moderar manualmente cientos de jugadores sin ningún tipo de asistencia automática (informes, transacciones marcadas, bots marcados) podría causar una “explosión mental”.

Además, necesito más administradores del servidor para mantener el servidor abierto. Especialmente en los primeros días, es probable que el servidor caiga, y no puedo estar siempre para mantenerlo 24/7. Si estoy todo el tiempo asegurándome de que el servidor no se caiga, no tendré tiempo para desarrollar el juego en sí. Soy un desarrollador de funciones apasionado, así que es crucial para mi salud mental no convertirme en un esclavo de mi propio servidor. Desafortunadamente, los servidores aún son difíciles de mantener (la instalación del Watchdog es confusa, la actualización es complicada y a veces necesita un reinicio manual, y a veces cosas como el servidor NFS en Linux necesita una manera fácil de instalación para administradores casuales). Seguramente pueda escoger a gente que ya conozco para que haga esto, así que, por favor, no te sugieras a ti mismo. El problema es que… ¡Debo hacérselo lo suficientemente fácil para ellos!

Debido a mi situación, las cosas tienen que ralentizarse un poco (como lo han estado los últimos años). Sin embargo, las contribuciones al proyecto en GitHub son más que bienvenidas. Aún podemos lanzar el juego mientras estoy educándome a tiempo completo, solo necesita estar bien planeado antes de todo.

Un nuevo plan para una beta “cerrada”

Tenemos unos problemas que solucionar. No tenemos ni idea de cómo el servidor de la ciudad y las propiedades escalarán con un numero grande de usuarios reales, que es una función de cuántas propiedades están abiertas, cuántos jugadores hay en cada propiedad, cuántos jugadores están ausentes en la ciudad… No sabemos a qué punto los servidores de la ciudad o las propiedades se volverán no fidedignos, o como pueden reaccionar. Un lanzamiento instantáneo a larga escala romperá los servidores tan rápido que será imposible diagnosticar el inicio de los problemas.

La solución es simple, necesitamos alternan el número de jugadores que permitiremos en la ciudad. El plan actual es la beta de una lista de correos, donde podrás enviar tu correo electrónico para recibir un código de la beta de FreeSO en algún momento del futuro. De esta manera, podremos, gradualmente, escalar el servidor, ver cómo reacciona, y no habrá necesidad de unirse a una propiedad de la ciudad para empezar (esto quizás solo deba estar disponible durante las primeras fases de invitación). También predigo que mucha gente dejará rápido de jugar. Una base de usuarios inmediata de, digamos, 2000 usuarios que gradualmente disminuirá a 750, es mucho más difícil y caro aguantar un incremento gradual de 50 usuarios para llegar a los mismos 750 usuarios.

Esto será anunciado por este sitio de WordPress (Es decir, en la página oficial de FreeSO: http://freeso.org/ )cuando esté disponible. Los correos para recibir códigos serán, probablemente, elegidos en orden, pero es probable que haya algún tipo de aleatoriedad de por medio. Por favor, estad atentos.

Hoja de ruta revisada

Esta es una lista que realmente deben hacerse antes de que podamos volver a intentarlo:

  • Pasar toda la API a ASP.NET (requiere API de administrador, algunos arreglos de errores y pruebas)
  • Más herramientas para la IU de administrador, para ver reportes, transacciones, marcas y expulsiones.
  • Registro de transacciones y tareas de marcado automáticas.
  • Plugin de detección de Bots (Código fuente cerrado)
  • Herramientas dentro del juego de moderación para expulsiones y advertencias, e informes de los usuarios.
  • Asegurarse de que las porciones distribuidas del sistema funcionan, incluido el apagado distribuido, apagado de emergencia de un componente para reconectar y actualización distribuida. Requerido para escalado horizontal.
  • Hacer un sistema para gradualmente enviar las invitaciones al servidor mediante invitaciones de email.
  • Limpiar el servidor de alojamiento para ser algo menos que una tarea activa. Esto será necesario para empezar a dejar a otras comunidades de otros idiomas crear sus propios servidores, y dejar mi vida con otras cosas.

Esta larga lista significa que no podremos lanzar el servidor pronto. No es un problema de dinero, es un problema de tiempo (específicamente el mío). Esto es definitivamente posible, solo debemos hacerlo bien. ¡Lo siento por dejaros a todos emocionados!

¡Una nota sobre los servidores privados en vez de ayudar al juego!

¡Por favor, recuerda que, si yo, el desarrollador del juego durante 3 años, no pude ejecutar un servidor, significa que tú u otra persona definitivamente no seréis capaces de ejecutar uno con éxito! Por favor, también tened cuidado con los servidores que están ejecutados por personas que no son desarrolladoras. Conozco al menos a un grupo que quizás intente esto estuvo involucrado en un ataque DOS hace unos días, y debido a su naturaleza impredecible yo no confiaría en ellos para dar tu información.

Si tienes la habilidad para mantener un servidor básico, tu tiempo estará mejor invertido ayudándome a implementar esas características, así podremos lanzar el juego para todos. Las cosas del MMO deberían ser relativamente sencillas para empezar con el desarrollo (especialmente comparándose con SimAntics), así que, si tienes experiencia en C#, ¡revísalo! Aceptaremos “Pull requests” en nuestro repositorio de GitHub.

Me gustaría acabar este post diciendo que no aceptaremos donaciones hasta que el servidor esté abierto a los jugadores para que vean el juego ejecutándose ellos mismos, así que tened cuidado con las solicitudes de dinero publicadas en las redes sociales. La comunidad de TSO ya fue aniquilada antes… ¡No dejemos que vuelva a pasar en caso de que fallemos!

Gracias,

Rhys