Saltearse al contenido

Zombis

Los zombis son bs_zombies. Es con diferencia el resource más grande. La versión corta de cómo funciona: el servidor guarda una lista de cada caminante (el registro), su salud y quién lo aloja. Los jugadores solo ven peds de los caminantes cercanos. Todo está en resources/[beyond]/bs_zombies/config/.

Tres tipos en Zombies.Types (config_zombies.lua): walker, brute, crawler. Los crawlers necesitan el resource nutria_crawl_anims iniciado antes de bs_zombies o se ponen de pie.

-- bs_zombies/config/config_net.lua
Zombies.Mode = 'networked' -- or 'legacy'
  • networked (por defecto) - un ped OneSync real por caminante, creado por el servidor. Todos ven el mismo zombi en el mismo sitio. OneSync migra la propiedad a un cliente cercano, y solo el dueño ejecuta su IA.
  • legacy - la forma antigua. Cada cliente crea sus propios peds locales y reporta posiciones. Úsalo si el modo en red te da problemas, es solo reiniciar bs_zombies, nada más.

También puedes cambiarlo desde la consola F1 (categoría Zombis), requiere reiniciar bs_zombies.

Cuántos caminantes reciben un ped real a la vez:

cap = min(hardCap, baseCap + perPlayerCap * (players - 1))
ClavePredeterminadoSignificado
promoteRadius300un caminante a esta distancia de cualquier jugador recibe un ped
demoteHysteresis60el ped se elimina cuando nadie está dentro del radio + esto
baseCap24con un jugador conectado
perPlayerCap18se suma por cada jugador extra
hardCap160nunca más que esto
perPlayerNear34máximo alrededor de un jugador
perfBudgetMs70si la media de frame del servidor supera esto, el límite baja
perfMinFactor0.35…pero nunca por debajo de esta fracción
entitySoft / entityHard1400 / 1900total de peds+objetos+vehículos. Entre ambos el límite se reduce, en hard se eliminan los caminantes más lejanos
fpsGood / fpsLow / lowFpsFactor45 / 25 / 0.5un jugador con pocos FPS recibe menos caminantes a su alrededor
corpseSeconds120vida de los cadáveres en red
simDensityScale0.35la población de la simulación se escala por esto en modo en red (reinicio)

Si subes hardCap, sube también Streaming.PoolGuard.maxNetworked (por defecto 96), que limita cuántos registros de caminantes existen en total.

De config_streaming.lua:

ClavePredeterminado
Streaming.spawnMin / spawnMax200 / 300los caminantes aparecen en este anillo alrededor de un jugador
Streaming.PoolGuard.minSpawnDistance100nada aparece más cerca que esto de cualquier jugador
Zombies.Settings.spawnDistanceMin100el mismo mínimo, del lado de los sectores
Streaming.PoolGuard.maxPerPlayer28caminantes contados alrededor de cada jugador
Streaming.PoolGuard.clientPedLimit180el cliente deja de crear peds a este tamaño del pool de peds
Streaming.PoolGuard.clientMaxLocal40máximo de peds de caminantes que tiene un cliente (legacy)
Streaming.cleanupDistance480

El mínimo de aparición es el mayor de spawnDistanceMin, minSpawnDistance y 100. Así que los zombis nunca aparecen en tu cara, salvo con la aparición forzada del staff.

Nada aparece dentro de zonas seguras (config_zones.lua). Los zombis tampoco trepan, en absoluto. Eso es Zombies.Mobility, por favor no lo actives, suben a los tejados y se quedan atascados.

El mapa está dividido en sectores que despiertan y duermen. Los editas en el panel del mapa de sectores, una página web que sirve el resource nodes. En el primer arranque imprime en la consola la URL con una clave. Si quieres tu propia clave:

set bs_sectormap_key "your-own-long-random-token"

Usa set, no setr. setr envía el convar a todos los clientes y entonces todos los jugadores tienen tu clave.

El staff también tiene /atlas (bs_atlas), un mapa en vivo de la simulación en el juego.

Disparos, coches, el gadget decoy, eventos: todos hacen ruido y el ruido atrae caminantes (config_noise.lua, Zombies.NoiseSources). Los silenciadores recortan mucho el ruido de las armas (Weapons.Effects.suppressor.noiseScale = 0.28). Las hordas están en Zombies.Horde, las oleadas de hordas de los eventos del mundo están en Eventos del mundo.

ComandoLadoQué
/znetservidor, staffrecuento en red, límite y por qué, media de frame, censo de entidades, tu recuento cercano
/zsyncservidor, staffpor jugador, caminantes del servidor cercanos vs peds que el cliente realmente tiene
/zdiagservidorestado general, incluye las líneas de /znet
/zstatus, /zsim, /znodes, /sectorservidordirector, simulación, nodos, tu sector
/zclearservidorborrar caminantes
/znetc, /zgaitclientecaminantes en red adoptados, dueño, forma de andar
/poolsclienteuso del pool de peds
/safezonesclientedibujar los círculos de las zonas seguras

La lista completa está en la página de la API de bs_zombies.

  1. Pon Zombies.Mode = 'legacy' (F1 o el archivo), ensure bs_zombies. Listo.
  2. Cuéntame lo que viste con la salida de /znet y /zsync, es lo primero que preguntaré.