Commit Graph

152 Commits

Author SHA1 Message Date
vis2k
5002d2d281 NetworkManagerEditor: removed crc, fragmentation, maxpacketsize since it's not needed anymore; NetworkManager: improved comments for those fields 2018-07-18 14:05:30 +02:00
vis2k
a14a03b6d1 NetworkConnection: forgot to remove s_MaxPacketStats 2018-07-18 10:45:17 +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
368543b734 NetworkConnection.IsSequencedQoS/IsReliableQoS/IsUnreliableQoS moved out of NetworkConnection class into UNetwork.cs because it's a helper function used in other places too, and makes NetworkConnection.cs less complex. 2018-07-17 22:28:31 +02:00
vis2k
f57d5ae905 NetworkConnection Send/SendUnreliable/SendByChannel syntax improved 2018-07-17 22:17:31 +02:00
vis2k
38142a6d6f NetworkConnection.m_Writer isn't cached anymore to simplify code 2018-07-17 22:16:09 +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
Lymdun
0bf13c3ea9 No point for ReadSByte() to use reader.ReadByte() with a cast 2018-07-17 19:16:38 +00:00
vis2k
ffab181ea2 Messages: removed Peer messages because they aren't used anymore after removing the Host Migration feature 2018-07-16 21:22:17 +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
225c7955cd NetworkClient.Send/SendUnreliable reuse SendByChannel function 2018-07-16 20:01:20 +02:00
vis2k
0cc23e411b NetworkHash128: fixed missing ) in comment 2018-07-16 15:49:13 +02:00
vis2k
dc10b8f9d6 NetworkHash128 simplified and comments added 2018-07-16 15:24:24 +02:00
vis2k
5a20083536 NetworkServer.s_sync removed because it's not needed anymore 2018-07-15 12:37:24 +02:00
Paul Pacheco
0022da41d4 Merged in paulpach/hlapi-community-edition-lag/conditional (pull request #25)
Simplify authority assignment
2018-07-09 10:30:25 +00:00
Paul Pacheco
2ea1a9ef2d Merged in paulpach/hlapi-community-edition-lag/simpleready (pull request #21)
Make the logic simpler for ensuring the connection is ready
2018-07-03 17:21:07 +00:00
Paul Pacheco
a6b62f1608 Simplify authority assignment 2018-07-03 07:35:09 -05:00
Paul Pacheco
d3f23f7f04 Merged in paulpach/hlapi-community-edition-lag/reset2 (pull request #22)
Properly reset scene gameobjects when we receive OnObjectSpawnScene
2018-06-29 08:44:29 +00:00
vis2k
56a3bf05cd NetworkBehaviour.InvokeCommandDelegate 'IsInstanceOfType' comments added 2018-06-29 10:37:04 +02:00
Paul Pacheco
eff9287236 Simplify command invocation 2018-06-28 22:47:33 -05:00
Paul Pacheco
78d159d7da Properly reset scene gameobjects when we receive OnObjectSpawnScene 2018-06-28 19:05:20 -05:00
Paul Pacheco
8d4f6915d1 Make the logic simpler for ensuring the connection is ready 2018-06-28 08:50:13 -05:00
vis2k
ec7185ad49 Removed spaces 2018-06-28 14:46:19 +02:00
Paul Pacheco
056dc5c0c9 Merged in paulpach/hlapi-community-edition-lag/findlocal (pull request #18)
Simplify finding object
2018-06-28 12:38:59 +00:00
Paul Pacheco
35590bec44 Simpler find local object 2018-06-26 11:23:14 -05:00
Paul Pacheco
df0c183628 Merged in paulpach/hlapi-community-edition-lag/debugbuild2 (pull request #12)
Fixed debug build
2018-06-26 10:13:37 +00:00
vis2k
72ac13e74e NetworkClient.UpdateClients: remove null clients first, then update valid clients. Fixes a bug where if a client was removed, the next one would be skipped. 2018-06-26 12:09:04 +02:00
Paul Pacheco
6b97f04960 Fixed debug build 2018-06-24 09:45:41 -05: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
77057328c8 NetworkWriter.FinishMessage size check added to make sure that it fits into ushort 2018-06-22 09:32:19 +02:00
Paul Pacheco
9af7879da0 simplify fragmentation by using the new WriteBytesAndSize method 2018-06-22 09:32:19 +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
c81c670c95 ConnectionArray: syntax improved to simplify code 2018-06-22 09:32:19 +02:00
vis2k
b7d128ba73 ClientScene: syntax improved to simplify code 2018-06-22 09:32:19 +02:00
vis2k
0329ed787f ChannelBuffer: removed static NetworkWriter caching to simplify code 2018-06-22 09:32:19 +02:00
vis2k
cc9f08e178 LocalClient: removed static message caching 2018-06-22 09:32:19 +02:00
vis2k
efd5c6c1ff NetworkReader/NetworkWriter uses C#'s built in BitConverter for bytes to/from float/double conversion 2018-06-22 09:32:19 +02:00
vis2k
2c80d29350 NetworkReader.ReadString doesn't convert to char[] and then to string anymore, uses Encoding.GetString instead 2018-06-22 09:32:19 +02:00
vis2k
eb65e7fba0 NetworkReader static string buffer caching removed to simplify code 2018-06-22 09:32:19 +02:00
vis2k
458bbc0566 NetworkWriter static string buffer caching removed to simplify code 2018-06-22 09:32:19 +02:00
vis2k
9de07af7c9 NetworkLobbyManager.FindSlot changed to int so it can return '-1' for 'not found', which is more obvious than Byte.MaxValue 2018-06-22 09:32:19 +02:00
vis2k
3ac3790ee7 Removed all [Obsolete] code 2018-06-22 09:32:19 +02:00
vis2k
df67e85e50 NetworkLobbyManager: syntax improved to simplify code 2018-06-22 09:32:19 +02:00
vis2k
b571a60080 NetworkLobbyPlayer: removed pointless 'dirty' flag writing since it's always '1' anyway 2018-06-22 09:32:19 +02:00
vis2k
32d780f02f NetworkManager: syntax improvements to simplify code 2018-06-22 09:32:19 +02:00
vis2k
049a73b5a8 NetworkProximityChecker: syntax improved to simplify code 2018-06-22 09:32:19 +02:00
vis2k
6504349fd9 SyncList: removed Obsolete functions 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
de1cadc709 NetworkScene: syntax improvements to simplify code 2018-06-22 09:32:19 +02:00
vis2k
a9d87b512e NetworkIdentity: removed static NetworkWriter caching to simplify code 2018-06-22 09:32:19 +02:00
vis2k
d8d3ee677e NetworkIdentity: syntax improvements to simplify code 2018-06-22 09:32:19 +02:00
vis2k
ebb0844bcc NetworkConnection: syntax improvements to simplify code 2018-06-22 09:32:19 +02:00
vis2k
5fd74c29ec NetworkClient: no more fixed error buffer size 2018-06-22 09:32:19 +02:00
vis2k
4bc0711a9d NetworkClient: syntax improvements to simplify code 2018-06-22 09:32:19 +02:00
vis2k
8a976f94a2 NetworkBehaviour: syntax improvements to simplify code 2018-06-22 09:32:19 +02:00
vis2k
9e8bde6e81 Messages: syntax improvements, removed some unnecessary casts, removed some unnecessary allocations in structs 2018-06-22 09:32:19 +02:00
vis2k
aff994a1b0 LocalClient: removed static message caching to simplify code and reduce state 2018-06-22 09:32:19 +02:00
vis2k
8a748281de LocalClient: List.AddRange used instead of manually copying all entries 2018-06-22 09:32:19 +02:00
vis2k
9f14fa37f8 ChannelPacket.SendToTransport error checking flow improved for shorter and easier understandable code 2018-06-22 09:32:19 +02:00
vis2k
183d1464d5 ChannelPacket: variables moved to the top of the file 2018-06-22 09:32:19 +02:00
vis2k
798afca9ec ChannelBuffer: removed static message caching to simplify code and reduce state 2018-06-22 09:32:19 +02:00
vis2k
d1e53f5811 NetworkLobbyManager.OnValidate simplified by using Mathf.Clamp 2018-06-22 09:32:19 +02:00
vis2k
0c89e11c9f NetworkLobbyManager.OnValidate simplified by using Mathf.Clamp/Min/Max 2018-06-22 09:32:19 +02:00
vis2k
dd6f47a82d LogFilter: removed redundant log level definitions 2018-06-22 09:32:19 +02:00
vis2k
db4fe1a0f9 NetworkWriter comment improved 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
1f2f874874 NetworkManager: removed static message caching to simplify code and reduce state 2018-06-22 09:32:19 +02:00
vis2k
734db6edfe NetworkLobbyManager: removed static message caching to simplify code and reduce state 2018-06-22 09:32:19 +02:00
vis2k
8e7095262f NetworkClient: removed static message caching to simplify code and reduce state 2018-06-22 09:32:19 +02:00
vis2k
8957af215c NetworkAnimator: removed static message caching to simplify code and reduce state 2018-06-22 09:32:19 +02:00
vis2k
0d175c2844 ClientScene: removed static message caching to simplify code and reduce state 2018-06-22 09:32:19 +02:00
vis2k
c64e849b1b NetworkProximityChecker: replaced SetVis with GetComponentsInChildren 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
b8a289ba49 ChannelBuffer MaxBufferedPackets log message fixed, logs proper max value now 2018-06-12 22:32:24 +02:00
vis2k
d976add1f8 NetworkIdentity.OnStartClient: isClient is set to true without checking if it's false 2018-06-12 22:32:04 +02:00
vis2k
3fe7e56ff5 NetworkIdentity.isServer simplified 2018-06-12 22:31:00 +02:00
vis2k
88a68d8af4 ChannelBuffer.MaxPendingPacketCount redundant option removed because there is already MaxBufferedPackets. Fixeds a bug where setting MaxBufferedPackets in NetworkManager would not be applied to the channels, always leaving them with at max 16 buffered packets and causing issues under load. 2018-06-08 16:31:31 +02:00
vis2k
7fd77a0e4b NetworkWriter.Position type changed from 'short' to 'int' to fix a bug where writing >32kb into NetworkWriter would result in negative .Position 2018-06-08 15:30:54 +02:00
vis2k
de27baa1b4 Applied HLAPI 2018.1 downwards compatible improvements 2018-06-08 14:23:59 +02:00
vis2k
b9e5f77a47 NetworkConnection.Disconnect doesn't clear the address so that it's still available in NetworkManager.OnServerDisconnect 2018-06-08 12:20:30 +02:00
vis2k
d1ff029cc9 Fixed client scene switching/loading bugs where messages were processed while a scene load was in progress, hence losing all the processed data once the scene was loaded, causing all kinds of state errors. 2018-06-08 12:18:56 +02:00
vis2k
877c5f6aa9 'Did not find target for sync message' warning improved with note that this might be completely normal 2018-06-08 12:06:04 +02:00
vis2k
5909cc6937 NetworkClient.IsValidIPV6 fixed 2018-06-08 12:04:37 +02:00
vis2k
04a4435a58 ObjectSpawnFinishedMessage state uses byte instead of uint to save bandwidth (it's always 0 or 1 anyway) 2018-06-08 12:03:22 +02:00
vis2k
b8d50da2fd ObjectSpawnMessage always read order changed and it always reads rotation now because it's always written too. 2018-06-08 11:56:00 +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
c41ca4d824 ConnectionArray list index access bug fixed where index == count would be allowed 2018-06-08 11:47:36 +02:00
vis2k
e505cbd5f4 Fixed: ServerDisconnected due to error: Timeout. Also improved log messages to make more sense. 2018-06-08 11:02:24 +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
2c31c78602 NetworkManager.OnValidate: checks if channel[0] is Reliable and channel[1] is Unreliable because Channels.DefaultReliable is 0 and Unreliable is 1. The code assumes those channels to be there. 2018-06-08 10:48:29 +02:00
vis2k
9eabd22c19 NetworkConnection: IsSequencedQoS, IsReliableQoS made public for external use; IsUnreliableQoS added 2018-06-08 10:47:39 +02:00
vis2k
9980e5e713 OnSerializeSafely & OnDeserializeSafely, independent of sibling components and with detailed errors to avoid out of range exceptions if any one component failed or didn't read/write the expected amount 2018-06-08 10:45:24 +02:00
vis2k
a67508f624 [SyncVar] limit increased from 32 to 64 per component 2018-06-07 15:50:31 +02:00