All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fixed error occuring when disconnecting from a lobby when you were previously a host in the game session.
LNetworkUtils.OnNetworkStartCallback
- This event will run when the server/client starts up.
- Minor Internal Refactoring
- Support for LobbyCompatibility; this will ensure that the server and clients are using the same version of this API.
- Fixed
IsConnected
not working properly.
- Improved error messages.
- Changed internal backend to be more optimal and only use Networking and Serialization when necessary.
- Fixed
SendOtherClients
not sending to the server. - Fixed
LNetworkUtils.AllConnectedClients
not including the server.
- Fixed Shutdown error for
UnnamedMessageHandler
. - Fixed
LNetworkVariable
update error when the variable has not yet been created on the client.
- Added
LNetworkVariable
- replacesLethalNetworkVariable
.- Added
LNetworkVariableWritePerms
enum to control the write permissions of the variable. - Added
UpdateOwner
method to update the owner of the variable. - Added
Dispose
method to dispose of the variable.
- Added
- Fixed clients not sending events/messages/variable updates to other clients.
- NGO
ConnectedClients should only be accessed on the server
error.
- Some built-in types not serializing properly.
- NGO
InvalidOperationException
during disconnecting if aLethalNetworkVariable
is used.
InvalidOperationException: Invalid binary data stream
error.
LNetworkMessage
- Simplifies sending/receiving messages between the server and clients by using a single class instead of multiple classes
- Replaces
LethalServerMessage
andLethalClientMessage
LNetworkEvent
- Simplifies sending/receiving events between the server and clients by using a single class instead of multiple classes
- Replaces
LethalServerEvent
andLethalClientEvent
- Added
LNetworkUtils
- Reworked the entire API
- Now uses Unity's new
CustomMessagingManager
to send messages - This allows for vanilla compatibility, though it is not recommended
- Added
LNetworkMessage
- Added
LNetworkEvent
- Now uses Unity's new
- The
LethalClientMessage
andLethalServerMessage
classes- Use
LNetworkMessage
instead
- Use
- The
LethalClientEvent
andLethalServerEvent
classes- Use
LNetworkEvent
instead
- Use
- The
LethalNetworkVariable
class- Currently, there is no replacement for this class. If you need to use it immediately, this class still will work but will receive no updates
ClearSubscriptions
method for messages & events
- Added warning when using incorrect build - only for devs
- Incompatibility with latest (preview) LLL versions
- Reverted Serialization Changes from v2.1.5
- Network Variable ownership ignored when joining a lobby
- Null Variables breaking loading into a server
- Serialization of NetworkObjects/Behaviours
- Should now support collections
- Error when setting a Network Variable's value before joining a lobby.
- NuGet Package Tags
- Actually fixed issues with re-hosting.
- Increased Harmony Patch priority
- Minor internal refactoring.
- Better error messages.
- Issue with Network Variables causing error when re-hosting
- Ability to create network messages and events with a method to run instead of having to subscribe separately.
- Minor internal refactoring.
- Issue with networking Network Variables
- Stack-traces to identifier errors.
- Extensions were not accessible.
- Identifiers were not mod-specific.
- Ability to create Network Variables specific to a Network Object.
[PublicNetworkVariable]
Attribute
- Network Variables
- Ownership
- By default, the server is now the owner.
- Using the
[PublicNetworkVariable]
Attribute, you can allow any client to modify the variable. - Client-owned variables can only be made by creating one specific to a Network Object.
- A great choice is
PlayerControllerB
- A great choice is
- Ownership
- Internal Refactoring
- LethalNetworkVariable.SetOwnership()
- Removed in favor of the newly reworked Network Variable ownership system.
[LethalNetworkProtected]
Attribute- Removed in favor of the newly reworked Network Variable ownership system.
- Errors when re-hosting a server
- Updated NuGet Package License
- Updated Changelog
- Internal GitHub Workflow Shenanigans
- Backend NetworkHandler Rework
- May not be compatible with v1.0.0
- Network Messages
- Network Events
- Network Variables
- Network Utils/Extensions