Commit Graph

  • bbfa34a150 Add some comments to better understand what the weaver is generating Paul Pacheco 2018-07-25 10:40:46 -0500
  • d64d4535fd Simplify generated serializer Paul Pacheco 2018-07-25 10:01:40 -0500
  • d7cf9dc95c AddPlayerMessage, RemovePlayerMessage read and write playerControllerId via packet int to save bandwidth and for consistency with OwnerMessage, which does it too. This is the best way to save playerControllerId bandwidth. The type should have been 'byte' everywhere, but changing it now would break compatibility with the original HLAPI. vis2k 2018-07-24 10:19:09 +0200
  • 97af671924 Removed LobbyReadyToBeginMessage because it wasn't used anymore vis2k 2018-07-24 10:03:39 +0200
  • 22729edf6e
    Merge pull request #5 from paulpach/isdirty vis2k 2018-07-23 22:11:07 +0200
  • ec92854058 Separate dirtiness and network channel. These are independent of each other Paul Pacheco 2018-07-23 09:23:31 -0500
  • 5cae8f0ef2 Merge branch 'improvements' into features Paul Pacheco 2018-07-22 08:32:15 -0500
  • 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. improvements-2018-07-22 vis2k 2018-07-22 12:52:37 +0200
  • 53bf414ff7 NetworkIdentity.UNetSerializeAllVars removed. NetworkServer.SendSpawnMessage uses OnSerializeAllSafely instead. vis2k 2018-07-22 12:02:58 +0200
  • 2b06bcf5c0 NetworkIdentity: OnSerializeAllSafely/OnSerializeSafely/OnDeserializeAllSafely/OnDeserializeSafely (split into 'all' and 'one' components functions) vis2k 2018-07-22 11:34:39 +0200
  • 8c7fbcaf4c Merge branch 'improvements' into features Paul Pacheco 2018-07-21 12:00:20 -0500
  • 910f01f837 Deploy artifacts to github releases Paul Pacheco 2018-07-21 11:56:44 -0500
  • 9c8b97e0d6 Add appveyor build script for fixes Paul Pacheco 2018-07-21 11:47:10 -0500
  • da9c96d3a2 Flush when starting or finishing a message. Paul Pacheco 2018-07-21 09:46:24 -0500
  • 9227eacbbf NetworkIdentity.UNetUpdate: component serialization size check moved to OnSerializeSafely so that it happens for both calling functions (UNetSerializeAllVars and UNetUpdate). Also simplifies UNetUpdate code and removes dependency on NetworkWriter.Position. vis2k 2018-07-21 14:41:43 +0200
  • b76680dfda NetworkIdentity.UNetUpdate: 'is any component with this channel dirty' code simplified vis2k 2018-07-21 14:34:43 +0200
  • 8f1e37b12e
    Update appveyor badges for github project Paul Pacheco 2018-07-21 08:29:39 -0500
  • 9a3cb91ff9
    Update appveyor link for github project Paul Pacheco 2018-07-21 08:27:04 -0500
  • fa89593ccf
    Updated badges for github project Paul Pacheco 2018-07-21 08:24:38 -0500
  • f75ea34476 Use Bit-based Reader/Writer to avoid using whole bytes for nothing Lymdun 2018-07-20 22:49:17 +0200
  • ee202a156b Merge branch 'improvements' into features Paul Pacheco 2018-07-20 15:29:04 -0500
  • 250ea5c1f4
    Merge pull request #2 from paulpach/artifacts Paul Pacheco 2018-07-20 15:30:19 -0500
  • 567b048a24 Zip up the output folder Paul Pacheco 2018-07-20 15:22:09 -0500
  • 0c0a9450da Link branches to github instead of bitbucket Paul Pacheco 2018-07-20 14:13:42 -0500
  • 6c15378f90 Link branches to github instead of bitbucket Paul Pacheco 2018-07-20 14:13:42 -0500
  • fef99d96c5
    Link branches to github instead of bitbucket Paul Pacheco 2018-07-20 14:13:42 -0500
  • 72d2d3387a Merge branch 'improvements' into features Paul Pacheco 2018-07-20 12:45:03 -0500
  • 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. vis2k 2018-07-20 16:37:05 +0200
  • e0a2a373ed Syntax vis2k 2018-07-20 16:06:37 +0200
  • 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. vis2k 2018-07-20 15:25:49 +0200
  • dbb11d863f 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.) fixes-2018-07-22 vis2k 2018-07-20 15:24:24 +0200
  • 7c4eefa5f9 NetworkServer.SendSpawnMessage: removed unnecessary writer.Position > 0 check vis2k 2018-07-20 12:57:15 +0200
  • 0f2b4db3aa Added unit test for NetworkWriter.ToArray() behaviour, because it's different from BinaryWriter.ToArray() behaviour. vis2k 2018-07-20 12:49:44 +0200
  • fc4080535b SendWriter functions removed to avoid redundancy with SendBytes. Simply call SendBytes(writer.ToArray()) instead. vis2k 2018-07-20 12:42:39 +0200
  • 2e9dc82e0e Removed numBytes parameter from all Send/SendBytes functions. Uses bytes.Length instead. vis2k 2018-07-20 12:29:51 +0200
  • e804fd71b0 NetworkTransform: removed NetworkWriter caching to simplify code and reduce state. vis2k 2018-07-20 11:50:30 +0200
  • 38ca71ffde NetworkTransformChild: removed NetworkWriter caching to simplify code and reduce state. vis2k 2018-07-20 11:48:33 +0200
  • 9852923982 LocalConnection.Send/SendUnreliable reuse SendByChannel function vis2k 2018-07-20 11:35:20 +0200
  • daaa9f6d17 NetworkDiscovery.OnGUI improved. Uses GUILayout now instead of manually spacing y. vis2k 2018-07-20 11:16:00 +0200
  • 565e5560f9 NetworkManagerHUD improved: OnGUI uses GUILayout instead of manually spacing y. Update hotkeys removed because they didn't really offer anything of value. [SerializeField] removed from public fields because it's redundant. vis2k 2018-07-20 11:04:40 +0200
  • aac0652a5f Accidentally removed NetworkManagerEditor before vis2k 2018-07-20 10:51:12 +0200
  • 06f0967eda MsgType: removed unused messages vis2k 2018-07-20 00:57:32 +0200
  • ee2d0373eb UNetwork.MsgType converted to Enum. Easier + faster string conversion and more flexible code. vis2k 2018-07-19 21:03:00 +0200
  • 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. vis2k 2018-07-19 20:48:37 +0200
  • 00b1bc119d NetworkConnection: removed m_MessageInfo caching to simplify code and reduce state vis2k 2018-07-19 20:29:41 +0200
  • 0e4f905a72 NetworkConnection.InvokeHandler error messages are now shown if handler not found for msgType instead of failing silently vis2k 2018-07-19 20:28:29 +0200
  • c01b48f582 Removed NetworkServiceInitialize analytics code. vis2k 2018-07-19 18:38:26 +0200
  • c5263ed7ac Merged in paulpach/hlapi-community-edition/norandombytes (pull request #38) Paul Pacheco 2018-07-19 16:14:16 +0000
  • 2fb9c71414 Don't allow end user to send random bytes Paul Pacheco 2018-07-19 11:06:25 -0500
  • 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. vis2k 2018-07-19 17:45:47 +0200
  • 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. vis2k 2018-07-19 17:43:37 +0200
  • 0425e896aa Removed NetworkLobbyManager because there's no reason why this should be in here. Unity has a NetworkLobby asset for lobby functionality, and that's how it should be. Hard coding all kinds of different classes that inherit from NetworkManager is not good for anyone. People that need it might as well use the 'fixes-only' version. vis2k 2018-07-19 17:16:18 +0200
  • 84360aa3d0 Merge branch 'improvements' into features Paul Pacheco 2018-07-19 08:46:53 -0500
  • db4c19e3e6 PlayerController.kMaxLocalPlayers removed because it wasn't used anywhere vis2k 2018-07-19 12:06:08 +0200
  • 551a8928d6 NetworkManagerHUD: UnityEngine.Application.X changed to Application.X vis2k 2018-07-19 12:01:46 +0200
  • 498433e124 Network Simulator support removed because the feature was confirmed to be broken by UNET Developers, it never worked vis2k 2018-07-19 11:48:48 +0200
  • fff714e1ec NetworkBehaviour.GetInvokerForHash parameter syntax simplified vis2k 2018-07-19 11:38:39 +0200
  • 5c0cc5b99c Messages: removed OverrideTransformMessages because it wasn't used anywhere vis2k 2018-07-19 11:36:57 +0200
  • 5ce07ac0a4 LogFilter.Fatal level removed because it wasn't used anywhere and Debug/Warn/Error are more than enough anyway. vis2k 2018-07-19 11:34:49 +0200
  • 56278f5a84 Removed ConnectionArray class because it wasn't used anywhere. vis2k 2018-07-19 11:31:26 +0200
  • bdbafacbcb ClientScene: removed GetPlayerController function because it wasn't used anywhere and it was internal, hence couldn't be used in any project either. vis2k 2018-07-19 11:31:00 +0200
  • 545e369216 Merged in Lymdun/hlapi-community-edition-1/Lymdun/no-point-for-readsbyte-to-use-readerread-1531854999252 (pull request #34) Lymdun 2018-07-19 08:28:08 +0000
  • 7cdd0dc32c Merged in paulpach/hlapi-community-edition/warnings (pull request #35) Paul Pacheco 2018-07-18 13:53:29 +0000
  • 658f733390 Clean warnings Paul Pacheco 2018-07-17 20:46:29 -0500
  • 5002d2d281 NetworkManagerEditor: removed crc, fragmentation, maxpacketsize since it's not needed anymore; NetworkManager: improved comments for those fields vis2k 2018-07-18 10:49:19 +0200
  • a14a03b6d1 NetworkConnection: forgot to remove s_MaxPacketStats vis2k 2018-07-18 10:45:17 +0200
  • 80b4f78618 Update links to fixes branch Paul Pacheco 2018-07-18 00:48:41 +0000
  • df4daeaa8d Update links to fixes branch Paul Pacheco 2018-07-18 00:48:41 +0000
  • a3157b1ae0 Merge branch 'Improvements' into features Paul Pacheco 2018-07-17 18:37:26 -0500
  • 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. vis2k 2018-07-17 23:23:06 +0200
  • 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. vis2k 2018-07-17 22:28:31 +0200
  • f57d5ae905 NetworkConnection Send/SendUnreliable/SendByChannel syntax improved vis2k 2018-07-17 22:17:31 +0200
  • 38142a6d6f NetworkConnection.m_Writer isn't cached anymore to simplify code vis2k 2018-07-17 22:16:09 +0200
  • 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. vis2k 2018-07-17 22:06:26 +0200
  • 0bf13c3ea9 No point for ReadSByte() to use reader.ReadByte() with a cast Lymdun 2018-07-17 19:16:38 +0000
  • e74499231c Link to the branches Paul Pacheco 2018-07-17 13:11:33 +0000
  • 93aceeb937 Merge branch 'Improvements' into features Paul Pacheco 2018-07-17 07:31:45 -0500
  • 869896495a Merged in paulpach/hlapi-community-edition/unittest (pull request #33) Paul Pacheco 2018-07-17 12:27:41 +0000
  • bb605930ea Test packed UInt64 Paul Pacheco 2018-07-17 07:22:46 -0500
  • 6581497e0c Test WritePackedUInt32 Paul Pacheco 2018-07-17 07:15:14 -0500
  • 0ee0975695 Display badges for the Improvement branch Paul Pacheco 2018-07-16 23:01:10 +0000
  • c85154955f Display badges specifically for features branch Paul Pacheco 2018-07-16 22:53:41 +0000
  • b7eabcc8c3 Document the project in the readme file Paul Pacheco 2018-07-15 21:06:02 +0000
  • 5e06c5994a Document the project in the readme file Paul Pacheco 2018-07-15 21:06:02 +0000
  • f71c6326df Merge remote-tracking branch 'upstream/Improvements' into features Paul Pacheco 2018-07-16 17:14:40 -0500
  • ffab181ea2 Messages: removed Peer messages because they aren't used anymore after removing the Host Migration feature vis2k 2018-07-16 21:22:17 +0200
  • 7c3ce78cb4 NetworkServer.SendToReady/SendUnreliableToReady reuse SendByChannelToReady function; also uses consistent null checks and return values for all now. vis2k 2018-07-16 20:17:20 +0200
  • 6f667ee2c8 NetworkServer.SendToAll/SendUnreliableToAll reuse SendByChannelToAll function vis2k 2018-07-16 20:07:26 +0200
  • 225c7955cd NetworkClient.Send/SendUnreliable reuse SendByChannel function vis2k 2018-07-16 20:01:20 +0200
  • 8c9add246e Merged in paulpach/hlapi-community-edition (pull request #30) Paul Pacheco 2018-07-16 15:22:16 +0000
  • 99784f58d9 NetworkHash128 tests added vis2k 2018-07-16 15:50:55 +0200
  • 0cc23e411b NetworkHash128: fixed missing ) in comment vis2k 2018-07-16 15:49:13 +0200
  • 6db02511cd NetworkHash128 tests added vis2k 2018-07-16 15:25:56 +0200
  • dc10b8f9d6 NetworkHash128 simplified and comments added vis2k 2018-07-16 15:24:24 +0200
  • 658d5a54b0 Document the project in the readme file Paul Pacheco 2018-07-15 21:06:02 +0000
  • ab54e7a0ba MIT License added vis2k 2018-07-16 11:43:22 +0200
  • 847033b05a MIT License added vis2k 2018-07-16 11:43:22 +0200
  • 6b14a15f93 MIT License added vis2k 2018-07-16 11:43:22 +0200
  • b489506352 Merged in paulpach/hlapi-community-edition/coverage (pull request #29) Paul Pacheco 2018-07-16 08:59:22 +0000
  • e03c6c0dd1 Add code coverage report Paul Pacheco 2018-07-15 14:05:31 -0500