RandomSizesZA V2

7 days to die randomsizesza

Increase variation of zombies and animals.

Now network synced!

Settings.XML for precise control of settings

Increase variation of zombies and animals (combined into single mod now)

Controllable settings

Randomize zombie/animal size by 0.75x to 1.25x.

Network Synced!!!

Multiple attempts to sync in case of network lag or speed issues

Host and client required to have installed.
Non-dedicated / Dedicated / Solo – All works.

Host or server controls settings.

Roadmap:
Maybe scale the zombie health/difficulty by the same scale as the size, i.e. larger zombie equal substantially more health, i.e., bosses.
Scale weight bias
Impose limits on sizes
Maybe have the off chance of a mega zombie with a million health lol.
Open to suggestions

Stress tested in a single Dedicated host to client on same network. Spawned 100s of zombies and animals, all synced, no failures, no errors.

Should be compatible with WalkerSim2

Nerd Talk below:

The server spawns new entity in, checks its own dictionary for this new entity, if not found, generates new random scale and stores it in the server dictionary.

The client also sees this new entity spawning, checks its local client dictionary, if not found locally, it sends a request to the server for this scale.

The server sees this request, checks its dictionary and replies with the correct scale.

The client sees this response, updates its dictionary, and then sets the scale of the entity.

I have added a one time dictionary sync when a player spawns in the world, to update their local client side dictionary with the master server dictionary.

This is a separate network request, but should help the client catch up to any known entities the server already has tracked. This will reduce network traffic.

Each of the main request are like 9 bytes, so its no big deal, the dictionary sync request is like 2k bytes for 100 known entities, not much. But could get to be more the longer the play session is.

When an entity is killed, its scale is no longer needed, so to keep the dictionary clean, the server tracks the event and removes the entity key from the server master dictionary. Then the server sends netpackage to update the client and let them know to remove that same key as well.

7 days to die randomsizesza additional screenshot 1

7 days to die randomsizesza additional screenshot 2

7 days to die randomsizesza additional screenshot 3

Screenshot of the debug logs for a network sync:

7 days to die randomsizesza additional screenshot 4

DOWNLOAD (9 KB)

Credits: McTaco

Share this with your friends:
Subscribe
Notify of
guest

If you have any questions or have any problems/bugs, please use the support link (Discord, Forum Topic, GitHub Issues, etc.) in the post. If there is no support link in the post, please use the comments section.

1 Comment
Inline Feedbacks
View all comments
CptHAX
CptHAX
February 10, 2025 12:49 pm

Imagine going inside a low tier house and see 3 giants just sleeping