Rust entra en el catálogo: es el 15.º juego que hacemos funcionar. Rust demuestra mejor que la mayoría por qué pagar por uso tiene sentido: un grupo juega a tope los primeros días después de un wipe y luego lo deja hasta el siguiente. Una tarifa mensual también cobra las semanas tranquilas. Aquí, un servidor parado no cuesta nada.
Lo que tienes
- 10 plazas por defecto, hasta 50, y un mapa de tamaño 2000, 3000 o 4000 elegido al crearlo. El tamaño y la semilla forman parte del nombre del archivo de guardado, así que no se pueden cambiar después: el juego generaría un mapa nuevo sin avisar y tu base desaparecería.
- Una consola en tu panel, a través del protocolo de administración de Rust (WebRCON): cualquier comando, y expulsar o banear a un jugador por su nombre.
- Los plugins Oxide (uMod), como un ajuste que empieza apagado: lo activas, dejas tus archivos
.csentickserv/oxide/plugins, y sus ajustes y datos viajan con tu mundo. - La app compañera Rust+: su puerto está abierto y vinculas el servidor desde el propio juego.
- Tu mundo, guardado en cada parada. Le pedimos a Rust que guarde y esperamos a que el juego lo confirme antes de apagar la máquina. El mapa también se archiva, para que el siguiente arranque no lo regenere.
Lo que medimos en una máquina real
En una máquina de 16 GB, el primer arranque tardó 8 min 39 s con un mapa de tamaño 3000: unos dos minutos para descargar el juego y unos seis para generar el mapa. El segundo arranque, desde el mundo guardado, tardó unos 4 minutos. Vacío, el servidor ocupaba 4,35 GB de memoria. Aun así solo recomendamos 16 GB: la memoria de Rust crece con cada entidad construida a lo largo de un wipe, y ninguna sesión de prueba corta puede medirlo.
El fallo que nuestra primera prueba de aceptación dejó pasar
Nuestra prueba de aceptación salió en verde, y se equivocaba. La conexión de la consola moría a los dos minutos y medio: el cliente WebSocket de Node nunca libera de verdad su conexión con Rust, y Rust rechaza la sexta. Nuestro agente abre una en cada latido: al sexto, la consola estaba muerta, y con ella la secuencia «guardar y luego parar». El servidor se cerraba sin guardar.
La primera prueba comprobaba la fecha del archivo del mapa, que sí se había escrito. El archivo de guardado, no. Sustituimos el cliente por uno que cierra de verdad sus conexiones, lo comprobamos en una máquina (40 comandos de 40, ninguna conexión abierta) y volvimos a pasar toda la prueba, 16 pasos de 16, en una máquina nueva: el mundo volvió, dicho por el propio juego («Spawning N entities from save»).
Lo que esto no resuelve
- El wipe mensual también se aplica aquí. El primer jueves de cada mes (el próximo: 1 de octubre), Facepunch publica una actualización obligatoria que reinicia el mapa de todos los servidores de Rust, en todos los proveedores. Tu servidor se actualiza en el siguiente arranque y genera un mapa nuevo.
- Rust no tiene contraseña ni lista blanca. Tu servidor aparece en el navegador del juego y cualquiera puede unirse. Sigues pudiendo expulsar y banear desde la consola, o añadir una lista blanca con un plugin Oxide. Un jugador conectado, aunque sea un desconocido, impide la parada automática, y el servidor se sigue facturando mientras juega.
- Algunas cosas solo se demuestran con un jugador real. La llegada y salida de jugadores, expulsar y banear, y Rust+ tras un reinicio aún no se han probado. La dirección IP del servidor puede cambiar entre sesiones, así que quizá tengas que volver a vincular Rust+.