Przejdź do głównej zawartości

Zombie

Zombie to bs_zombies. To zdecydowanie największy resource. W skrócie, jak działa: serwer trzyma listę każdego szwendacza (rejestr), jego zdrowie i to, kto go hostuje. Gracze widzą tylko pedy szwendaczy w ich pobliżu. Wszystko jest w resources/[beyond]/bs_zombies/config/.

Trzy typy w Zombies.Types (config_zombies.lua): walker, brute, crawler. Crawlery potrzebują resource’a nutria_crawl_anims uruchomionego przed bs_zombies, inaczej wstają.

-- bs_zombies/config/config_net.lua
Zombies.Mode = 'networked' -- or 'legacy'
  • networked (domyślny) - jeden prawdziwy ped OneSync na szwendacza, tworzony przez serwer. Wszyscy widzą tego samego zombie w tym samym miejscu. OneSync przenosi własność na pobliskiego klienta, a tylko właściciel uruchamia jego AI.
  • legacy - stary sposób. Każdy klient buduje własne lokalne pedy i odsyła pozycje. Użyj, jeśli tryb sieciowy sprawia ci kłopot, to tylko restart bs_zombies, nic więcej.

Można to przełączyć też z konsoli F1 (kategoria Zombie), wymaga restartu bs_zombies.

Ile szwendaczy dostaje naraz prawdziwego peda:

cap = min(hardCap, baseCap + perPlayerCap * (players - 1))
KluczDomyślnieZnaczenie
promoteRadius300szwendacz w tej odległości od dowolnego gracza dostaje peda
demoteHysteresis60ped jest usuwany, gdy nikogo nie ma w promieniu + tej wartości
baseCap24przy jednym graczu online
perPlayerCap18dodawane za każdego kolejnego gracza
hardCap160nigdy więcej niż to
perPlayerNear34maksimum wokół jednego gracza
perfBudgetMs70jeśli średnia klatka serwera przekroczy tę wartość, limit spada
perfMinFactor0.35…ale nigdy poniżej tego ułamka
entitySoft / entityHard1400 / 1900łącznie pedy+obiekty+pojazdy. Pomiędzy limit się kurczy, przy hard znikają najdalsze szwendacze
fpsGood / fpsLow / lowFpsFactor45 / 25 / 0.5gracz z niskim FPS dostaje mniej szwendaczy wokół siebie
corpseSeconds120czas życia zwłok sieciowych
simDensityScale0.35populacja symulacji jest tym skalowana w trybie sieciowym (restart)

Jeśli podniesiesz hardCap, podnieś też Streaming.PoolGuard.maxNetworked (domyślnie 96), który ogranicza, ile rekordów szwendaczy w ogóle istnieje.

Z config_streaming.lua:

KluczDomyślnie
Streaming.spawnMin / spawnMax200 / 300szwendacze spawnują się w tym pierścieniu wokół gracza
Streaming.PoolGuard.minSpawnDistance100nic nie spawnuje się bliżej niż to od jakiegokolwiek gracza
Zombies.Settings.spawnDistanceMin100ta sama dolna granica, po stronie sektorów
Streaming.PoolGuard.maxPerPlayer28szwendacze liczeni wokół każdego gracza
Streaming.PoolGuard.clientPedLimit180klient przestaje tworzyć pedy przy tym rozmiarze puli pedów
Streaming.PoolGuard.clientMaxLocal40maks. pedów szwendaczy u jednego klienta (legacy)
Streaming.cleanupDistance480

Dolna granica spawnu to największa z spawnDistanceMin, minSpawnDistance i 100. Zombie więc nigdy nie pojawiają się ci przed nosem, poza wymuszonym spawnem staffu.

Nic nie spawnuje się w strefach bezpiecznych (config_zones.lua). Zombie też w ogóle się nie wspinają. To Zombies.Mobility, proszę, nie włączaj tego, włażą na dachy i się zacinają.

Mapa jest podzielona na sektory, które się budzą i usypiają. Edytujesz je w panelu mapy sektorów, stronie www serwowanej przez resource nodes. Przy pierwszym starcie wypisuje w konsoli adres URL z kluczem. Jeśli chcesz własny klucz:

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

Użyj set, nie setr. setr wysyła convar do każdego klienta i wtedy każdy gracz ma twój klucz.

Staff ma też /atlas (bs_atlas), mapę symulacji na żywo w grze.

Strzały, samochody, gadżet decoy, wydarzenia: wszystko robi hałas, a hałas przyciąga szwendaczy (config_noise.lua, Zombies.NoiseSources). Tłumiki mocno tną hałas broni (Weapons.Effects.suppressor.noiseScale = 0.28). Hordy są w Zombies.Horde, fale hord z wydarzeń światowych w Wydarzenia światowe.

KomendaStronaCo
/znetserwer, staffliczba sieciowych, limit i dlaczego, średnia klatka, spis encji, twoja liczba w pobliżu
/zsyncserwer, staffdla każdego gracza: szwendacze serwera w pobliżu vs pedy, które klient faktycznie ma
/zdiagserwerogólny stan, zawiera linie z /znet
/zstatus, /zsim, /znodes, /sectorserwerdyrektor, symulacja, węzły, twój sektor
/zclearserwerusuń szwendaczy
/znetc, /zgaitklientprzejęci szwendacze sieciowi, właściciel, chód
/poolsklientużycie puli pedów
/safezonesklientrysuj koła stref bezpiecznych

Pełna lista jest na stronie API bs_zombies.

  1. Ustaw Zombies.Mode = 'legacy' (F1 lub plik), ensure bs_zombies. Gotowe.
  2. Zgłoś, co widziałeś, razem z wynikiem /znet i /zsync, o to zapytam najpierw.