You are viewing a potentially older version of this package.
View all versions.
BetterNetworking Valheim
Improve multiplayer performance using compression, queue size, send rate, and other features.
Date uploaded | a year ago |
Version | 2.3.1 |
Download link | CW_Jesse-BetterNetworking_Valheim-2.3.1.zip |
Downloads | 25345 |
Dependency string | CW_Jesse-BetterNetworking_Valheim-2.3.1 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.
Preferred version: 5.4.2202README
Now compatible with Mistlands!
This mod greatly improves multiplayer performance. If you find this mod works as advertised, please endorse it!
Default settings should be fine for most people.
Settings (simple)
- If your lag is fixed, change nothing. You're good to go. Have fun!
- If NPCs are skipping, reduce everyone's update rate to 75% and increase their queue size to 48 KB.
- If a player is skipping, reduce their queue size to 32 KB. If they're already at 32 KB, reduce their update rate.
- If your server bandwidth is fantastic, try increasing its queue size to 80 KB.
Settings (advanced)
- Queue size increase: Sends more data, but deprioritizes "important" objects and can overload a player's internet.
- Update rate reduction: Sends data less often; if a person's internet is overloaded, this adds a little bit of lag in exchange for getting rid of a lot of lag.
- Queue size->32 KB / update rate->100%: up to 256 KB/s per player. [Default]
- Queue size->80 KB / update rate->100%: up to 640 KB/s per player.
- Queue size->32 KB / update rate->50%: up to 128 KB/s per player.
Useful information about Valheim
- ALWAYS quit the game using the in-game menu (NOT Alt+F4, closing console, etc.) Doing otherwise can cause issues. This is a problem with vanilla Valheim.
- The player who arrives in an area first is responsible for lag there. Ideally, the people with the best internet should be ahead of the pack or first through a portal, at least until Better Networking 3.0.
- Valheim multiplayer performance appears to better with crossplay disabled.
Keep in mind
- Compression only works between computers with Better Networking.
- Likely incompatible with (and better than) other networking mods.
- Dedicated servers will not apply changes until restarted.
- You must use the join code or external IP when connecting to servers on the same network when using crossplay.
Features
- crossplay enabled: improves compression speed (55x faster) and compression ratio
- crossplay disabled: adds network compression
- new connection buffer (AKA "ZDO buffer", prevents data loss)
- change outgoing queue size
- change outgoing update rate
- change min/max send rates in Steamworks (AKA crossplay disabled)
- dedicated servers: ability to enable/disable crossplay through Better Networking
- compatible with Linux
- compatible with players not running the mod
Better Networking links
- Please provide feedback!
- Please examine my code!
- Please report bugs!
- Please endorse on Nexus Mods!
- Please endorse on ThunderStore!
Educational links
- Technical explanation of Valheim's networking by u/SleepMyLittleOnes
- Technical information and discussions on desync/lag in Valheim on the blog of James A. Chambers
Thank you
- Cheb for contributing code (Check out ChebsNecromancy!)
- nightshade221 (Max) for being a patron and providing a community!
- Frostsorrow for QA and community assistance!
- Tquilarius for being a patron!
- ALo, ErDu, Tatsuya009, Alexander3054, Dskaggsgv, vi0lation, Ersan191, WhiteDingoX5, xdhara, ImpulsiveMind, nevcairiel, and doubletroubleswtor for valuable feedback and troubleshooting!
- Oleg Stepanischev for ZstdSharp
- Smoothbrain for Network
If you've benefited from this mod and want to see more features implemented, please endorse it! Or if you're feeling particularly generous, donate here or on Patreon!
CHANGELOG
2.3.2
- compatibility with Valheim 0.217.28
2.3.1
- compatibility with Valheim 0.216.9
2.3.0
- allow changing player limit for dedicated servers
2.2.1
- bugfix: more stable when some people have compression/BN disabled
- bugfix: no longer spams log when unexpected messages received
2.2.0
- PlayFab: fixed failing to work in some cases
- PlayFab: better handling of disconnections
- PlayFab: simplified compression code
- PlayFab: fixed error in vanilla Valheim where data could be lost while connecting
- Steamworks: fixed failing to work in some cases
2.1.3
- reverted to 2.1.1; for now, avoid using Alt+F4 to close the game
2.1.2
- better handling of unexpected disconnections
2.1.1
- improved startup time
- better config documentation
2.1.0
- buffer new connections ("ZDO buffer")
- better default queue size
- better queue size options
- PlayFab: compression ratio info messages
- Steamworks: simplified compression code (less likely to break in future Valheim patches)
- Steamworks: higher maximum send rate
- force crossplay option only shows for dedicated servers
- bugfix: queue size changes apply to PlayFab
- bugfix: can no longer set queue size too high for Steamworks
- bugfix: compression/update rate once again changeable without restart
2.0.4
- lower file size
- fixed incompatibility with mods that read/write from current directory
- bugfix: Linux supported again
2.0.2
- crossplay no longer forced enabled by default
- option to force crossplay disabled
- fixed misleading severity of some log messages
2.0.1
- increased default queue size (might prevent desyncs)
- increased max queue size (might induce lag - enable at own risk)
2.0.0
- now compatible with Mistlands
- now supports new PlayFab (crossplay) networking stack
- improved speed and effectiveness of network compression
- now forces PlayFab (crossplay) by default (can be disabled in config file)
1.2.2
- bugfix: compression handshake wasn't completing properly
- many small improvements
1.2.1
- breaks down multiple large packages into separate messages
- can now disable non-error/non-warning log messages
- fewer config options (based on feedback/testing)
- better config descriptions
1.2.0
- compression now optional
- defaults changed
- better log messages
- bugfix: certain messages could ignore increased queue size
- bugfix: can no longer set minimum send rate to 0
1.1.3
- increased send buffer size
- higher default network queue size and queue size options (made reasonable by compression)
- better default options
- better option descriptions
- possible fix for unusual servers