Ir al contenido

Rendimiento de un servidor de Rust: qué causa el lag

Respuesta rápida: escribe serverinfo en la consola del servidor para ver el Framerate y el EntityCount del servidor. Un servidor de Rust va más lento cuando tiene más que ejecutar: más construcciones y objetos en el mundo, más spawns en un mapa más grande, NPCs y plugins. Los ajustes de abajo controlan cada uno de esos puntos. Deja los ajustes de tick rate en sus valores por defecto.

ComandoQué muestra
serverinfoFramerate, EntityCount (todo lo que hay en el mundo), Players, Memory, NetworkIn y NetworkOut, Uptime.
server.fpsEl framerate del servidor por sí solo.

Escríbelos en la consola del servidor, por RCON o en la consola F1 como admin. En Crucible Local Server, el mosaico Tasa de fotogramas de la Quick view muestra el mismo número mientras el servidor está En vivo.

Vigila el framerate mientras ocurre el lag. Si baja, el servidor se está ahogando con su propio trabajo y se aplica el resto de esta página. Si se mantiene estable, mira la red o el PC del propio jugador.

fps.limit es el máximo de fotogramas por segundo que ejecutará el servidor (Rust indica 240). Bajarlo libera CPU para otras cosas en el mismo PC, como un segundo servidor. No hace nada por un servidor que ya funciona por debajo de su límite.

AjustePor defectoQué hace
server.tickrate10Cuántas veces por segundo el servidor atiende RCON, Rust+ y sus comprobaciones de conexión. No hace que el juego vaya más fluido.
player.tickrate_sv16Cuántas veces por segundo el servidor actualiza a cada jugador. Rust permite de 16 a 128, y cada subida es más trabajo por cada jugador conectado.

Cada bloque de construcción, deployable, objeto soltado, cadáver, animal y barril es una entidad, y el servidor sigue y guarda cada una. El recuento sube durante un wipe a medida que los jugadores construyen.

Ajuste o comandoPor defectoQué hace
server.itemdespawn300Segundos base que un objeto soltado está en el suelo antes de desaparecer. Algunos objetos duran más.
server.corpsedespawn300Segundos que dura un cadáver.
entity.countby <steamid>Cuenta todo lo que ha colocado un jugador.
entity.deleteby <steamid>Destruye todo lo que ha colocado un jugador. No se puede deshacer.

El decay desgasta las construcciones que nadie mantiene, y es lo que limpia las bases abandonadas del mapa. Con decay.scale 0 nada se deteriora, así que cada base se queda hasta el wipe y el número de entidades solo crece. Deja el decay activado en un wipe largo; los ajustes están en cómo desactivar el decay.

Rust llena el mapa de nodos de mineral, plantas, recolectables y animales por área: cada tipo de spawn tiene una densidad, y Rust busca esa densidad en el terreno donde cabe. Un mapa más grande tiene más de todo, y más que ejecutar para el servidor. Rust limita algunos tipos de spawn al área de un mapa de 4000 m. Para elegir un tamaño: tamaños de mapa de Rust.

AjustePor defectoQué hace
spawn.max_density1Escala cuánto de cada tipo de spawn tiene el mapa. 0.5 es la mitad.
spawn.min_density0.5Los tipos de spawn que siguen el número de jugadores empiezan aquí en un servidor vacío y suben hasta spawn.max_density a medida que se llena.
spawn.tick_populations60Segundos entre rondas de spawn. Un número más alto rellena el mapa más despacio.
AjusteQué hace
ai.npc_enable falseNo aparecen científicos en monumentos ni junkpiles, y Rust se salta la construcción de los navmesh de los monumentos, así que el servidor arranca antes. Los animales siguen apareciendo.
aimanager.nav_disable trueRust no construye ningún navmesh, así que el servidor arranca mucho más rápido, pero los NPCs y los animales no pueden moverse. Solo para un servidor de construcción o de pruebas.

Define los dos en server.cfg o en la línea de inicio, para que se apliquen desde el momento en que arranca el servidor. Mira el ejemplo de server.cfg de Rust.

Cada plugin ejecuta su propio código en el servidor, y un solo plugin lento puede bajar el framerate para todos. o.plugins en Oxide o c.plugins en Carbon lista lo que está cargado. Para encontrar uno lento, saca plugins de la carpeta oxide/plugins o carbon/plugins de uno en uno, reinicia y vigila el framerate. En Crucible Local Server, los plugins se gestionan en la pestaña Mods; mira mods y plugins.

server.saveinterval (600) es cada cuánto se guarda el mundo, en segundos, y cada guardado escribe todas las entidades del mundo. Un mundo con más entidades tarda más en guardarse, así que no lo pongas muy bajo.

Un reinicio programado le da un inicio limpio a un servidor que lleva mucho tiempo en marcha. Crucible Local Server puede reiniciar con un horario diario e instalar actualizaciones de Rust mientras está apagado; mira reinicia tu servidor automáticamente.

Los ajustes de Rendimiento de la pestaña Config:

  • Omitir el navmesh de IA (arranque más rápido) es el aimanager.nav_disable de arriba: un inicio mucho más rápido, con NPCs y animales que no se mueven.
  • Prioridad alta le da más CPU al servidor cuando hay otras apps en marcha.
  • Núcleos de CPU (avanzado) fija el servidor a los núcleos que listes, por ejemplo 0-7. Déjalo en blanco para usar todos los núcleos.

Cada servidor extra que ejecutas a la vez cuesta RAM y CPU de verdad, por eso Permitir varios servidores en marcha a la vez viene desactivado por defecto. Mira ajustes del servidor.