/ blog
WODBO Wars: por qué Vercel no tiene ni una sola contraseña

Un amigo me preguntó dónde estaba hosteado WODBO Wars. Le dije Vercel. Se quedó conforme un segundo, y después vino la pregunta que yo venía esquivando con comodidad: “¿y entonces por qué a veces tenés que reiniciar algo cuando se rompe?”.
Ahí entendí que llevaba meses respondiendo mal. El juego no vive en un solo lugar. Nunca vivió. Y hace poco esa respuesta cambió otra vez.
Vercel tiene el portal. Solo el portal. Astro, páginas estáticas, rankings, crear cuenta, esa capa aburrida que cualquiera ve primero. Nada de base de datos ahí. Ninguna variable con la contraseña de MariaDB. Ninguna conexión directa al servidor de juego. El portal solo llama por HTTP a una API, y listo. Es, honestamente, la parte que menos me quita el sueño a las tres de la mañana.
Y eso no cambió. Vercel no tiene ni una sola contraseña. No porque sea un genio de la seguridad. Porque el front no necesita secretos para existir. Si alguien se lleva el portal, se lleva HTML. No se lleva el mundo.
La API, en cambio, empezó en casa. Un LXC en el homelab, PHP, HTTPS, MariaDB en el mismo contenedor. Registro, login, personajes, perfiles. Y Canary, el servidor de juego, en otro LXC, escribiendo sobre esa misma base, porque era la fuente de verdad de todo. Empezó así por la misma razón que ya conté cuando levanté el server: porque puedo. Self-hostear, romper, aprender, modificar el mapa a las tantas. El lab era el lugar natural.

Tenía sentido.
Hasta que dejó de tenerlo.
En el medio apareció Turso, una réplica en la nube de lo que pasa en MariaDB. Rankings, jugadores online, esas cosas que pueden ir unos segundos atrasadas sin que a nadie le importe. El login, no. Si el login leyera una réplica con desfase, alguien podría registrarse, entrar de inmediato, y encontrarse con una cuenta que “todavía no existe”. Un bug de usuario esperando a pasar, disfrazado de optimización. Así que login y registro siguen yendo directo a MariaDB. No por timidez. Por sentido común.
Hoy la API y el juego ya no viven en mi cuartoficina. Viven en una VPS de Hostinger. El lab volvió a ser lo que siempre debió ser para este producto: experimental. El mundo, con gente adentro, dejó de depender de que en casa hubiera luz.
¿Por qué? Porque no tengo UPS. Y punto. Suena poco épico al lado de hablar de arquitectura, pero es la razón real. Vivo y me muevo en zonas donde el corte de luz no es anécdota para Twitter: es parte del paisaje. Redes que parpadean. Reinicios que no pediste. Y cuando el LXC se caía porque se fue la luz, no era un incidente lindo de homelab para contar después con gracia. Era un miércoles a la noche, gente queriendo jugar, mensajes porque el mundo había desaparecido. Ranking en ceros. Login muerto. Mi “porque puedo” convertido en “porque hoy hubo luz”.
Ahí entendí algo que el self-hosting romantiza poco.
Hay una diferencia enorme entre romper cosas para aprender, y prometerle tiempo libre a otra persona.
WODBO cruzó esa línea el día que dejó de ser solo mío. Usuarios reales, feedback constante, guilds, gente de noche — eso ya lo conté. Este post es la consecuencia práctica: si vas a pedirle paciencia a alguien, no le pidas también que tu barrio tenga electricidad estable.
Mover el juego a Hostinger no fue rendirme. Fue admitir que la nostalgia no reemplaza un UPS que no tengo. El lab sigue ahí para experimentar, migrar Canary de madrugada, probar tonterías. La producción del mundo, no.
Lo que no anticipé al principio es que “porque puedo” se convierte, con el tiempo, en guardia. Si la API se cae, no es estético: es gente que no puede entrar a un juego que eligió para su tiempo libre. Si Turso se traba, hay un fallback a MariaDB en los rankings, para que al menos algo se muestre. Ese fallback lo escribí una noche después de media hora de ceros en el ranking y tres personas escribiéndome preocupadas, como si el mundo se hubiese vaciado de golpe.

Nadie me obliga a mantenerlo. Lo mantengo porque en algún momento dejó de ser solo mío.
Así que al final le dije a mi amigo la verdad completa: el portal está en Vercel, sin una sola contraseña. El juego y la API están en Hostinger, porque mi casa no tiene UPS y no voy a fingir que la luz es un acuerdo de servicio. Y hay una réplica en la nube para lo que puede ir un poco atrasado. Cada pieza está ahí por una razón que puedo explicar sin inventar nada.
No es la arquitectura más elegante que existe. Es la que entiendo, y la que sobrevive a un corte de luz en una zona remota. En un proyecto que empezó como nostalgia y hoy pide guardia de verdad, eso me alcanza.