vis2k
|
d36b6d926d
|
NetworkClient/NetworkServer pass exact message to data handlers instead of passing the whole buffer with a 'receivedSize' parameter. Prepares for the header 'size' removal to save bandwidth.
|
2018-08-07 14:35:25 +02:00 |
|
vis2k
|
54d5ede3e7
|
UNetwork.Protocol handles message packing and unpacking in one place now, so that we don't construct/deconstruct size/type headers manually everywhere. This way we can change the header any time without worrying about missing it somewhere.
|
2018-08-06 18:50:11 +02:00 |
|
vis2k
|
9fb8b071c6
|
LocalConnections: removed redundant functions. no need to overwrite SendByChannel, as NetworkConnection.SendByChannel calls SendBytes anyway. Also removed NetworkServer.InvokeHandler since it's not needed anymore. InvokeBytes is the way to go.
|
2018-08-06 12:36:02 +02:00 |
|
vis2k
|
0ed342ecb8
|
NetworkConnection.SendBytes is now protected so that outside classes can't send random bytes to the client anymore. This is better & safer design and allows us to remove the redundant SendBytesToReady function
|
2018-07-26 21:09:59 +02:00 |
|
vis2k
|
75351927c1
|
Weaver Command code doesn't manually construct the message anymore. The NetworkWriter is now passed to NetworkBehaviour.SendCommandInternal, where the message is properly constructed. Reduces depencies on NetworkConnection.SendBytes and avoids expensive GetComponent calls that the Weaver previously generated.
|
2018-07-26 14:19:29 +02:00 |
|
vis2k
|
9e4f074bca
|
NetworkIdentity.OnSerializeAll/OnDeserializeAll uses a dirtyComponents bitmask so only the dirty ones are serialized and send over the network. NetworkIdentity.UNetUpdate uses new OnSerializeAll function. Previously UNetUpdate would serialize all components for all channels if any of the components for a given channelId was dirty. For 2 channels, UNetUpdate would serialize all components twice, for 3 channels it would serialize all components three times, etc. And instead of only serializing the dirty components, any one dirty component would cause serialization of all components in that channel. So for example, NetworkTime synchronization would trigger OnSerialize to be called for movement, health, etc. too. Not serializing everything for each channel should cut Bandwidth in half for most projects that use the regular Reliable/Unreliable channels. Only serializing the actual dirty components should reduce bandwidth even further.
|
2018-07-22 12:52:42 +02:00 |
|
vis2k
|
53bf414ff7
|
NetworkIdentity.UNetSerializeAllVars removed. NetworkServer.SendSpawnMessage uses OnSerializeAllSafely instead.
|
2018-07-22 12:52:42 +02:00 |
|
vis2k
|
2dd907fb28
|
MsgType.ObjectSpawn renamed to SpawnPrefab, ObjectSpawnScene renamed to SpawnSceneObject. Messages.ObjectSpawnMessage renamed to SpawnPrefabMessage, etc. to make it perfectly clear what the messages do in order to avoid any confusion.
|
2018-07-20 16:37:05 +02:00 |
|
vis2k
|
93309d563a
|
NetworkServer.SendSpawnMessage: fixed a bug where the server would send the spawn packet with the wrong MsgType (ObjectSpawn instead of ObjectSpawnScene) for cases where NetworkManager.OnServerAddPlayer was overwritten to spawn a player object from the scene, instead of from a prefab, resulting in Client deserializaton NetworkReader bugs (failed to read past end of stream, etc.). Also added more comments to explain the control flow of the function.
|
2018-07-20 15:25:49 +02:00 |
|
vis2k
|
7c4eefa5f9
|
NetworkServer.SendSpawnMessage: removed unnecessary writer.Position > 0 check
|
2018-07-20 12:57:15 +02:00 |
|
vis2k
|
fc4080535b
|
SendWriter functions removed to avoid redundancy with SendBytes. Simply call SendBytes(writer.ToArray()) instead.
|
2018-07-20 12:42:39 +02:00 |
|
vis2k
|
2e9dc82e0e
|
Removed numBytes parameter from all Send/SendBytes functions. Uses bytes.Length instead.
|
2018-07-20 12:29:51 +02:00 |
|
vis2k
|
ee2d0373eb
|
UNetwork.MsgType converted to Enum. Easier + faster string conversion and more flexible code.
|
2018-07-19 21:03:00 +02:00 |
|
vis2k
|
7cea90460f
|
NetworkMessageHandlers class removed because it was just a wrapper around a Dictionary with the added bonus of not allowing us to overwrite internal message handlers from the outside, which sucks. NetworkClient, NetworkServer, NetworkConnection all use a simple Dictionary now.
|
2018-07-19 20:48:37 +02:00 |
|
Paul Pacheco
|
c5263ed7ac
|
Merged in paulpach/hlapi-community-edition/norandombytes (pull request #38)
Don't allow end user to send random bytes
|
2018-07-19 16:14:16 +00:00 |
|
Paul Pacheco
|
2fb9c71414
|
Don't allow end user to send random bytes
|
2018-07-19 11:09:05 -05:00 |
|
vis2k
|
ea3634b1e4
|
Relay feature removed because Unity pretty much abandoned it and hosting games on people's home computers never ends well anyway. People that need it might as well use the 'fixes-only' version.
|
2018-07-19 17:46:47 +02:00 |
|
vis2k
|
27f5717b70
|
Matchmaking feature removed because Unity pretty much abandoned it and plans to replace it with a solution on Google Cloud. People that need it might as well use the 'fixes-only' version.
|
2018-07-19 17:46:42 +02:00 |
|
vis2k
|
89d45e1e1b
|
ChannelBuffer/ChannelPacket/PacketStat/GetStatsInOut/ChannelOption removed because ChanneLBuffer's job was to: buffer packets and only send them every now and then to save bandwidth, to handle fragmentation, and to handle resending reliable messages. NetworkTransport already takes care of all of that in the newer versions, e.g. with ConnectionConfig.SendDelay, so none of it is needed anymore.
|
2018-07-17 23:23:06 +02:00 |
|
vis2k
|
ffa6e4e2ea
|
NetworkCRC removed because all it did was compare each script's channelIds by sending all the script names over the network. This uses unnecessary bandwidth, causes unnecessary code complexity and makes no real sense because there's virtually no reason why anyone would modify a script's channel after building the server/client.
|
2018-07-17 22:06:26 +02:00 |
|
vis2k
|
7c3ce78cb4
|
NetworkServer.SendToReady/SendUnreliableToReady reuse SendByChannelToReady function; also uses consistent null checks and return values for all now.
|
2018-07-16 20:17:20 +02:00 |
|
vis2k
|
6f667ee2c8
|
NetworkServer.SendToAll/SendUnreliableToAll reuse SendByChannelToAll function
|
2018-07-16 20:10:43 +02:00 |
|
vis2k
|
5a20083536
|
NetworkServer.s_sync removed because it's not needed anymore
|
2018-07-15 12:37:24 +02:00 |
|
vis2k
|
59cc34eaa8
|
NetworkServer made entirely static, there was no real reason to have an instance since only one was active anyway. Reduces complexity, simplifies code.
|
2018-06-22 20:34:35 +02:00 |
|
vis2k
|
c86f2618a8
|
NetworkServerSimple removed again to greatly reduce complexity.
|
2018-06-22 20:01:27 +02:00 |
|
vis2k
|
11845a9b04
|
NetworkServer.InternalUpdate always calls UpdateConnections, so we can remove it from NetworkServerSimple.Update and we can remove the dontListen check.
|
2018-06-22 14:08:32 +02:00 |
|
vis2k
|
3a3f4267d5
|
NetworkServer.localConnections and localConnectionsFakeList replaced with .localConnection. The old lists were only for downwards compatibility, HLAPI didn't even use local connection lists anymore - it always contained only the m_localConnection entry.
|
2018-06-22 12:14:41 +02:00 |
|
vis2k
|
3047539600
|
Removed UNET_HOST_MIGRATION code (wasn't stable and hosting on other people's computers never works well anyway)
|
2018-06-22 09:32:19 +02:00 |
|
vis2k
|
0a34efbaf4
|
NetworkReader/Writer use C#'s built in BinaryReader/Writer; removed NetworkBuffer; removed redundant .AsArray()/AsArraySegment() functions; removed unnecessary constructors
|
2018-06-22 09:32:19 +02:00 |
|
vis2k
|
3ac3790ee7
|
Removed all [Obsolete] code
|
2018-06-22 09:32:19 +02:00 |
|
vis2k
|
7756f75ff1
|
NetworkServer: syntax improved to simplify code
|
2018-06-22 09:32:19 +02:00 |
|
vis2k
|
62399b4267
|
NetworkServer: removed removeList caching to simplify code
|
2018-06-22 09:32:19 +02:00 |
|
vis2k
|
d8dc0b829b
|
NetworkServer: removed static message caching to simplify code and reduce state
|
2018-06-22 09:32:19 +02:00 |
|
vis2k
|
ae611cf82c
|
NetworkServer.DestroyPlayersForConnection: removed unnecessary 'empty player list given to NetworkServer' warning that might happen while players are still in a lobby without entering the game world yet
|
2018-06-13 11:24:41 +02:00 |
|
vis2k
|
be9efea78c
|
ChannelBuffer, NetworkServer: consistent packet max size check with > UInt16.MaxValue (=64kb) instead of short.MaxValue which would limit packet size to 32kb; also uses consistent '<' check now instead of '<=' sometimes
|
2018-06-12 22:35:36 +02:00 |
|
vis2k
|
d1b8181db1
|
Messages: ErrorMessage value changed from int to byte because that's what NetworkServer actually uses. Also saves bandwidth.
|
2018-06-08 11:52:39 +02:00 |
|
vis2k
|
d4eb84182d
|
Fix for sceneId mismatch caused by OnPostProcess FindObjectsOfType<NetworkIdentity> order not being guaranteed.
|
2018-06-08 10:59:32 +02:00 |
|
vis2k
|
1e77e191b3
|
HLAPI 2017.4 (from https://bitbucket.org/Unity-Technologies/networking/src 2017.3, which is the same for 2017.4)
|
2018-06-07 15:41:08 +02:00 |
|