├── IPv4 ├── GameClient │ ├── GameClient.sln │ └── GameClient │ │ ├── App.config │ │ ├── GameClient.csproj │ │ ├── Lidgren │ │ ├── Encryption │ │ │ ├── NetAESEncryption.cs │ │ │ ├── NetBlockEncryptionBase.cs │ │ │ ├── NetCryptoProviderBase.cs │ │ │ ├── NetDESEncryption.cs │ │ │ ├── NetEncryption.cs │ │ │ ├── NetRC2Encryption.cs │ │ │ ├── NetTripleDESEncryption.cs │ │ │ ├── NetXorEncryption.cs │ │ │ └── NetXteaEncryption.cs │ │ ├── NamespaceDoc.cs │ │ ├── NetBigInteger.cs │ │ ├── NetBitVector.cs │ │ ├── NetBitWriter.cs │ │ ├── NetBuffer.Peek.cs │ │ ├── NetBuffer.Read.Reflection.cs │ │ ├── NetBuffer.Read.cs │ │ ├── NetBuffer.Write.Reflection.cs │ │ ├── NetBuffer.Write.cs │ │ ├── NetBuffer.cs │ │ ├── NetClient.cs │ │ ├── NetConnection.Handshake.cs │ │ ├── NetConnection.Latency.cs │ │ ├── NetConnection.MTU.cs │ │ ├── NetConnection.cs │ │ ├── NetConnectionStatistics.cs │ │ ├── NetConnectionStatus.cs │ │ ├── NetConstants.cs │ │ ├── NetDeliveryMethod.cs │ │ ├── NetException.cs │ │ ├── NetFragmentationHelper.cs │ │ ├── NetFragmentationInfo.cs │ │ ├── NetIncomingMessage.cs │ │ ├── NetIncomingMessageType.cs │ │ ├── NetMessageType.cs │ │ ├── NetNatIntroduction.cs │ │ ├── NetOutgoingMessage.cs │ │ ├── NetPeer.Discovery.cs │ │ ├── NetPeer.Fragmentation.cs │ │ ├── NetPeer.Internal.cs │ │ ├── NetPeer.LatencySimulation.cs │ │ ├── NetPeer.Logging.cs │ │ ├── NetPeer.MessagePools.cs │ │ ├── NetPeer.Send.cs │ │ ├── NetPeer.cs │ │ ├── NetPeerConfiguration.cs │ │ ├── NetPeerStatistics.cs │ │ ├── NetPeerStatus.cs │ │ ├── NetQueue.cs │ │ ├── NetRandom.Implementations.cs │ │ ├── NetRandom.cs │ │ ├── NetRandomSeed.cs │ │ ├── NetReceiverChannelBase.cs │ │ ├── NetReliableOrderedReceiver.cs │ │ ├── NetReliableSenderChannel.cs │ │ ├── NetReliableSequencedReceiver.cs │ │ ├── NetReliableUnorderedReceiver.cs │ │ ├── NetSRP.cs │ │ ├── NetSendResult.cs │ │ ├── NetSenderChannelBase.cs │ │ ├── NetServer.cs │ │ ├── NetStoredReliableMessage.cs │ │ ├── NetTime.cs │ │ ├── NetTuple.cs │ │ ├── NetUPnP.cs │ │ ├── NetUnreliableSenderChannel.cs │ │ ├── NetUnreliableSequencedReceiver.cs │ │ ├── NetUnreliableUnorderedReceiver.cs │ │ └── NetUtility.cs │ │ ├── OrgProgram.cs │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ └── TheProgram.cs ├── GameServer │ ├── GameServer.sln │ ├── GameServer │ │ ├── App.config │ │ ├── GameServer.csproj │ │ ├── Lidgren │ │ │ ├── Encryption │ │ │ │ ├── NetAESEncryption.cs │ │ │ │ ├── NetBlockEncryptionBase.cs │ │ │ │ ├── NetCryptoProviderBase.cs │ │ │ │ ├── NetDESEncryption.cs │ │ │ │ ├── NetEncryption.cs │ │ │ │ ├── NetRC2Encryption.cs │ │ │ │ ├── NetTripleDESEncryption.cs │ │ │ │ ├── NetXorEncryption.cs │ │ │ │ └── NetXteaEncryption.cs │ │ │ ├── NamespaceDoc.cs │ │ │ ├── NetBigInteger.cs │ │ │ ├── NetBitVector.cs │ │ │ ├── NetBitWriter.cs │ │ │ ├── NetBuffer.Peek.cs │ │ │ ├── NetBuffer.Read.Reflection.cs │ │ │ ├── NetBuffer.Read.cs │ │ │ ├── NetBuffer.Write.Reflection.cs │ │ │ ├── NetBuffer.Write.cs │ │ │ ├── NetBuffer.cs │ │ │ ├── NetClient.cs │ │ │ ├── NetConnection.Handshake.cs │ │ │ ├── NetConnection.Latency.cs │ │ │ ├── NetConnection.MTU.cs │ │ │ ├── NetConnection.cs │ │ │ ├── NetConnectionStatistics.cs │ │ │ ├── NetConnectionStatus.cs │ │ │ ├── NetConstants.cs │ │ │ ├── NetDeliveryMethod.cs │ │ │ ├── NetException.cs │ │ │ ├── NetFragmentationHelper.cs │ │ │ ├── NetFragmentationInfo.cs │ │ │ ├── NetIncomingMessage.cs │ │ │ ├── NetIncomingMessageType.cs │ │ │ ├── NetMessageType.cs │ │ │ ├── NetNatIntroduction.cs │ │ │ ├── NetOutgoingMessage.cs │ │ │ ├── NetPeer.Discovery.cs │ │ │ ├── NetPeer.Fragmentation.cs │ │ │ ├── NetPeer.Internal.cs │ │ │ ├── NetPeer.LatencySimulation.cs │ │ │ ├── NetPeer.Logging.cs │ │ │ ├── NetPeer.MessagePools.cs │ │ │ ├── NetPeer.Send.cs │ │ │ ├── NetPeer.cs │ │ │ ├── NetPeerConfiguration.cs │ │ │ ├── NetPeerStatistics.cs │ │ │ ├── NetPeerStatus.cs │ │ │ ├── NetQueue.cs │ │ │ ├── NetRandom.Implementations.cs │ │ │ ├── NetRandom.cs │ │ │ ├── NetRandomSeed.cs │ │ │ ├── NetReceiverChannelBase.cs │ │ │ ├── NetReliableOrderedReceiver.cs │ │ │ ├── NetReliableSenderChannel.cs │ │ │ ├── NetReliableSequencedReceiver.cs │ │ │ ├── NetReliableUnorderedReceiver.cs │ │ │ ├── NetSRP.cs │ │ │ ├── NetSendResult.cs │ │ │ ├── NetSenderChannelBase.cs │ │ │ ├── NetServer.cs │ │ │ ├── NetStoredReliableMessage.cs │ │ │ ├── NetTime.cs │ │ │ ├── NetTuple.cs │ │ │ ├── NetUPnP.cs │ │ │ ├── NetUnreliableSenderChannel.cs │ │ │ ├── NetUnreliableSequencedReceiver.cs │ │ │ ├── NetUnreliableUnorderedReceiver.cs │ │ │ └── NetUtility.cs │ │ ├── LogManager.cs │ │ ├── OrgProgram.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── TheProgram.cs │ │ └── packages.config │ └── packages │ │ ├── log4net.2.0.5 │ │ ├── lib │ │ │ ├── net10-full │ │ │ │ ├── log4net.dll │ │ │ │ └── log4net.xml │ │ │ ├── net11-full │ │ │ │ ├── log4net.dll │ │ │ │ └── log4net.xml │ │ │ ├── net20-full │ │ │ │ ├── log4net.dll │ │ │ │ └── log4net.xml │ │ │ ├── net35-client │ │ │ │ ├── log4net.dll │ │ │ │ └── log4net.xml │ │ │ ├── net35-full │ │ │ │ ├── log4net.dll │ │ │ │ └── log4net.xml │ │ │ ├── net40-client │ │ │ │ ├── log4net.dll │ │ │ │ └── log4net.xml │ │ │ ├── net40-full │ │ │ │ ├── log4net.dll │ │ │ │ └── log4net.xml │ │ │ └── net45-full │ │ │ │ ├── log4net.dll │ │ │ │ └── log4net.xml │ │ └── log4net.2.0.5.nupkg │ │ └── repositories.config ├── GameUnity │ ├── Assets │ │ ├── Build.meta │ │ ├── Build │ │ │ ├── androidDeploy.bat │ │ │ └── androidDeploy.bat.meta │ │ ├── Command.meta │ │ ├── Command │ │ │ ├── AndroidBuild.bat │ │ │ ├── AndroidBuild.bat.meta │ │ │ ├── IOSBuild.sh │ │ │ └── IOSBuild.sh.meta │ │ ├── Editor.meta │ │ ├── Editor │ │ │ ├── CommandLineReader.cs │ │ │ ├── CommandLineReader.cs.meta │ │ │ ├── PerformBuild.cs │ │ │ └── PerformBuild.cs.meta │ │ ├── Lidgren.meta │ │ ├── Lidgren │ │ │ ├── Encryption.meta │ │ │ ├── Encryption │ │ │ │ ├── NetAESEncryption.cs │ │ │ │ ├── NetAESEncryption.cs.meta │ │ │ │ ├── NetBlockEncryptionBase.cs │ │ │ │ ├── NetBlockEncryptionBase.cs.meta │ │ │ │ ├── NetCryptoProviderBase.cs │ │ │ │ ├── NetCryptoProviderBase.cs.meta │ │ │ │ ├── NetDESEncryption.cs │ │ │ │ ├── NetDESEncryption.cs.meta │ │ │ │ ├── NetEncryption.cs │ │ │ │ ├── NetEncryption.cs.meta │ │ │ │ ├── NetRC2Encryption.cs │ │ │ │ ├── NetRC2Encryption.cs.meta │ │ │ │ ├── NetTripleDESEncryption.cs │ │ │ │ ├── NetTripleDESEncryption.cs.meta │ │ │ │ ├── NetXorEncryption.cs │ │ │ │ ├── NetXorEncryption.cs.meta │ │ │ │ ├── NetXteaEncryption.cs │ │ │ │ └── NetXteaEncryption.cs.meta │ │ │ ├── NamespaceDoc.cs │ │ │ ├── NamespaceDoc.cs.meta │ │ │ ├── NetBigInteger.cs │ │ │ ├── NetBigInteger.cs.meta │ │ │ ├── NetBitVector.cs │ │ │ ├── NetBitVector.cs.meta │ │ │ ├── NetBitWriter.cs │ │ │ ├── NetBitWriter.cs.meta │ │ │ ├── NetBuffer.Peek.cs │ │ │ ├── NetBuffer.Peek.cs.meta │ │ │ ├── NetBuffer.Read.Reflection.cs │ │ │ ├── NetBuffer.Read.Reflection.cs.meta │ │ │ ├── NetBuffer.Read.cs │ │ │ ├── NetBuffer.Read.cs.meta │ │ │ ├── NetBuffer.Write.Reflection.cs │ │ │ ├── NetBuffer.Write.Reflection.cs.meta │ │ │ ├── NetBuffer.Write.cs │ │ │ ├── NetBuffer.Write.cs.meta │ │ │ ├── NetBuffer.cs │ │ │ ├── NetBuffer.cs.meta │ │ │ ├── NetClient.cs │ │ │ ├── NetClient.cs.meta │ │ │ ├── NetConnection.Handshake.cs │ │ │ ├── NetConnection.Handshake.cs.meta │ │ │ ├── NetConnection.Latency.cs │ │ │ ├── NetConnection.Latency.cs.meta │ │ │ ├── NetConnection.MTU.cs │ │ │ ├── NetConnection.MTU.cs.meta │ │ │ ├── NetConnection.cs │ │ │ ├── NetConnection.cs.meta │ │ │ ├── NetConnectionStatistics.cs │ │ │ ├── NetConnectionStatistics.cs.meta │ │ │ ├── NetConnectionStatus.cs │ │ │ ├── NetConnectionStatus.cs.meta │ │ │ ├── NetConstants.cs │ │ │ ├── NetConstants.cs.meta │ │ │ ├── NetDeliveryMethod.cs │ │ │ ├── NetDeliveryMethod.cs.meta │ │ │ ├── NetException.cs │ │ │ ├── NetException.cs.meta │ │ │ ├── NetFragmentationHelper.cs │ │ │ ├── NetFragmentationHelper.cs.meta │ │ │ ├── NetFragmentationInfo.cs │ │ │ ├── NetFragmentationInfo.cs.meta │ │ │ ├── NetIncomingMessage.cs │ │ │ ├── NetIncomingMessage.cs.meta │ │ │ ├── NetIncomingMessageType.cs │ │ │ ├── NetIncomingMessageType.cs.meta │ │ │ ├── NetMessageType.cs │ │ │ ├── NetMessageType.cs.meta │ │ │ ├── NetNatIntroduction.cs │ │ │ ├── NetNatIntroduction.cs.meta │ │ │ ├── NetOutgoingMessage.cs │ │ │ ├── NetOutgoingMessage.cs.meta │ │ │ ├── NetPeer.Discovery.cs │ │ │ ├── NetPeer.Discovery.cs.meta │ │ │ ├── NetPeer.Fragmentation.cs │ │ │ ├── NetPeer.Fragmentation.cs.meta │ │ │ ├── NetPeer.Internal.cs │ │ │ ├── NetPeer.Internal.cs.meta │ │ │ ├── NetPeer.LatencySimulation.cs │ │ │ ├── NetPeer.LatencySimulation.cs.meta │ │ │ ├── NetPeer.Logging.cs │ │ │ ├── NetPeer.Logging.cs.meta │ │ │ ├── NetPeer.MessagePools.cs │ │ │ ├── NetPeer.MessagePools.cs.meta │ │ │ ├── NetPeer.Send.cs │ │ │ ├── NetPeer.Send.cs.meta │ │ │ ├── NetPeer.cs │ │ │ ├── NetPeer.cs.meta │ │ │ ├── NetPeerConfiguration.cs │ │ │ ├── NetPeerConfiguration.cs.meta │ │ │ ├── NetPeerStatistics.cs │ │ │ ├── NetPeerStatistics.cs.meta │ │ │ ├── NetPeerStatus.cs │ │ │ ├── NetPeerStatus.cs.meta │ │ │ ├── NetQueue.cs │ │ │ ├── NetQueue.cs.meta │ │ │ ├── NetRandom.Implementations.cs │ │ │ ├── NetRandom.Implementations.cs.meta │ │ │ ├── NetRandom.cs │ │ │ ├── NetRandom.cs.meta │ │ │ ├── NetRandomSeed.cs │ │ │ ├── NetRandomSeed.cs.meta │ │ │ ├── NetReceiverChannelBase.cs │ │ │ ├── NetReceiverChannelBase.cs.meta │ │ │ ├── NetReliableOrderedReceiver.cs │ │ │ ├── NetReliableOrderedReceiver.cs.meta │ │ │ ├── NetReliableSenderChannel.cs │ │ │ ├── NetReliableSenderChannel.cs.meta │ │ │ ├── NetReliableSequencedReceiver.cs │ │ │ ├── NetReliableSequencedReceiver.cs.meta │ │ │ ├── NetReliableUnorderedReceiver.cs │ │ │ ├── NetReliableUnorderedReceiver.cs.meta │ │ │ ├── NetSRP.cs │ │ │ ├── NetSRP.cs.meta │ │ │ ├── NetSendResult.cs │ │ │ ├── NetSendResult.cs.meta │ │ │ ├── NetSenderChannelBase.cs │ │ │ ├── NetSenderChannelBase.cs.meta │ │ │ ├── NetServer.cs │ │ │ ├── NetServer.cs.meta │ │ │ ├── NetStoredReliableMessage.cs │ │ │ ├── NetStoredReliableMessage.cs.meta │ │ │ ├── NetTime.cs │ │ │ ├── NetTime.cs.meta │ │ │ ├── NetTuple.cs │ │ │ ├── NetTuple.cs.meta │ │ │ ├── NetUPnP.cs │ │ │ ├── NetUPnP.cs.meta │ │ │ ├── NetUnreliableSenderChannel.cs │ │ │ ├── NetUnreliableSenderChannel.cs.meta │ │ │ ├── NetUnreliableSequencedReceiver.cs │ │ │ ├── NetUnreliableSequencedReceiver.cs.meta │ │ │ ├── NetUnreliableUnorderedReceiver.cs │ │ │ ├── NetUnreliableUnorderedReceiver.cs.meta │ │ │ ├── NetUtility.cs │ │ │ └── NetUtility.cs.meta │ │ ├── Plugins.meta │ │ ├── Plugins │ │ │ ├── Ionic.Zip.Reduced.dll │ │ │ └── Ionic.Zip.Reduced.dll.meta │ │ ├── Resources.meta │ │ ├── Resources │ │ │ ├── TextFiles.meta │ │ │ ├── TextFiles │ │ │ │ ├── Android.txt │ │ │ │ ├── Android.txt.meta │ │ │ │ ├── iOS.txt │ │ │ │ └── iOS.txt.meta │ │ │ ├── Textures.meta │ │ │ └── Textures │ │ │ │ ├── GameIcon.meta │ │ │ │ ├── GameIcon │ │ │ │ ├── Android.meta │ │ │ │ ├── Android │ │ │ │ │ └── GameIcon.png │ │ │ │ ├── GameIcon.png │ │ │ │ ├── GameIcon.png.meta │ │ │ │ ├── IOS.meta │ │ │ │ └── IOS │ │ │ │ │ └── GameIcon.png │ │ │ │ ├── Splash.png │ │ │ │ └── Splash.png.meta │ │ ├── Scripts.meta │ │ ├── Scripts │ │ │ ├── ConfigManager.cs │ │ │ ├── ConfigManager.cs.meta │ │ │ ├── ResourceManager.cs │ │ │ ├── ResourceManager.cs.meta │ │ │ ├── TheProgram.cs │ │ │ └── TheProgram.cs.meta │ │ ├── StreamingAssets.meta │ │ ├── StreamingAssets │ │ │ ├── README.md │ │ │ └── README.md.meta │ │ ├── TheScene.unity │ │ ├── TheScene.unity.meta │ │ ├── UnityVS.meta │ │ └── UnityVS │ │ │ ├── Editor.meta │ │ │ └── Editor │ │ │ ├── SyntaxTree.VisualStudio.Unity.Bridge.dll │ │ │ ├── SyntaxTree.VisualStudio.Unity.Bridge.dll.meta │ │ │ ├── SyntaxTree.VisualStudio.Unity.Messaging.dll │ │ │ ├── SyntaxTree.VisualStudio.Unity.Messaging.dll.meta │ │ │ ├── UnityVS.VersionSpecific.dll │ │ │ └── UnityVS.VersionSpecific.dll.meta │ └── ProjectSettings │ │ ├── AudioManager.asset │ │ ├── DynamicsManager.asset │ │ ├── EditorBuildSettings.asset │ │ ├── EditorSettings.asset │ │ ├── GraphicsSettings.asset │ │ ├── InputManager.asset │ │ ├── NavMeshLayers.asset │ │ ├── NetworkManager.asset │ │ ├── Physics2DSettings.asset │ │ ├── ProjectSettings.asset │ │ ├── QualitySettings.asset │ │ ├── TagManager.asset │ │ └── TimeManager.asset └── README.md ├── IPv6 ├── GameClient │ ├── GameClient.sln │ └── GameClient │ │ ├── App.config │ │ ├── GameClient.csproj │ │ ├── IPNetworkManager.cs │ │ ├── Lidgren │ │ ├── Encryption │ │ │ ├── NetAESEncryption.cs │ │ │ ├── NetBlockEncryptionBase.cs │ │ │ ├── NetCryptoProviderBase.cs │ │ │ ├── NetDESEncryption.cs │ │ │ ├── NetEncryption.cs │ │ │ ├── NetRC2Encryption.cs │ │ │ ├── NetTripleDESEncryption.cs │ │ │ ├── NetXorEncryption.cs │ │ │ └── NetXteaEncryption.cs │ │ ├── Miscellaneous.cs │ │ ├── NamespaceDoc.cs │ │ ├── NetBigInteger.cs │ │ ├── NetBitVector.cs │ │ ├── NetBitWriter.cs │ │ ├── NetBuffer.Peek.cs │ │ ├── NetBuffer.Read.Reflection.cs │ │ ├── NetBuffer.Read.cs │ │ ├── NetBuffer.Write.Reflection.cs │ │ ├── NetBuffer.Write.cs │ │ ├── NetBuffer.cs │ │ ├── NetClient.cs │ │ ├── NetConnection.Handshake.cs │ │ ├── NetConnection.Latency.cs │ │ ├── NetConnection.MTU.cs │ │ ├── NetConnection.cs │ │ ├── NetConnectionStatistics.cs │ │ ├── NetConnectionStatus.cs │ │ ├── NetConstants.cs │ │ ├── NetDeliveryMethod.cs │ │ ├── NetException.cs │ │ ├── NetFragmentationHelper.cs │ │ ├── NetFragmentationInfo.cs │ │ ├── NetIncomingMessage.cs │ │ ├── NetIncomingMessageType.cs │ │ ├── NetMessageType.cs │ │ ├── NetNatIntroduction.cs │ │ ├── NetOutgoingMessage.cs │ │ ├── NetPeer.Discovery.cs │ │ ├── NetPeer.Fragmentation.cs │ │ ├── NetPeer.Internal.cs │ │ ├── NetPeer.LatencySimulation.cs │ │ ├── NetPeer.Logging.cs │ │ ├── NetPeer.MessagePools.cs │ │ ├── NetPeer.Send.cs │ │ ├── NetPeer.cs │ │ ├── NetPeerConfiguration.cs │ │ ├── NetPeerStatistics.cs │ │ ├── NetPeerStatus.cs │ │ ├── NetQueue.cs │ │ ├── NetRandom.Implementations.cs │ │ ├── NetRandom.cs │ │ ├── NetRandomSeed.cs │ │ ├── NetReceiverChannelBase.cs │ │ ├── NetReliableOrderedReceiver.cs │ │ ├── NetReliableSenderChannel.cs │ │ ├── NetReliableSequencedReceiver.cs │ │ ├── NetReliableUnorderedReceiver.cs │ │ ├── NetSRP.cs │ │ ├── NetSendResult.cs │ │ ├── NetSenderChannelBase.cs │ │ ├── NetServer.cs │ │ ├── NetStoredReliableMessage.cs │ │ ├── NetTime.cs │ │ ├── NetTuple.cs │ │ ├── NetUPnP.cs │ │ ├── NetUnreliableSenderChannel.cs │ │ ├── NetUnreliableSequencedReceiver.cs │ │ ├── NetUnreliableUnorderedReceiver.cs │ │ └── NetUtility.cs │ │ ├── LogManager.cs │ │ ├── Program.cs │ │ └── Properties │ │ └── AssemblyInfo.cs ├── GameServer │ ├── GameServer.sln │ ├── GameServer │ │ ├── App.config │ │ ├── GameServer.csproj │ │ ├── Lidgren │ │ │ ├── Encryption │ │ │ │ ├── NetAESEncryption.cs │ │ │ │ ├── NetBlockEncryptionBase.cs │ │ │ │ ├── NetCryptoProviderBase.cs │ │ │ │ ├── NetDESEncryption.cs │ │ │ │ ├── NetEncryption.cs │ │ │ │ ├── NetRC2Encryption.cs │ │ │ │ ├── NetTripleDESEncryption.cs │ │ │ │ ├── NetXorEncryption.cs │ │ │ │ └── NetXteaEncryption.cs │ │ │ ├── NamespaceDoc.cs │ │ │ ├── NetBigInteger.cs │ │ │ ├── NetBitVector.cs │ │ │ ├── NetBitWriter.cs │ │ │ ├── NetBuffer.Peek.cs │ │ │ ├── NetBuffer.Read.Reflection.cs │ │ │ ├── NetBuffer.Read.cs │ │ │ ├── NetBuffer.Write.Reflection.cs │ │ │ ├── NetBuffer.Write.cs │ │ │ ├── NetBuffer.cs │ │ │ ├── NetClient.cs │ │ │ ├── NetConnection.Handshake.cs │ │ │ ├── NetConnection.Latency.cs │ │ │ ├── NetConnection.MTU.cs │ │ │ ├── NetConnection.cs │ │ │ ├── NetConnectionStatistics.cs │ │ │ ├── NetConnectionStatus.cs │ │ │ ├── NetConstants.cs │ │ │ ├── NetDeliveryMethod.cs │ │ │ ├── NetException.cs │ │ │ ├── NetFragmentationHelper.cs │ │ │ ├── NetFragmentationInfo.cs │ │ │ ├── NetIncomingMessage.cs │ │ │ ├── NetIncomingMessageType.cs │ │ │ ├── NetMessageType.cs │ │ │ ├── NetNatIntroduction.cs │ │ │ ├── NetOutgoingMessage.cs │ │ │ ├── NetPeer.Discovery.cs │ │ │ ├── NetPeer.Fragmentation.cs │ │ │ ├── NetPeer.Internal.cs │ │ │ ├── NetPeer.LatencySimulation.cs │ │ │ ├── NetPeer.Logging.cs │ │ │ ├── NetPeer.MessagePools.cs │ │ │ ├── NetPeer.Send.cs │ │ │ ├── NetPeer.cs │ │ │ ├── NetPeerConfiguration.cs │ │ │ ├── NetPeerStatistics.cs │ │ │ ├── NetPeerStatus.cs │ │ │ ├── NetQueue.cs │ │ │ ├── NetRandom.Implementations.cs │ │ │ ├── NetRandom.cs │ │ │ ├── NetRandomSeed.cs │ │ │ ├── NetReceiverChannelBase.cs │ │ │ ├── NetReliableOrderedReceiver.cs │ │ │ ├── NetReliableSenderChannel.cs │ │ │ ├── NetReliableSequencedReceiver.cs │ │ │ ├── NetReliableUnorderedReceiver.cs │ │ │ ├── NetSRP.cs │ │ │ ├── NetSendResult.cs │ │ │ ├── NetSenderChannelBase.cs │ │ │ ├── NetServer.cs │ │ │ ├── NetStoredReliableMessage.cs │ │ │ ├── NetTime.cs │ │ │ ├── NetTuple.cs │ │ │ ├── NetUPnP.cs │ │ │ ├── NetUnreliableSenderChannel.cs │ │ │ ├── NetUnreliableSequencedReceiver.cs │ │ │ ├── NetUnreliableUnorderedReceiver.cs │ │ │ └── NetUtility.cs │ │ ├── LogManager.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ └── packages.config │ └── packages │ │ ├── log4net.2.0.5 │ │ ├── lib │ │ │ ├── net10-full │ │ │ │ ├── log4net.dll │ │ │ │ └── log4net.xml │ │ │ ├── net11-full │ │ │ │ ├── log4net.dll │ │ │ │ └── log4net.xml │ │ │ ├── net20-full │ │ │ │ ├── log4net.dll │ │ │ │ └── log4net.xml │ │ │ ├── net35-client │ │ │ │ ├── log4net.dll │ │ │ │ └── log4net.xml │ │ │ ├── net35-full │ │ │ │ ├── log4net.dll │ │ │ │ └── log4net.xml │ │ │ ├── net40-client │ │ │ │ ├── log4net.dll │ │ │ │ └── log4net.xml │ │ │ ├── net40-full │ │ │ │ ├── log4net.dll │ │ │ │ └── log4net.xml │ │ │ └── net45-full │ │ │ │ ├── log4net.dll │ │ │ │ └── log4net.xml │ │ └── log4net.2.0.5.nupkg │ │ └── repositories.config ├── GameUnity │ ├── Assets │ │ ├── Build.meta │ │ ├── Build │ │ │ ├── androidDeploy.bat │ │ │ └── androidDeploy.bat.meta │ │ ├── Command.meta │ │ ├── Command │ │ │ ├── AndroidBuild.bat │ │ │ ├── AndroidBuild.bat.meta │ │ │ ├── IOSBuild.sh │ │ │ └── IOSBuild.sh.meta │ │ ├── Editor.meta │ │ ├── Editor │ │ │ ├── CommandLineReader.cs │ │ │ ├── CommandLineReader.cs.meta │ │ │ ├── PerformBuild.cs │ │ │ └── PerformBuild.cs.meta │ │ ├── Lidgren.meta │ │ ├── Lidgren │ │ │ ├── Encryption.meta │ │ │ ├── Encryption │ │ │ │ ├── NetAESEncryption.cs │ │ │ │ ├── NetAESEncryption.cs.meta │ │ │ │ ├── NetBlockEncryptionBase.cs │ │ │ │ ├── NetBlockEncryptionBase.cs.meta │ │ │ │ ├── NetCryptoProviderBase.cs │ │ │ │ ├── NetCryptoProviderBase.cs.meta │ │ │ │ ├── NetDESEncryption.cs │ │ │ │ ├── NetDESEncryption.cs.meta │ │ │ │ ├── NetEncryption.cs │ │ │ │ ├── NetEncryption.cs.meta │ │ │ │ ├── NetRC2Encryption.cs │ │ │ │ ├── NetRC2Encryption.cs.meta │ │ │ │ ├── NetTripleDESEncryption.cs │ │ │ │ ├── NetTripleDESEncryption.cs.meta │ │ │ │ ├── NetXorEncryption.cs │ │ │ │ ├── NetXorEncryption.cs.meta │ │ │ │ ├── NetXteaEncryption.cs │ │ │ │ └── NetXteaEncryption.cs.meta │ │ │ ├── Miscellaneous.cs │ │ │ ├── Miscellaneous.cs.meta │ │ │ ├── NamespaceDoc.cs │ │ │ ├── NamespaceDoc.cs.meta │ │ │ ├── NetBigInteger.cs │ │ │ ├── NetBigInteger.cs.meta │ │ │ ├── NetBitVector.cs │ │ │ ├── NetBitVector.cs.meta │ │ │ ├── NetBitWriter.cs │ │ │ ├── NetBitWriter.cs.meta │ │ │ ├── NetBuffer.Peek.cs │ │ │ ├── NetBuffer.Peek.cs.meta │ │ │ ├── NetBuffer.Read.Reflection.cs │ │ │ ├── NetBuffer.Read.Reflection.cs.meta │ │ │ ├── NetBuffer.Read.cs │ │ │ ├── NetBuffer.Read.cs.meta │ │ │ ├── NetBuffer.Write.Reflection.cs │ │ │ ├── NetBuffer.Write.Reflection.cs.meta │ │ │ ├── NetBuffer.Write.cs │ │ │ ├── NetBuffer.Write.cs.meta │ │ │ ├── NetBuffer.cs │ │ │ ├── NetBuffer.cs.meta │ │ │ ├── NetClient.cs │ │ │ ├── NetClient.cs.meta │ │ │ ├── NetConnection.Handshake.cs │ │ │ ├── NetConnection.Handshake.cs.meta │ │ │ ├── NetConnection.Latency.cs │ │ │ ├── NetConnection.Latency.cs.meta │ │ │ ├── NetConnection.MTU.cs │ │ │ ├── NetConnection.MTU.cs.meta │ │ │ ├── NetConnection.cs │ │ │ ├── NetConnection.cs.meta │ │ │ ├── NetConnectionStatistics.cs │ │ │ ├── NetConnectionStatistics.cs.meta │ │ │ ├── NetConnectionStatus.cs │ │ │ ├── NetConnectionStatus.cs.meta │ │ │ ├── NetConstants.cs │ │ │ ├── NetConstants.cs.meta │ │ │ ├── NetDeliveryMethod.cs │ │ │ ├── NetDeliveryMethod.cs.meta │ │ │ ├── NetException.cs │ │ │ ├── NetException.cs.meta │ │ │ ├── NetFragmentationHelper.cs │ │ │ ├── NetFragmentationHelper.cs.meta │ │ │ ├── NetFragmentationInfo.cs │ │ │ ├── NetFragmentationInfo.cs.meta │ │ │ ├── NetIncomingMessage.cs │ │ │ ├── NetIncomingMessage.cs.meta │ │ │ ├── NetIncomingMessageType.cs │ │ │ ├── NetIncomingMessageType.cs.meta │ │ │ ├── NetMessageType.cs │ │ │ ├── NetMessageType.cs.meta │ │ │ ├── NetNatIntroduction.cs │ │ │ ├── NetNatIntroduction.cs.meta │ │ │ ├── NetOutgoingMessage.cs │ │ │ ├── NetOutgoingMessage.cs.meta │ │ │ ├── NetPeer.Discovery.cs │ │ │ ├── NetPeer.Discovery.cs.meta │ │ │ ├── NetPeer.Fragmentation.cs │ │ │ ├── NetPeer.Fragmentation.cs.meta │ │ │ ├── NetPeer.Internal.cs │ │ │ ├── NetPeer.Internal.cs.meta │ │ │ ├── NetPeer.LatencySimulation.cs │ │ │ ├── NetPeer.LatencySimulation.cs.meta │ │ │ ├── NetPeer.Logging.cs │ │ │ ├── NetPeer.Logging.cs.meta │ │ │ ├── NetPeer.MessagePools.cs │ │ │ ├── NetPeer.MessagePools.cs.meta │ │ │ ├── NetPeer.Send.cs │ │ │ ├── NetPeer.Send.cs.meta │ │ │ ├── NetPeer.cs │ │ │ ├── NetPeer.cs.meta │ │ │ ├── NetPeerConfiguration.cs │ │ │ ├── NetPeerConfiguration.cs.meta │ │ │ ├── NetPeerStatistics.cs │ │ │ ├── NetPeerStatistics.cs.meta │ │ │ ├── NetPeerStatus.cs │ │ │ ├── NetPeerStatus.cs.meta │ │ │ ├── NetQueue.cs │ │ │ ├── NetQueue.cs.meta │ │ │ ├── NetRandom.Implementations.cs │ │ │ ├── NetRandom.Implementations.cs.meta │ │ │ ├── NetRandom.cs │ │ │ ├── NetRandom.cs.meta │ │ │ ├── NetRandomSeed.cs │ │ │ ├── NetRandomSeed.cs.meta │ │ │ ├── NetReceiverChannelBase.cs │ │ │ ├── NetReceiverChannelBase.cs.meta │ │ │ ├── NetReliableOrderedReceiver.cs │ │ │ ├── NetReliableOrderedReceiver.cs.meta │ │ │ ├── NetReliableSenderChannel.cs │ │ │ ├── NetReliableSenderChannel.cs.meta │ │ │ ├── NetReliableSequencedReceiver.cs │ │ │ ├── NetReliableSequencedReceiver.cs.meta │ │ │ ├── NetReliableUnorderedReceiver.cs │ │ │ ├── NetReliableUnorderedReceiver.cs.meta │ │ │ ├── NetSRP.cs │ │ │ ├── NetSRP.cs.meta │ │ │ ├── NetSendResult.cs │ │ │ ├── NetSendResult.cs.meta │ │ │ ├── NetSenderChannelBase.cs │ │ │ ├── NetSenderChannelBase.cs.meta │ │ │ ├── NetServer.cs │ │ │ ├── NetServer.cs.meta │ │ │ ├── NetStoredReliableMessage.cs │ │ │ ├── NetStoredReliableMessage.cs.meta │ │ │ ├── NetTime.cs │ │ │ ├── NetTime.cs.meta │ │ │ ├── NetTuple.cs │ │ │ ├── NetTuple.cs.meta │ │ │ ├── NetUPnP.cs │ │ │ ├── NetUPnP.cs.meta │ │ │ ├── NetUnreliableSenderChannel.cs │ │ │ ├── NetUnreliableSenderChannel.cs.meta │ │ │ ├── NetUnreliableSequencedReceiver.cs │ │ │ ├── NetUnreliableSequencedReceiver.cs.meta │ │ │ ├── NetUnreliableUnorderedReceiver.cs │ │ │ ├── NetUnreliableUnorderedReceiver.cs.meta │ │ │ ├── NetUtility.cs │ │ │ └── NetUtility.cs.meta │ │ ├── Plugins.meta │ │ ├── Plugins │ │ │ ├── Ionic.Zip.Reduced.dll │ │ │ └── Ionic.Zip.Reduced.dll.meta │ │ ├── Resources.meta │ │ ├── Resources │ │ │ ├── TextFiles.meta │ │ │ ├── TextFiles │ │ │ │ ├── Android.txt │ │ │ │ ├── Android.txt.meta │ │ │ │ ├── iOS.txt │ │ │ │ └── iOS.txt.meta │ │ │ ├── Textures.meta │ │ │ └── Textures │ │ │ │ ├── GameIcon.meta │ │ │ │ ├── GameIcon │ │ │ │ ├── Android.meta │ │ │ │ ├── Android │ │ │ │ │ ├── GameIcon.png │ │ │ │ │ └── GameIcon.png.meta │ │ │ │ ├── GameIcon.png │ │ │ │ ├── GameIcon.png.meta │ │ │ │ ├── IOS.meta │ │ │ │ └── IOS │ │ │ │ │ ├── GameIcon.png │ │ │ │ │ └── GameIcon.png.meta │ │ │ │ ├── Splash.png │ │ │ │ └── Splash.png.meta │ │ ├── Scripts.meta │ │ ├── Scripts │ │ │ ├── ConfigManager.cs │ │ │ ├── ConfigManager.cs.meta │ │ │ ├── IPNetworkManager.cs │ │ │ ├── IPNetworkManager.cs.meta │ │ │ ├── LogManager.cs │ │ │ ├── LogManager.cs.meta │ │ │ ├── ResourceManager.cs │ │ │ ├── ResourceManager.cs.meta │ │ │ ├── TheProgram.cs │ │ │ └── TheProgram.cs.meta │ │ ├── StreamingAssets.meta │ │ ├── StreamingAssets │ │ │ ├── README.md │ │ │ └── README.md.meta │ │ ├── TheScene.unity │ │ ├── TheScene.unity.meta │ │ ├── UnityVS.meta │ │ └── UnityVS │ │ │ ├── Editor.meta │ │ │ └── Editor │ │ │ ├── SyntaxTree.VisualStudio.Unity.Bridge.dll │ │ │ ├── SyntaxTree.VisualStudio.Unity.Bridge.dll.meta │ │ │ ├── SyntaxTree.VisualStudio.Unity.Messaging.dll │ │ │ ├── SyntaxTree.VisualStudio.Unity.Messaging.dll.meta │ │ │ ├── UnityVS.VersionSpecific.dll │ │ │ └── UnityVS.VersionSpecific.dll.meta │ └── ProjectSettings │ │ ├── AudioManager.asset │ │ ├── DynamicsManager.asset │ │ ├── EditorBuildSettings.asset │ │ ├── EditorSettings.asset │ │ ├── GraphicsSettings.asset │ │ ├── InputManager.asset │ │ ├── NavMeshLayers.asset │ │ ├── NetworkManager.asset │ │ ├── Physics2DSettings.asset │ │ ├── ProjectSettings.asset │ │ ├── QualitySettings.asset │ │ ├── TagManager.asset │ │ └── TimeManager.asset └── README.md ├── LICENSE └── README.md /IPv4/GameClient/GameClient.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GameClient", "GameClient\GameClient.csproj", "{823828F9-0770-4A80-9186-0CDEB283386D}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|x86 = Debug|x86 9 | Release|x86 = Release|x86 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {823828F9-0770-4A80-9186-0CDEB283386D}.Debug|x86.ActiveCfg = Debug|x86 13 | {823828F9-0770-4A80-9186-0CDEB283386D}.Debug|x86.Build.0 = Debug|x86 14 | {823828F9-0770-4A80-9186-0CDEB283386D}.Release|x86.ActiveCfg = Release|x86 15 | {823828F9-0770-4A80-9186-0CDEB283386D}.Release|x86.Build.0 = Release|x86 16 | EndGlobalSection 17 | EndGlobal 18 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Lidgren/Encryption/NetAESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetAESEncryption : NetCryptoProviderBase 8 | { 9 | public NetAESEncryption(NetPeer peer) 10 | : base(peer, new AesCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetAESEncryption(NetPeer peer, string key) 15 | : base(peer, new AesCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetAESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new AesCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Lidgren/Encryption/NetDESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetDESEncryption : NetCryptoProviderBase 8 | { 9 | public NetDESEncryption(NetPeer peer) 10 | : base(peer, new DESCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetDESEncryption(NetPeer peer, string key) 15 | : base(peer, new DESCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetDESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new DESCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Lidgren/Encryption/NetEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// Interface for an encryption algorithm 9 | /// 10 | public abstract class NetEncryption 11 | { 12 | /// 13 | /// NetPeer 14 | /// 15 | protected NetPeer m_peer; 16 | 17 | /// 18 | /// Constructor 19 | /// 20 | public NetEncryption(NetPeer peer) 21 | { 22 | if (peer == null) 23 | throw new NetException("Peer must not be null"); 24 | m_peer = peer; 25 | } 26 | 27 | public void SetKey(string str) 28 | { 29 | var bytes = System.Text.Encoding.ASCII.GetBytes(str); 30 | SetKey(bytes, 0, bytes.Length); 31 | } 32 | 33 | public abstract void SetKey(byte[] data, int offset, int count); 34 | 35 | /// 36 | /// Encrypt an outgoing message in place 37 | /// 38 | public abstract bool Encrypt(NetOutgoingMessage msg); 39 | 40 | /// 41 | /// Decrypt an incoming message in place 42 | /// 43 | public abstract bool Decrypt(NetIncomingMessage msg); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Lidgren/Encryption/NetRC2Encryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetRC2Encryption : NetCryptoProviderBase 8 | { 9 | public NetRC2Encryption(NetPeer peer) 10 | : base(peer, new RC2CryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetRC2Encryption(NetPeer peer, string key) 15 | : base(peer, new RC2CryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetRC2Encryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new RC2CryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Lidgren/Encryption/NetTripleDESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetTripleDESEncryption : NetCryptoProviderBase 8 | { 9 | public NetTripleDESEncryption(NetPeer peer) 10 | : base(peer, new TripleDESCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetTripleDESEncryption(NetPeer peer, string key) 15 | : base(peer, new TripleDESCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetTripleDESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new TripleDESCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Lidgren/NamespaceDoc.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// Lidgren Network Library 9 | /// 10 | internal class NamespaceDoc 11 | { 12 | // 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Lidgren/NetDeliveryMethod.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// How the library deals with resends and handling of late messages 9 | /// 10 | public enum NetDeliveryMethod : byte 11 | { 12 | // 13 | // Actually a publicly visible subset of NetMessageType 14 | // 15 | 16 | /// 17 | /// Indicates an error 18 | /// 19 | Unknown = 0, 20 | 21 | /// 22 | /// Unreliable, unordered delivery 23 | /// 24 | Unreliable = 1, 25 | 26 | /// 27 | /// Unreliable delivery, but automatically dropping late messages 28 | /// 29 | UnreliableSequenced = 2, 30 | 31 | /// 32 | /// Reliable delivery, but unordered 33 | /// 34 | ReliableUnordered = 34, 35 | 36 | /// 37 | /// Reliable delivery, except for late messages which are dropped 38 | /// 39 | ReliableSequenced = 35, 40 | 41 | /// 42 | /// Reliable, ordered delivery 43 | /// 44 | ReliableOrdered = 67, 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Lidgren/NetFragmentationInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | public sealed class NetFragmentationInfo 6 | { 7 | public int TotalFragmentCount; 8 | public bool[] Received; 9 | public int TotalReceived; 10 | public int FragmentSize; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Lidgren/NetRandomSeed.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | 4 | namespace Lidgren.Network 5 | { 6 | /// 7 | /// Class for generating random seeds 8 | /// 9 | public static class NetRandomSeed 10 | { 11 | private static int m_seedIncrement = -1640531527; 12 | 13 | /// 14 | /// Generates a 32 bit random seed 15 | /// 16 | [CLSCompliant(false)] 17 | public static uint GetUInt32() 18 | { 19 | ulong seed = GetUInt64(); 20 | uint low = (uint)seed; 21 | uint high = (uint)(seed >> 32); 22 | return low ^ high; 23 | } 24 | 25 | /// 26 | /// Generates a 64 bit random seed 27 | /// 28 | [CLSCompliant(false)] 29 | public static ulong GetUInt64() 30 | { 31 | #if !__ANDROID__ && !IOS && !UNITY_WEBPLAYER && !UNITY_ANDROID && !UNITY_IPHONE 32 | ulong seed = (ulong)System.Diagnostics.Stopwatch.GetTimestamp(); 33 | seed ^= (ulong)Environment.WorkingSet; 34 | ulong s2 = (ulong)Interlocked.Increment(ref m_seedIncrement); 35 | s2 |= (((ulong)Guid.NewGuid().GetHashCode()) << 32); 36 | seed ^= s2; 37 | #else 38 | ulong seed = (ulong)Environment.TickCount; 39 | seed |= (((ulong)(new object().GetHashCode())) << 32); 40 | ulong s2 = (ulong)Guid.NewGuid().GetHashCode(); 41 | s2 |= (((ulong)Interlocked.Increment(ref m_seedIncrement)) << 32); 42 | seed ^= s2; 43 | #endif 44 | return seed; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Lidgren/NetReceiverChannelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal abstract class NetReceiverChannelBase 6 | { 7 | internal NetPeer m_peer; 8 | internal NetConnection m_connection; 9 | 10 | public NetReceiverChannelBase(NetConnection connection) 11 | { 12 | m_connection = connection; 13 | m_peer = connection.m_peer; 14 | } 15 | 16 | internal abstract void ReceiveMessage(NetIncomingMessage msg); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Lidgren/NetSendResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | /// 6 | /// Result of a SendMessage call 7 | /// 8 | public enum NetSendResult 9 | { 10 | /// 11 | /// Message failed to enqueue because there is no connection 12 | /// 13 | FailedNotConnected = 0, 14 | 15 | /// 16 | /// Message was immediately sent 17 | /// 18 | Sent = 1, 19 | 20 | /// 21 | /// Message was queued for delivery 22 | /// 23 | Queued = 2, 24 | 25 | /// 26 | /// Message was dropped immediately since too many message were queued 27 | /// 28 | Dropped = 3 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Lidgren/NetSenderChannelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal abstract class NetSenderChannelBase 6 | { 7 | // access this directly to queue things in this channel 8 | internal NetQueue m_queuedSends; 9 | 10 | internal abstract int WindowSize { get; } 11 | 12 | internal abstract int GetAllowedSends(); 13 | 14 | internal abstract NetSendResult Enqueue(NetOutgoingMessage message); 15 | internal abstract void SendQueuedMessages(float now); 16 | internal abstract void Reset(); 17 | internal abstract void ReceiveAcknowledge(float now, int sequenceNumber); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Lidgren/NetStoredReliableMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal struct NetStoredReliableMessage 6 | { 7 | public int NumSent; 8 | public float LastSent; 9 | public NetOutgoingMessage Message; 10 | public int SequenceNumber; 11 | 12 | public void Reset() 13 | { 14 | NumSent = 0; 15 | LastSent = 0; 16 | Message = null; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Lidgren/NetTuple.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | // replace with BCL 4.0 Tuple<> when appropriate 8 | internal struct NetTuple 9 | { 10 | public A Item1; 11 | public B Item2; 12 | 13 | public NetTuple(A item1, B item2) 14 | { 15 | Item1 = item1; 16 | Item2 = item2; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Lidgren/NetUnreliableSequencedReceiver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal sealed class NetUnreliableSequencedReceiver : NetReceiverChannelBase 6 | { 7 | private int m_lastReceivedSequenceNumber = -1; 8 | 9 | public NetUnreliableSequencedReceiver(NetConnection connection) 10 | : base(connection) 11 | { 12 | } 13 | 14 | internal override void ReceiveMessage(NetIncomingMessage msg) 15 | { 16 | int nr = msg.m_sequenceNumber; 17 | 18 | // ack no matter what 19 | m_connection.QueueAck(msg.m_receivedMessageType, nr); 20 | 21 | int relate = NetUtility.RelativeSequenceNumber(nr, m_lastReceivedSequenceNumber + 1); 22 | if (relate < 0) 23 | return; // drop if late 24 | 25 | m_lastReceivedSequenceNumber = nr; 26 | m_peer.ReleaseMessage(msg); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Lidgren/NetUnreliableUnorderedReceiver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal sealed class NetUnreliableUnorderedReceiver : NetReceiverChannelBase 6 | { 7 | public NetUnreliableUnorderedReceiver(NetConnection connection) 8 | : base(connection) 9 | { 10 | } 11 | 12 | internal override void ReceiveMessage(NetIncomingMessage msg) 13 | { 14 | // ack no matter what 15 | m_connection.QueueAck(msg.m_receivedMessageType, msg.m_sequenceNumber); 16 | 17 | m_peer.ReleaseMessage(msg); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /IPv4/GameClient/GameClient/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | 4 | // Information about this assembly is defined by the following attributes. 5 | // Change them to the values specific to your project. 6 | 7 | [assembly: AssemblyTitle("GameClient")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("")] 12 | [assembly: AssemblyCopyright("TEST")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". 17 | // The form "{Major}.{Minor}.*" will automatically update the build and revision, 18 | // and "{Major}.{Minor}.{Build}.*" will update just the revision. 19 | 20 | [assembly: AssemblyVersion("3.0")] 21 | 22 | // The following attributes are used to specify the signing key for the assembly, 23 | // if desired. See the Mono documentation for more information about signing. 24 | 25 | //[assembly: AssemblyDelaySign(false)] 26 | //[assembly: AssemblyKeyFile("")] 27 | 28 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GameServer", "GameServer\GameServer.csproj", "{BCF0855B-D4B3-4FB1-A952-C221D2669F0B}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|x86 = Debug|x86 9 | Release|x86 = Release|x86 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {BCF0855B-D4B3-4FB1-A952-C221D2669F0B}.Debug|x86.ActiveCfg = Debug|x86 13 | {BCF0855B-D4B3-4FB1-A952-C221D2669F0B}.Debug|x86.Build.0 = Debug|x86 14 | {BCF0855B-D4B3-4FB1-A952-C221D2669F0B}.Release|x86.ActiveCfg = Release|x86 15 | {BCF0855B-D4B3-4FB1-A952-C221D2669F0B}.Release|x86.Build.0 = Release|x86 16 | EndGlobalSection 17 | EndGlobal 18 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Lidgren/Encryption/NetAESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetAESEncryption : NetCryptoProviderBase 8 | { 9 | public NetAESEncryption(NetPeer peer) 10 | : base(peer, new AesCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetAESEncryption(NetPeer peer, string key) 15 | : base(peer, new AesCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetAESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new AesCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Lidgren/Encryption/NetDESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetDESEncryption : NetCryptoProviderBase 8 | { 9 | public NetDESEncryption(NetPeer peer) 10 | : base(peer, new DESCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetDESEncryption(NetPeer peer, string key) 15 | : base(peer, new DESCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetDESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new DESCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Lidgren/Encryption/NetEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// Interface for an encryption algorithm 9 | /// 10 | public abstract class NetEncryption 11 | { 12 | /// 13 | /// NetPeer 14 | /// 15 | protected NetPeer m_peer; 16 | 17 | /// 18 | /// Constructor 19 | /// 20 | public NetEncryption(NetPeer peer) 21 | { 22 | if (peer == null) 23 | throw new NetException("Peer must not be null"); 24 | m_peer = peer; 25 | } 26 | 27 | public void SetKey(string str) 28 | { 29 | var bytes = System.Text.Encoding.ASCII.GetBytes(str); 30 | SetKey(bytes, 0, bytes.Length); 31 | } 32 | 33 | public abstract void SetKey(byte[] data, int offset, int count); 34 | 35 | /// 36 | /// Encrypt an outgoing message in place 37 | /// 38 | public abstract bool Encrypt(NetOutgoingMessage msg); 39 | 40 | /// 41 | /// Decrypt an incoming message in place 42 | /// 43 | public abstract bool Decrypt(NetIncomingMessage msg); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Lidgren/Encryption/NetRC2Encryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetRC2Encryption : NetCryptoProviderBase 8 | { 9 | public NetRC2Encryption(NetPeer peer) 10 | : base(peer, new RC2CryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetRC2Encryption(NetPeer peer, string key) 15 | : base(peer, new RC2CryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetRC2Encryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new RC2CryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Lidgren/Encryption/NetTripleDESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetTripleDESEncryption : NetCryptoProviderBase 8 | { 9 | public NetTripleDESEncryption(NetPeer peer) 10 | : base(peer, new TripleDESCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetTripleDESEncryption(NetPeer peer, string key) 15 | : base(peer, new TripleDESCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetTripleDESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new TripleDESCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Lidgren/NamespaceDoc.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// Lidgren Network Library 9 | /// 10 | internal class NamespaceDoc 11 | { 12 | // 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Lidgren/NetDeliveryMethod.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// How the library deals with resends and handling of late messages 9 | /// 10 | public enum NetDeliveryMethod : byte 11 | { 12 | // 13 | // Actually a publicly visible subset of NetMessageType 14 | // 15 | 16 | /// 17 | /// Indicates an error 18 | /// 19 | Unknown = 0, 20 | 21 | /// 22 | /// Unreliable, unordered delivery 23 | /// 24 | Unreliable = 1, 25 | 26 | /// 27 | /// Unreliable delivery, but automatically dropping late messages 28 | /// 29 | UnreliableSequenced = 2, 30 | 31 | /// 32 | /// Reliable delivery, but unordered 33 | /// 34 | ReliableUnordered = 34, 35 | 36 | /// 37 | /// Reliable delivery, except for late messages which are dropped 38 | /// 39 | ReliableSequenced = 35, 40 | 41 | /// 42 | /// Reliable, ordered delivery 43 | /// 44 | ReliableOrdered = 67, 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Lidgren/NetFragmentationInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | public sealed class NetFragmentationInfo 6 | { 7 | public int TotalFragmentCount; 8 | public bool[] Received; 9 | public int TotalReceived; 10 | public int FragmentSize; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Lidgren/NetRandomSeed.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | 4 | namespace Lidgren.Network 5 | { 6 | /// 7 | /// Class for generating random seeds 8 | /// 9 | public static class NetRandomSeed 10 | { 11 | private static int m_seedIncrement = -1640531527; 12 | 13 | /// 14 | /// Generates a 32 bit random seed 15 | /// 16 | [CLSCompliant(false)] 17 | public static uint GetUInt32() 18 | { 19 | ulong seed = GetUInt64(); 20 | uint low = (uint)seed; 21 | uint high = (uint)(seed >> 32); 22 | return low ^ high; 23 | } 24 | 25 | /// 26 | /// Generates a 64 bit random seed 27 | /// 28 | [CLSCompliant(false)] 29 | public static ulong GetUInt64() 30 | { 31 | #if !__ANDROID__ && !IOS && !UNITY_WEBPLAYER && !UNITY_ANDROID && !UNITY_IPHONE 32 | ulong seed = (ulong)System.Diagnostics.Stopwatch.GetTimestamp(); 33 | seed ^= (ulong)Environment.WorkingSet; 34 | ulong s2 = (ulong)Interlocked.Increment(ref m_seedIncrement); 35 | s2 |= (((ulong)Guid.NewGuid().GetHashCode()) << 32); 36 | seed ^= s2; 37 | #else 38 | ulong seed = (ulong)Environment.TickCount; 39 | seed |= (((ulong)(new object().GetHashCode())) << 32); 40 | ulong s2 = (ulong)Guid.NewGuid().GetHashCode(); 41 | s2 |= (((ulong)Interlocked.Increment(ref m_seedIncrement)) << 32); 42 | seed ^= s2; 43 | #endif 44 | return seed; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Lidgren/NetReceiverChannelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal abstract class NetReceiverChannelBase 6 | { 7 | internal NetPeer m_peer; 8 | internal NetConnection m_connection; 9 | 10 | public NetReceiverChannelBase(NetConnection connection) 11 | { 12 | m_connection = connection; 13 | m_peer = connection.m_peer; 14 | } 15 | 16 | internal abstract void ReceiveMessage(NetIncomingMessage msg); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Lidgren/NetSendResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | /// 6 | /// Result of a SendMessage call 7 | /// 8 | public enum NetSendResult 9 | { 10 | /// 11 | /// Message failed to enqueue because there is no connection 12 | /// 13 | FailedNotConnected = 0, 14 | 15 | /// 16 | /// Message was immediately sent 17 | /// 18 | Sent = 1, 19 | 20 | /// 21 | /// Message was queued for delivery 22 | /// 23 | Queued = 2, 24 | 25 | /// 26 | /// Message was dropped immediately since too many message were queued 27 | /// 28 | Dropped = 3 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Lidgren/NetSenderChannelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal abstract class NetSenderChannelBase 6 | { 7 | // access this directly to queue things in this channel 8 | internal NetQueue m_queuedSends; 9 | 10 | internal abstract int WindowSize { get; } 11 | 12 | internal abstract int GetAllowedSends(); 13 | 14 | internal abstract NetSendResult Enqueue(NetOutgoingMessage message); 15 | internal abstract void SendQueuedMessages(float now); 16 | internal abstract void Reset(); 17 | internal abstract void ReceiveAcknowledge(float now, int sequenceNumber); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Lidgren/NetStoredReliableMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal struct NetStoredReliableMessage 6 | { 7 | public int NumSent; 8 | public float LastSent; 9 | public NetOutgoingMessage Message; 10 | public int SequenceNumber; 11 | 12 | public void Reset() 13 | { 14 | NumSent = 0; 15 | LastSent = 0; 16 | Message = null; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Lidgren/NetTuple.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | // replace with BCL 4.0 Tuple<> when appropriate 8 | internal struct NetTuple 9 | { 10 | public A Item1; 11 | public B Item2; 12 | 13 | public NetTuple(A item1, B item2) 14 | { 15 | Item1 = item1; 16 | Item2 = item2; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Lidgren/NetUnreliableSequencedReceiver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal sealed class NetUnreliableSequencedReceiver : NetReceiverChannelBase 6 | { 7 | private int m_lastReceivedSequenceNumber = -1; 8 | 9 | public NetUnreliableSequencedReceiver(NetConnection connection) 10 | : base(connection) 11 | { 12 | } 13 | 14 | internal override void ReceiveMessage(NetIncomingMessage msg) 15 | { 16 | int nr = msg.m_sequenceNumber; 17 | 18 | // ack no matter what 19 | m_connection.QueueAck(msg.m_receivedMessageType, nr); 20 | 21 | int relate = NetUtility.RelativeSequenceNumber(nr, m_lastReceivedSequenceNumber + 1); 22 | if (relate < 0) 23 | return; // drop if late 24 | 25 | m_lastReceivedSequenceNumber = nr; 26 | m_peer.ReleaseMessage(msg); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Lidgren/NetUnreliableUnorderedReceiver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal sealed class NetUnreliableUnorderedReceiver : NetReceiverChannelBase 6 | { 7 | public NetUnreliableUnorderedReceiver(NetConnection connection) 8 | : base(connection) 9 | { 10 | } 11 | 12 | internal override void ReceiveMessage(NetIncomingMessage msg) 13 | { 14 | // ack no matter what 15 | m_connection.QueueAck(msg.m_receivedMessageType, msg.m_sequenceNumber); 16 | 17 | m_peer.ReleaseMessage(msg); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/LogManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Runtime.InteropServices; 4 | 5 | namespace GameServer 6 | { 7 | public static class NativeMethods 8 | { 9 | [DllImport("Kernel32", EntryPoint = "GetCurrentThreadId", ExactSpelling = true)] 10 | internal static extern Int32 GetCurrentWin32ThreadId(); 11 | } 12 | 13 | public static class LogManager 14 | { 15 | private static readonly log4net.ILog OUTPUT = log4net.LogManager.GetLogger(typeof(LogManager)); 16 | private static Int32 threadId; 17 | 18 | public static void Initialize() 19 | { 20 | log4net.Config.XmlConfigurator.Configure(); 21 | threadId = NativeMethods.GetCurrentWin32ThreadId(); 22 | } 23 | 24 | public static void Info(String message) 25 | { 26 | Int32 nextThreadId = NativeMethods.GetCurrentWin32ThreadId(); 27 | String prefix = threadId == nextThreadId ? "MAIN" : "work"; 28 | 29 | String value = String.Format("[{0}][{1}] {2}", prefix, nextThreadId.ToString(CultureInfo.InvariantCulture).PadLeft(5, ' '), message); 30 | OUTPUT.Info(value); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | 4 | // Information about this assembly is defined by the following attributes. 5 | // Change them to the values specific to your project. 6 | 7 | [assembly: AssemblyTitle("GameServer")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("")] 12 | [assembly: AssemblyCopyright("TEST")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". 17 | // The form "{Major}.{Minor}.*" will automatically update the build and revision, 18 | // and "{Major}.{Minor}.{Build}.*" will update just the revision. 19 | 20 | [assembly: AssemblyVersion("3.0")] 21 | 22 | // The following attributes are used to specify the signing key for the assembly, 23 | // if desired. See the Mono documentation for more information about signing. 24 | 25 | //[assembly: AssemblyDelaySign(false)] 26 | //[assembly: AssemblyKeyFile("")] 27 | 28 | -------------------------------------------------------------------------------- /IPv4/GameServer/GameServer/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /IPv4/GameServer/packages/log4net.2.0.5/lib/net10-full/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameServer/packages/log4net.2.0.5/lib/net10-full/log4net.dll -------------------------------------------------------------------------------- /IPv4/GameServer/packages/log4net.2.0.5/lib/net11-full/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameServer/packages/log4net.2.0.5/lib/net11-full/log4net.dll -------------------------------------------------------------------------------- /IPv4/GameServer/packages/log4net.2.0.5/lib/net20-full/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameServer/packages/log4net.2.0.5/lib/net20-full/log4net.dll -------------------------------------------------------------------------------- /IPv4/GameServer/packages/log4net.2.0.5/lib/net35-client/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameServer/packages/log4net.2.0.5/lib/net35-client/log4net.dll -------------------------------------------------------------------------------- /IPv4/GameServer/packages/log4net.2.0.5/lib/net35-full/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameServer/packages/log4net.2.0.5/lib/net35-full/log4net.dll -------------------------------------------------------------------------------- /IPv4/GameServer/packages/log4net.2.0.5/lib/net40-client/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameServer/packages/log4net.2.0.5/lib/net40-client/log4net.dll -------------------------------------------------------------------------------- /IPv4/GameServer/packages/log4net.2.0.5/lib/net40-full/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameServer/packages/log4net.2.0.5/lib/net40-full/log4net.dll -------------------------------------------------------------------------------- /IPv4/GameServer/packages/log4net.2.0.5/lib/net45-full/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameServer/packages/log4net.2.0.5/lib/net45-full/log4net.dll -------------------------------------------------------------------------------- /IPv4/GameServer/packages/log4net.2.0.5/log4net.2.0.5.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameServer/packages/log4net.2.0.5/log4net.2.0.5.nupkg -------------------------------------------------------------------------------- /IPv4/GameServer/packages/repositories.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Build.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 49aa25ea4baf5e24d9c4ab16dccedd0e 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Build/androidDeploy.bat: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | REM Android Deployment Script 3 | 4 | REM Check Android Location. Anyone with a weird android location on their machine can add it here. 5 | IF EXIST d:\android\ set androidlocation=d:\android\ 6 | IF EXIST c:\android\ set androidlocation=c:\android\ 7 | 8 | if not defined androidlocation ( 9 | echo Android not found. Either Android SDK is not installed, or is in an unusual location. 10 | goto end 11 | ) 12 | 13 | set versioncode=1 14 | set apkname=com.steveproxna.gameunity 15 | 16 | 17 | echo Android found at %androidlocation% 18 | 19 | REM Set adb.exe location 20 | set adb=%androidlocation%sdk\platform-tools\adb.exe 21 | echo adb at %adb% 22 | 23 | 24 | REM Horrendous batch file hack to read the android version into a variable. 25 | for /f %%i in ('%adb% shell getprop ro.build.version.release') do set androidversion=%%i 26 | echo Android version is %androidversion% 27 | 28 | REM check for installation 29 | for /f %%i in ('%adb% shell pm list packages %apkname%') do set installed=%%i 30 | echo installed...%installed% 31 | 32 | if (%installed%) == () goto skipcacheclear 33 | 34 | REM clear cache 35 | REM echo clearing cache... 36 | REM %adb% shell pm clear %apkname% 37 | 38 | :skipcacheclear 39 | 40 | REM Uninstalling old version 41 | REM echo Uninstalling old version if present... 42 | REM %adb% uninstall %apkname% 43 | 44 | REM Whatever the version, the apk install is the same. 45 | echo Installing APK... 46 | %adb% install -r %apkname%.apk 47 | 48 | 49 | 50 | :end 51 | echo "Press Any Key To Exit..." 52 | pause > nul 53 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Build/androidDeploy.bat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b59af6abbb6087642b2e5663a218958a 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Command.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f19dc10e5a246042b3d49a1c402dde7 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Command/AndroidBuild.bat: -------------------------------------------------------------------------------- 1 | "C:\Program Files (x86)\Unity\Editor\Unity.exe" -batchmode -nographics -quit -projectPath "." -executeMethod PerformBuild.CommandLineBuildOnCheckinAndroid -CustomArgs:Environment=IPv4;Version=1;BundleID=com.steveproxna.gameunity;VersionCode=1;SvnRevision=${SVN_REVISION};APKPath=build\com.steveproxna.gameunity.apk;HomeDirectory=. -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Command/AndroidBuild.bat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 80469f8416d352c47a05026738ed0940 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Command/IOSBuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | /Applications/Unity/Unity.app/Contents/MacOS/Unity -quit -batchmode -nographics -executeMethod PerformBuild.CommandLineBuildOnCheckinIOS -CustomArgs:GameServer=127.0.0.1;Version=1;ShortBundleVersion=1;BundleID=com.steveproxna.gameunity;SvnRevision=${SVN_REVISION} -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Command/IOSBuild.sh.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85873cf3cfac25840912c16cbe5578f9 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 106f85dbab7b81c4685952771da65314 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Editor/CommandLineReader.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1747bfb58f526b4479bd737e628354e6 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Editor/PerformBuild.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: addaf6e225340f541b8634537dced570 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3034f7c5f0d5a914aa753b1b1b52190e 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/Encryption.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 809efd50c94a61b4b9f17f57a34ba07e 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/Encryption/NetAESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetAESEncryption : NetCryptoProviderBase 8 | { 9 | public NetAESEncryption(NetPeer peer) 10 | : base(peer, new AesCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetAESEncryption(NetPeer peer, string key) 15 | : base(peer, new AesCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetAESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new AesCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/Encryption/NetAESEncryption.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79c6d0f4cc8738c4a9dd1f9e0347b1d1 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/Encryption/NetBlockEncryptionBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c01992df9db9b648b20b27d3d586a4e 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/Encryption/NetCryptoProviderBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dcc09e03a269e484386c4ff279c1150b 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/Encryption/NetDESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetDESEncryption : NetCryptoProviderBase 8 | { 9 | public NetDESEncryption(NetPeer peer) 10 | : base(peer, new DESCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetDESEncryption(NetPeer peer, string key) 15 | : base(peer, new DESCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetDESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new DESCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/Encryption/NetDESEncryption.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97fa20adacd6d9343b5a6ab98b48e73d 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/Encryption/NetEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// Interface for an encryption algorithm 9 | /// 10 | public abstract class NetEncryption 11 | { 12 | /// 13 | /// NetPeer 14 | /// 15 | protected NetPeer m_peer; 16 | 17 | /// 18 | /// Constructor 19 | /// 20 | public NetEncryption(NetPeer peer) 21 | { 22 | if (peer == null) 23 | throw new NetException("Peer must not be null"); 24 | m_peer = peer; 25 | } 26 | 27 | public void SetKey(string str) 28 | { 29 | var bytes = System.Text.Encoding.ASCII.GetBytes(str); 30 | SetKey(bytes, 0, bytes.Length); 31 | } 32 | 33 | public abstract void SetKey(byte[] data, int offset, int count); 34 | 35 | /// 36 | /// Encrypt an outgoing message in place 37 | /// 38 | public abstract bool Encrypt(NetOutgoingMessage msg); 39 | 40 | /// 41 | /// Decrypt an incoming message in place 42 | /// 43 | public abstract bool Decrypt(NetIncomingMessage msg); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/Encryption/NetEncryption.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d609247628986964c81ac9088cc41865 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/Encryption/NetRC2Encryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetRC2Encryption : NetCryptoProviderBase 8 | { 9 | public NetRC2Encryption(NetPeer peer) 10 | : base(peer, new RC2CryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetRC2Encryption(NetPeer peer, string key) 15 | : base(peer, new RC2CryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetRC2Encryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new RC2CryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/Encryption/NetRC2Encryption.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 037a538eb2f35d844a011dc9ff05bc35 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/Encryption/NetTripleDESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetTripleDESEncryption : NetCryptoProviderBase 8 | { 9 | public NetTripleDESEncryption(NetPeer peer) 10 | : base(peer, new TripleDESCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetTripleDESEncryption(NetPeer peer, string key) 15 | : base(peer, new TripleDESCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetTripleDESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new TripleDESCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/Encryption/NetTripleDESEncryption.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9ed098b4ed9cd9943bc9a12e9a114edd 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/Encryption/NetXorEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// Example class; not very good encryption 9 | /// 10 | public class NetXorEncryption : NetEncryption 11 | { 12 | private byte[] m_key; 13 | 14 | /// 15 | /// NetXorEncryption constructor 16 | /// 17 | public NetXorEncryption(NetPeer peer, byte[] key) 18 | : base(peer) 19 | { 20 | m_key = key; 21 | } 22 | 23 | public override void SetKey(byte[] data, int offset, int count) 24 | { 25 | m_key = new byte[count]; 26 | Array.Copy(data, offset, m_key, 0, count); 27 | } 28 | 29 | /// 30 | /// NetXorEncryption constructor 31 | /// 32 | public NetXorEncryption(NetPeer peer, string key) 33 | : base(peer) 34 | { 35 | m_key = Encoding.UTF8.GetBytes(key); 36 | } 37 | 38 | /// 39 | /// Encrypt an outgoing message 40 | /// 41 | public override bool Encrypt(NetOutgoingMessage msg) 42 | { 43 | int numBytes = msg.LengthBytes; 44 | for (int i = 0; i < numBytes; i++) 45 | { 46 | int offset = i % m_key.Length; 47 | msg.m_data[i] = (byte)(msg.m_data[i] ^ m_key[offset]); 48 | } 49 | return true; 50 | } 51 | 52 | /// 53 | /// Decrypt an incoming message 54 | /// 55 | public override bool Decrypt(NetIncomingMessage msg) 56 | { 57 | int numBytes = msg.LengthBytes; 58 | for (int i = 0; i < numBytes; i++) 59 | { 60 | int offset = i % m_key.Length; 61 | msg.m_data[i] = (byte)(msg.m_data[i] ^ m_key[offset]); 62 | } 63 | return true; 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/Encryption/NetXorEncryption.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30f96328d4ba3104e83a71603dc6065d 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/Encryption/NetXteaEncryption.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ab8130cbf779c94b94ad24878a53e76 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NamespaceDoc.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// Lidgren Network Library 9 | /// 10 | internal class NamespaceDoc 11 | { 12 | // 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NamespaceDoc.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1146c9607f1b8f749b0971b20df3e43c 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetBigInteger.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b98ec473b8cda91418ddcdca9e03a9e3 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetBitVector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa34ca9ad68e1bf4e809cfa272f7bb86 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetBitWriter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 436fb7886feb9f649a0ac15e350d52d0 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetBuffer.Peek.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e46a230de96359b43b1c14b49d24e527 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetBuffer.Read.Reflection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: efe3018d45e5bb94980768b3addcadc6 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetBuffer.Read.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df81f88c9a5b15a47acaa1f2a014ba95 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetBuffer.Write.Reflection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6854b403c752b746aa0ee4286f7e611 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetBuffer.Write.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 80f4f0c61adf0624e9940b5193020b28 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetBuffer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 08c2429d449733140a17fc24746567ca 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetClient.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1f8cde516bcc14442ba41b5b57c07ee4 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetConnection.Handshake.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 670b5ac28f5970b408649622acc9da78 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetConnection.Latency.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1085044fe9f4734f998ebe5a96d3295 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetConnection.MTU.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce9b797e89268fb4c8e265cab28085f4 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetConnection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b9ef34d44c794024da1df21b111729cf 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetConnectionStatistics.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db6da7e9f7ba0194b85b0aed6b99b95a 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetConnectionStatus.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e184b1e3a67b6a4390a4e89b889e489 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetConstants.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 61eecefb394815e45b391266a3a0c53e 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetDeliveryMethod.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// How the library deals with resends and handling of late messages 9 | /// 10 | public enum NetDeliveryMethod : byte 11 | { 12 | // 13 | // Actually a publicly visible subset of NetMessageType 14 | // 15 | 16 | /// 17 | /// Indicates an error 18 | /// 19 | Unknown = 0, 20 | 21 | /// 22 | /// Unreliable, unordered delivery 23 | /// 24 | Unreliable = 1, 25 | 26 | /// 27 | /// Unreliable delivery, but automatically dropping late messages 28 | /// 29 | UnreliableSequenced = 2, 30 | 31 | /// 32 | /// Reliable delivery, but unordered 33 | /// 34 | ReliableUnordered = 34, 35 | 36 | /// 37 | /// Reliable delivery, except for late messages which are dropped 38 | /// 39 | ReliableSequenced = 35, 40 | 41 | /// 42 | /// Reliable, ordered delivery 43 | /// 44 | ReliableOrdered = 67, 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetDeliveryMethod.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 839450c338e048545944895ac3998b2f 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetException.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 44aa4df3281f6a543a6662e559a19ce5 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetFragmentationHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1fcebc68ce8f2c4d918231ee3eb3973 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetFragmentationInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | public sealed class NetFragmentationInfo 6 | { 7 | public int TotalFragmentCount; 8 | public bool[] Received; 9 | public int TotalReceived; 10 | public int FragmentSize; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetFragmentationInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a2f6e7ce4179598428aaad1b093094b0 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetIncomingMessage.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f1e424fa37b61604db30e9cd10fff418 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetIncomingMessageType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0753965fe740c5e4e9d9b506e6f75e6a 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetMessageType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a1a0c629c4959448ba62c2f2f19dbf0 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetNatIntroduction.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1973fc99661b774c94b8cc0de9ec278 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetOutgoingMessage.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5923a069042c56543be53ff93f41921a 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetPeer.Discovery.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 186f0717fdc357649917dda0fa184a07 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetPeer.Fragmentation.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 790a0f40d423d4a41bf362e97c11c955 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetPeer.Internal.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aca71a3e8f1404e498bf1252568c20d0 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetPeer.LatencySimulation.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b7696aaa722164d4587e6b249e9bb79d 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetPeer.Logging.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f0b5da397d8b08b448986a6753faca18 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetPeer.MessagePools.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eff09c4cf27d145489e9e982be2b66db 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetPeer.Send.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: adebab647bc19e34dafe016c4949a84a 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetPeer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97b6c422e85ad824ca0de8ab8feb39d3 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetPeerConfiguration.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef11812a3314d42498495e22c198565c 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetPeerStatistics.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2f1501a0f166f40499392f44388d1631 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetPeerStatus.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: faecb79dfb3b7f54395724c7b36753c5 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetQueue.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d1ebe56f6554ee4e98c1a569f0e3cb5 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetRandom.Implementations.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac6e4c42c11a3eb42ac548c2f995ade7 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetRandom.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc3cb7263f0dbba4aae29b3682fca1d8 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetRandomSeed.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | 4 | namespace Lidgren.Network 5 | { 6 | /// 7 | /// Class for generating random seeds 8 | /// 9 | public static class NetRandomSeed 10 | { 11 | private static int m_seedIncrement = -1640531527; 12 | 13 | /// 14 | /// Generates a 32 bit random seed 15 | /// 16 | [CLSCompliant(false)] 17 | public static uint GetUInt32() 18 | { 19 | ulong seed = GetUInt64(); 20 | uint low = (uint)seed; 21 | uint high = (uint)(seed >> 32); 22 | return low ^ high; 23 | } 24 | 25 | /// 26 | /// Generates a 64 bit random seed 27 | /// 28 | [CLSCompliant(false)] 29 | public static ulong GetUInt64() 30 | { 31 | #if !__ANDROID__ && !IOS && !UNITY_WEBPLAYER && !UNITY_ANDROID && !UNITY_IPHONE 32 | ulong seed = (ulong)System.Diagnostics.Stopwatch.GetTimestamp(); 33 | seed ^= (ulong)Environment.WorkingSet; 34 | ulong s2 = (ulong)Interlocked.Increment(ref m_seedIncrement); 35 | s2 |= (((ulong)Guid.NewGuid().GetHashCode()) << 32); 36 | seed ^= s2; 37 | #else 38 | ulong seed = (ulong)Environment.TickCount; 39 | seed |= (((ulong)(new object().GetHashCode())) << 32); 40 | ulong s2 = (ulong)Guid.NewGuid().GetHashCode(); 41 | s2 |= (((ulong)Interlocked.Increment(ref m_seedIncrement)) << 32); 42 | seed ^= s2; 43 | #endif 44 | return seed; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetRandomSeed.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 40be5f139fc400a419fadc89e2fa3e12 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetReceiverChannelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal abstract class NetReceiverChannelBase 6 | { 7 | internal NetPeer m_peer; 8 | internal NetConnection m_connection; 9 | 10 | public NetReceiverChannelBase(NetConnection connection) 11 | { 12 | m_connection = connection; 13 | m_peer = connection.m_peer; 14 | } 15 | 16 | internal abstract void ReceiveMessage(NetIncomingMessage msg); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetReceiverChannelBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 49b34c3c189d5024aa4f30e1c6361ba4 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetReliableOrderedReceiver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39c1488ea799f184780e85f7062a0507 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetReliableSenderChannel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6a66029457cf2344782f2715b1533a92 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetReliableSequencedReceiver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af8bf46da8abe8344a7f2f317941d2c1 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetReliableUnorderedReceiver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b5fc64cc0fd1d246b8cd1b5f595d1a9 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetSRP.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 94415beb6c302b64ea5ba5a4ec608af3 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetSendResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | /// 6 | /// Result of a SendMessage call 7 | /// 8 | public enum NetSendResult 9 | { 10 | /// 11 | /// Message failed to enqueue because there is no connection 12 | /// 13 | FailedNotConnected = 0, 14 | 15 | /// 16 | /// Message was immediately sent 17 | /// 18 | Sent = 1, 19 | 20 | /// 21 | /// Message was queued for delivery 22 | /// 23 | Queued = 2, 24 | 25 | /// 26 | /// Message was dropped immediately since too many message were queued 27 | /// 28 | Dropped = 3 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetSendResult.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 22a4d7d1c9eb45541ae38a68cb6d13ca 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetSenderChannelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal abstract class NetSenderChannelBase 6 | { 7 | // access this directly to queue things in this channel 8 | internal NetQueue m_queuedSends; 9 | 10 | internal abstract int WindowSize { get; } 11 | 12 | internal abstract int GetAllowedSends(); 13 | 14 | internal abstract NetSendResult Enqueue(NetOutgoingMessage message); 15 | internal abstract void SendQueuedMessages(float now); 16 | internal abstract void Reset(); 17 | internal abstract void ReceiveAcknowledge(float now, int sequenceNumber); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetSenderChannelBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e1273e974e513f0439d367dff484aa84 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetServer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f71ef803b083ccc4998c6f27c5aa959f 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetStoredReliableMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal struct NetStoredReliableMessage 6 | { 7 | public int NumSent; 8 | public float LastSent; 9 | public NetOutgoingMessage Message; 10 | public int SequenceNumber; 11 | 12 | public void Reset() 13 | { 14 | NumSent = 0; 15 | LastSent = 0; 16 | Message = null; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetStoredReliableMessage.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7cace5c8915033340b65a7618f38fadb 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetTime.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6bd32d92ca0fbd4f96f6c8b49c3d1c5 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetTuple.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | // replace with BCL 4.0 Tuple<> when appropriate 8 | internal struct NetTuple 9 | { 10 | public A Item1; 11 | public B Item2; 12 | 13 | public NetTuple(A item1, B item2) 14 | { 15 | Item1 = item1; 16 | Item2 = item2; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetTuple.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e64e38db2a2e25340bc3e6e995591796 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetUPnP.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13a6345121447754aabe2ade2b13b794 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetUnreliableSenderChannel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9b3aab404a94aef4fac63a9a870e7a65 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetUnreliableSequencedReceiver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal sealed class NetUnreliableSequencedReceiver : NetReceiverChannelBase 6 | { 7 | private int m_lastReceivedSequenceNumber = -1; 8 | 9 | public NetUnreliableSequencedReceiver(NetConnection connection) 10 | : base(connection) 11 | { 12 | } 13 | 14 | internal override void ReceiveMessage(NetIncomingMessage msg) 15 | { 16 | int nr = msg.m_sequenceNumber; 17 | 18 | // ack no matter what 19 | m_connection.QueueAck(msg.m_receivedMessageType, nr); 20 | 21 | int relate = NetUtility.RelativeSequenceNumber(nr, m_lastReceivedSequenceNumber + 1); 22 | if (relate < 0) 23 | return; // drop if late 24 | 25 | m_lastReceivedSequenceNumber = nr; 26 | m_peer.ReleaseMessage(msg); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetUnreliableSequencedReceiver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff246cf4076b44c4ebce10b39b169b13 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetUnreliableUnorderedReceiver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal sealed class NetUnreliableUnorderedReceiver : NetReceiverChannelBase 6 | { 7 | public NetUnreliableUnorderedReceiver(NetConnection connection) 8 | : base(connection) 9 | { 10 | } 11 | 12 | internal override void ReceiveMessage(NetIncomingMessage msg) 13 | { 14 | // ack no matter what 15 | m_connection.QueueAck(msg.m_receivedMessageType, msg.m_sequenceNumber); 16 | 17 | m_peer.ReleaseMessage(msg); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetUnreliableUnorderedReceiver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 734c61347f7077b48b6911a10f355a44 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Lidgren/NetUtility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 67801fc6a3cf6ec429af0899d8e76466 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9da3d7f8f8fb9b4c952bad9110ab97d 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Plugins/Ionic.Zip.Reduced.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameUnity/Assets/Plugins/Ionic.Zip.Reduced.dll -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Plugins/Ionic.Zip.Reduced.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 302c86364288b3847842cf14be4f051b 3 | MonoAssemblyImporter: 4 | serializedVersion: 1 5 | iconMap: {} 6 | executionOrder: {} 7 | userData: 8 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 978ae2d294e286a4fbd6cd8e9a398e6a 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Resources/TextFiles.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bd03c630ba5620f4c8a5e3f9a780fc42 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Resources/TextFiles/Android.txt: -------------------------------------------------------------------------------- 1 | HOST,127.0.0.1 2 | PORT,14242 -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Resources/TextFiles/Android.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0b899936655eff949a2da81397cbf0c7 3 | TextScriptImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Resources/TextFiles/iOS.txt: -------------------------------------------------------------------------------- 1 | HOST,127.0.0.1 2 | PORT,14242 -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Resources/TextFiles/iOS.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c03e9630afc4470448d40374fdc3d753 3 | TextScriptImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Resources/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a40768e7ca748744cbc3f7a6e46f56d6 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Resources/Textures/GameIcon.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c56cc135ab29bda41922adb916941733 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Resources/Textures/GameIcon/Android.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 775780eb24fbc024d8ee09f611011319 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Resources/Textures/GameIcon/Android/GameIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameUnity/Assets/Resources/Textures/GameIcon/Android/GameIcon.png -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Resources/Textures/GameIcon/GameIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameUnity/Assets/Resources/Textures/GameIcon/GameIcon.png -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Resources/Textures/GameIcon/GameIcon.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 909d163422ca7c341853d98955674974 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: -1 29 | mipBias: -1 30 | wrapMode: -1 31 | nPOTScale: 1 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 0 42 | textureType: -1 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Resources/Textures/GameIcon/IOS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 551446f74d720014f8320fe08ceadb7c 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Resources/Textures/GameIcon/IOS/GameIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameUnity/Assets/Resources/Textures/GameIcon/IOS/GameIcon.png -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Resources/Textures/Splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameUnity/Assets/Resources/Textures/Splash.png -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Resources/Textures/Splash.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8fdbf006e770b1c4a8592e47653be14c 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: -1 29 | mipBias: -1 30 | wrapMode: -1 31 | nPOTScale: 1 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 0 42 | textureType: -1 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5757fd2be804f3a43bdd8f9ad7d4db9c 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Scripts/ConfigManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using UnityEngine; 4 | 5 | public interface IConfigManager 6 | { 7 | string GetInformationFromFile(string fullPath, string defaultValue); 8 | } 9 | 10 | public class ConfigManager : IConfigManager 11 | { 12 | public string GetInformationFromFile(string fullPath, string defaultValue) 13 | { 14 | if (RuntimePlatform.Android == Application.platform) 15 | { 16 | string fileName = Path.GetFileName(fullPath); 17 | using (MemoryStream m = new MemoryStream()) 18 | { 19 | string obbfile = Application.dataPath; 20 | Ionic.Zip.ZipFile zipfile = new Ionic.Zip.ZipFile(obbfile); 21 | Ionic.Zip.ZipEntry ze = zipfile["assets/" + fileName]; 22 | if (ze != null) 23 | { 24 | ze.Extract(m); 25 | m.Seek(0, SeekOrigin.Begin); 26 | using (StreamReader s = new StreamReader(m)) 27 | { 28 | string fileText = s.ReadLine(); 29 | return fileText; 30 | } 31 | } 32 | } 33 | } 34 | else 35 | { 36 | if (File.Exists(fullPath)) 37 | { 38 | String fileText = File.ReadAllText(fullPath); 39 | return fileText; 40 | } 41 | } 42 | 43 | return defaultValue; 44 | } 45 | } -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Scripts/ConfigManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c336b2d152896341b890634aaeaea30 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Scripts/ResourceManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using UnityEngine; 4 | using Object = UnityEngine.Object; 5 | 6 | public interface IResourceManager 7 | { 8 | Object LoadResourceImmediate(Type resourceType, string fileNameWithPath); 9 | String GetInformationFromFile(String text, String key); 10 | } 11 | 12 | public class ResourceManager : IResourceManager 13 | { 14 | public Object LoadResourceImmediate(Type resourceType, string fileNameWithPath) 15 | { 16 | string path = String.Empty; 17 | string filename = fileNameWithPath; 18 | string ext = String.Empty; 19 | 20 | if (fileNameWithPath.LastIndexOf("/") > -1) 21 | { 22 | filename = fileNameWithPath.Substring(fileNameWithPath.LastIndexOf("/") + 1); 23 | path = fileNameWithPath.Substring(0, fileNameWithPath.LastIndexOf("/")); 24 | 25 | } 26 | if (filename.LastIndexOf(".") > -1) 27 | { 28 | ext = filename.Substring(filename.LastIndexOf(".") + 1); 29 | filename = filename.Substring(0, filename.LastIndexOf(".")); 30 | } 31 | 32 | string load = String.Format("{0}/{1}", path, filename); 33 | return Resources.Load(load, resourceType); 34 | } 35 | 36 | public String GetInformationFromFile(String text, String data) 37 | { 38 | using (StringReader file = new StringReader(text)) 39 | { 40 | while (true) 41 | { 42 | string lineStr = file.ReadLine(); 43 | if (lineStr == null) 44 | break; 45 | 46 | string[] array = lineStr.Split(new[] { ',' }); 47 | string key = array[0]; 48 | string value = array[1]; 49 | 50 | if (key == data) 51 | { 52 | return value; 53 | } 54 | } 55 | } 56 | 57 | return String.Empty; 58 | } 59 | } -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Scripts/ResourceManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ea0884b3ff95a546878e4b3e5390388 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/Scripts/TheProgram.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f7311ab9243769499e73758b04f0866 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/StreamingAssets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c6abb3fb06ccb174ea51d5221bcb3ef7 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/StreamingAssets/README.md: -------------------------------------------------------------------------------- 1 | # IPv4 Applications -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/StreamingAssets/README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c878e77bd53681418c736e66c16acbf 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/TheScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13cab24b626e4b1459e8a67f42d8a79c 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/UnityVS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02fe78e962405814a83b8ba6c9471d32 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/UnityVS/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e71a3e2fb5854e43823a9da25b68e21 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/UnityVS/Editor/SyntaxTree.VisualStudio.Unity.Bridge.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameUnity/Assets/UnityVS/Editor/SyntaxTree.VisualStudio.Unity.Bridge.dll -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/UnityVS/Editor/SyntaxTree.VisualStudio.Unity.Bridge.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 38d405c119fcc7c4e83d4a478a40ff2f 3 | MonoAssemblyImporter: 4 | serializedVersion: 1 5 | iconMap: {} 6 | executionOrder: {} 7 | userData: 8 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/UnityVS/Editor/SyntaxTree.VisualStudio.Unity.Messaging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameUnity/Assets/UnityVS/Editor/SyntaxTree.VisualStudio.Unity.Messaging.dll -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/UnityVS/Editor/SyntaxTree.VisualStudio.Unity.Messaging.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4ad02dc83da735c4e8d945332b9202f6 3 | MonoAssemblyImporter: 4 | serializedVersion: 1 5 | iconMap: {} 6 | executionOrder: {} 7 | userData: 8 | -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/UnityVS/Editor/UnityVS.VersionSpecific.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv4/GameUnity/Assets/UnityVS/Editor/UnityVS.VersionSpecific.dll -------------------------------------------------------------------------------- /IPv4/GameUnity/Assets/UnityVS/Editor/UnityVS.VersionSpecific.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c6b7932770a329b4d8937a78f6709f20 3 | MonoAssemblyImporter: 4 | serializedVersion: 1 5 | iconMap: {} 6 | executionOrder: {} 7 | userData: 8 | -------------------------------------------------------------------------------- /IPv4/GameUnity/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | m_SpeedOfSound: 347 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_DSPBufferSize: 0 12 | m_DisableAudio: 0 13 | -------------------------------------------------------------------------------- /IPv4/GameUnity/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042, z: 0} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_BounceThreshold: 2 9 | m_SleepVelocity: .150000006 10 | m_SleepAngularVelocity: .140000001 11 | m_MaxAngularVelocity: 7 12 | m_MinPenetrationForPenalty: .00999999978 13 | m_SolverIterationCount: 6 14 | m_RaycastsHitTriggers: 1 15 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 16 | -------------------------------------------------------------------------------- /IPv4/GameUnity/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/TheScene.unity 10 | -------------------------------------------------------------------------------- /IPv4/GameUnity/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_WebSecurityEmulationEnabled: 0 10 | m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d 11 | m_DefaultBehaviorMode: 0 12 | m_SpritePackerMode: 2 13 | -------------------------------------------------------------------------------- /IPv4/GameUnity/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_AlwaysIncludedShaders: 8 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 9 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 10 | - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /IPv4/GameUnity/ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /IPv4/GameUnity/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_VelocityIterations: 8 9 | m_PositionIterations: 3 10 | m_VelocityThreshold: 1 11 | m_MaxLinearCorrection: .200000003 12 | m_MaxAngularCorrection: 8 13 | m_MaxTranslationSpeed: 100 14 | m_MaxRotationSpeed: 360 15 | m_MinPenetrationForPenalty: .00999999978 16 | m_BaumgarteScale: .200000003 17 | m_BaumgarteTimeOfImpactScale: .75 18 | m_TimeToSleep: .5 19 | m_LinearSleepTolerance: .00999999978 20 | m_AngularSleepTolerance: 2 21 | m_RaycastsHitTriggers: 1 22 | m_RaycastsStartInColliders: 1 23 | m_ChangeStopsCallbacks: 0 24 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 25 | -------------------------------------------------------------------------------- /IPv4/GameUnity/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | tags: 6 | - 7 | Builtin Layer 0: Default 8 | Builtin Layer 1: TransparentFX 9 | Builtin Layer 2: Ignore Raycast 10 | Builtin Layer 3: 11 | Builtin Layer 4: Water 12 | Builtin Layer 5: UI 13 | Builtin Layer 6: 14 | Builtin Layer 7: 15 | User Layer 8: 16 | User Layer 9: 17 | User Layer 10: 18 | User Layer 11: 19 | User Layer 12: 20 | User Layer 13: 21 | User Layer 14: 22 | User Layer 15: 23 | User Layer 16: 24 | User Layer 17: 25 | User Layer 18: 26 | User Layer 19: 27 | User Layer 20: 28 | User Layer 21: 29 | User Layer 22: 30 | User Layer 23: 31 | User Layer 24: 32 | User Layer 25: 33 | User Layer 26: 34 | User Layer 27: 35 | User Layer 28: 36 | User Layer 29: 37 | User Layer 30: 38 | User Layer 31: 39 | m_SortingLayers: 40 | - name: Default 41 | userID: 0 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /IPv4/GameUnity/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: .0199999996 7 | Maximum Allowed Timestep: .333333343 8 | m_TimeScale: 1 9 | -------------------------------------------------------------------------------- /IPv4/README.md: -------------------------------------------------------------------------------- 1 | # IPv4 Applications 2 | 3x applications for demonstration purposes: 3 | 4 | ###### Game Client 5 | Represents single game client connection to server. 6 | - Connsole Application 7 | - .NET Framework 4.5 8 | 9 | ###### Game Server 10 | Authoritative server to handle all client connections. 11 | - Connsole Application 12 | - .NET Framework 4.5 13 | 14 | ###### Game Unity 15 | Represents single Unity client connection to server. 16 | - Unity 4.7.2p1 17 | - Mono C#/3.5 18 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GameClient", "GameClient\GameClient.csproj", "{823828F9-0770-4A80-9186-0CDEB283386D}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|x86 = Debug|x86 9 | Release|x86 = Release|x86 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {823828F9-0770-4A80-9186-0CDEB283386D}.Debug|x86.ActiveCfg = Debug|x86 13 | {823828F9-0770-4A80-9186-0CDEB283386D}.Debug|x86.Build.0 = Debug|x86 14 | {823828F9-0770-4A80-9186-0CDEB283386D}.Release|x86.ActiveCfg = Release|x86 15 | {823828F9-0770-4A80-9186-0CDEB283386D}.Release|x86.Build.0 = Release|x86 16 | EndGlobalSection 17 | EndGlobal 18 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/Encryption/NetAESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetAESEncryption : NetCryptoProviderBase 8 | { 9 | public NetAESEncryption(NetPeer peer) 10 | : base(peer, new AesCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetAESEncryption(NetPeer peer, string key) 15 | : base(peer, new AesCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetAESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new AesCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/Encryption/NetDESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetDESEncryption : NetCryptoProviderBase 8 | { 9 | public NetDESEncryption(NetPeer peer) 10 | : base(peer, new DESCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetDESEncryption(NetPeer peer, string key) 15 | : base(peer, new DESCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetDESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new DESCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/Encryption/NetEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// Interface for an encryption algorithm 9 | /// 10 | public abstract class NetEncryption 11 | { 12 | /// 13 | /// NetPeer 14 | /// 15 | protected NetPeer m_peer; 16 | 17 | /// 18 | /// Constructor 19 | /// 20 | public NetEncryption(NetPeer peer) 21 | { 22 | if (peer == null) 23 | throw new NetException("Peer must not be null"); 24 | m_peer = peer; 25 | } 26 | 27 | public void SetKey(string str) 28 | { 29 | var bytes = System.Text.Encoding.ASCII.GetBytes(str); 30 | SetKey(bytes, 0, bytes.Length); 31 | } 32 | 33 | public abstract void SetKey(byte[] data, int offset, int count); 34 | 35 | /// 36 | /// Encrypt an outgoing message in place 37 | /// 38 | public abstract bool Encrypt(NetOutgoingMessage msg); 39 | 40 | /// 41 | /// Decrypt an incoming message in place 42 | /// 43 | public abstract bool Decrypt(NetIncomingMessage msg); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/Encryption/NetRC2Encryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetRC2Encryption : NetCryptoProviderBase 8 | { 9 | public NetRC2Encryption(NetPeer peer) 10 | : base(peer, new RC2CryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetRC2Encryption(NetPeer peer, string key) 15 | : base(peer, new RC2CryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetRC2Encryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new RC2CryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/Encryption/NetTripleDESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetTripleDESEncryption : NetCryptoProviderBase 8 | { 9 | public NetTripleDESEncryption(NetPeer peer) 10 | : base(peer, new TripleDESCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetTripleDESEncryption(NetPeer peer, string key) 15 | : base(peer, new TripleDESCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetTripleDESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new TripleDESCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/Miscellaneous.cs: -------------------------------------------------------------------------------- 1 | using System.Net; 2 | using System.Net.Sockets; 3 | 4 | public struct NetGameConfiguration 5 | { 6 | public NetGameConfiguration(IPAddress netIPAddress, AddressFamily netAddressFamily) 7 | : this() 8 | { 9 | NetIPAddress = netIPAddress; 10 | NetAddressFamily = netAddressFamily; 11 | } 12 | 13 | public IPAddress NetIPAddress { get; private set; } 14 | public AddressFamily NetAddressFamily { get; private set; } 15 | } 16 | 17 | public enum IPProtocol 18 | { 19 | IPv4, 20 | IPv6, 21 | } -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/NamespaceDoc.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// Lidgren Network Library 9 | /// 10 | internal class NamespaceDoc 11 | { 12 | // 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/NetDeliveryMethod.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// How the library deals with resends and handling of late messages 9 | /// 10 | public enum NetDeliveryMethod : byte 11 | { 12 | // 13 | // Actually a publicly visible subset of NetMessageType 14 | // 15 | 16 | /// 17 | /// Indicates an error 18 | /// 19 | Unknown = 0, 20 | 21 | /// 22 | /// Unreliable, unordered delivery 23 | /// 24 | Unreliable = 1, 25 | 26 | /// 27 | /// Unreliable delivery, but automatically dropping late messages 28 | /// 29 | UnreliableSequenced = 2, 30 | 31 | /// 32 | /// Reliable delivery, but unordered 33 | /// 34 | ReliableUnordered = 34, 35 | 36 | /// 37 | /// Reliable delivery, except for late messages which are dropped 38 | /// 39 | ReliableSequenced = 35, 40 | 41 | /// 42 | /// Reliable, ordered delivery 43 | /// 44 | ReliableOrdered = 67, 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/NetFragmentationInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | public sealed class NetFragmentationInfo 6 | { 7 | public int TotalFragmentCount; 8 | public bool[] Received; 9 | public int TotalReceived; 10 | public int FragmentSize; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/NetRandomSeed.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | 4 | namespace Lidgren.Network 5 | { 6 | /// 7 | /// Class for generating random seeds 8 | /// 9 | public static class NetRandomSeed 10 | { 11 | private static int m_seedIncrement = -1640531527; 12 | 13 | /// 14 | /// Generates a 32 bit random seed 15 | /// 16 | [CLSCompliant(false)] 17 | public static uint GetUInt32() 18 | { 19 | ulong seed = GetUInt64(); 20 | uint low = (uint)seed; 21 | uint high = (uint)(seed >> 32); 22 | return low ^ high; 23 | } 24 | 25 | /// 26 | /// Generates a 64 bit random seed 27 | /// 28 | [CLSCompliant(false)] 29 | public static ulong GetUInt64() 30 | { 31 | #if !__ANDROID__ && !IOS && !UNITY_WEBPLAYER && !UNITY_ANDROID && !UNITY_IPHONE 32 | ulong seed = (ulong)System.Diagnostics.Stopwatch.GetTimestamp(); 33 | seed ^= (ulong)Environment.WorkingSet; 34 | ulong s2 = (ulong)Interlocked.Increment(ref m_seedIncrement); 35 | s2 |= (((ulong)Guid.NewGuid().GetHashCode()) << 32); 36 | seed ^= s2; 37 | #else 38 | ulong seed = (ulong)Environment.TickCount; 39 | seed |= (((ulong)(new object().GetHashCode())) << 32); 40 | ulong s2 = (ulong)Guid.NewGuid().GetHashCode(); 41 | s2 |= (((ulong)Interlocked.Increment(ref m_seedIncrement)) << 32); 42 | seed ^= s2; 43 | #endif 44 | return seed; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/NetReceiverChannelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal abstract class NetReceiverChannelBase 6 | { 7 | internal NetPeer m_peer; 8 | internal NetConnection m_connection; 9 | 10 | public NetReceiverChannelBase(NetConnection connection) 11 | { 12 | m_connection = connection; 13 | m_peer = connection.m_peer; 14 | } 15 | 16 | internal abstract void ReceiveMessage(NetIncomingMessage msg); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/NetSendResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | /// 6 | /// Result of a SendMessage call 7 | /// 8 | public enum NetSendResult 9 | { 10 | /// 11 | /// Message failed to enqueue because there is no connection 12 | /// 13 | FailedNotConnected = 0, 14 | 15 | /// 16 | /// Message was immediately sent 17 | /// 18 | Sent = 1, 19 | 20 | /// 21 | /// Message was queued for delivery 22 | /// 23 | Queued = 2, 24 | 25 | /// 26 | /// Message was dropped immediately since too many message were queued 27 | /// 28 | Dropped = 3 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/NetSenderChannelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal abstract class NetSenderChannelBase 6 | { 7 | // access this directly to queue things in this channel 8 | internal NetQueue m_queuedSends; 9 | 10 | internal abstract int WindowSize { get; } 11 | 12 | internal abstract int GetAllowedSends(); 13 | 14 | internal abstract NetSendResult Enqueue(NetOutgoingMessage message); 15 | internal abstract void SendQueuedMessages(float now); 16 | internal abstract void Reset(); 17 | internal abstract void ReceiveAcknowledge(float now, int sequenceNumber); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/NetStoredReliableMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal struct NetStoredReliableMessage 6 | { 7 | public int NumSent; 8 | public float LastSent; 9 | public NetOutgoingMessage Message; 10 | public int SequenceNumber; 11 | 12 | public void Reset() 13 | { 14 | NumSent = 0; 15 | LastSent = 0; 16 | Message = null; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/NetTuple.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | // replace with BCL 4.0 Tuple<> when appropriate 8 | internal struct NetTuple 9 | { 10 | public A Item1; 11 | public B Item2; 12 | 13 | public NetTuple(A item1, B item2) 14 | { 15 | Item1 = item1; 16 | Item2 = item2; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/NetUnreliableSequencedReceiver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal sealed class NetUnreliableSequencedReceiver : NetReceiverChannelBase 6 | { 7 | private int m_lastReceivedSequenceNumber = -1; 8 | 9 | public NetUnreliableSequencedReceiver(NetConnection connection) 10 | : base(connection) 11 | { 12 | } 13 | 14 | internal override void ReceiveMessage(NetIncomingMessage msg) 15 | { 16 | int nr = msg.m_sequenceNumber; 17 | 18 | // ack no matter what 19 | m_connection.QueueAck(msg.m_receivedMessageType, nr); 20 | 21 | int relate = NetUtility.RelativeSequenceNumber(nr, m_lastReceivedSequenceNumber + 1); 22 | if (relate < 0) 23 | return; // drop if late 24 | 25 | m_lastReceivedSequenceNumber = nr; 26 | m_peer.ReleaseMessage(msg); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Lidgren/NetUnreliableUnorderedReceiver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal sealed class NetUnreliableUnorderedReceiver : NetReceiverChannelBase 6 | { 7 | public NetUnreliableUnorderedReceiver(NetConnection connection) 8 | : base(connection) 9 | { 10 | } 11 | 12 | internal override void ReceiveMessage(NetIncomingMessage msg) 13 | { 14 | // ack no matter what 15 | m_connection.QueueAck(msg.m_receivedMessageType, msg.m_sequenceNumber); 16 | 17 | m_peer.ReleaseMessage(msg); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/LogManager.cs: -------------------------------------------------------------------------------- 1 | //using UnityEngine; 2 | 3 | public interface ILogManager 4 | { 5 | void Initialize(TargetEnvironment targetEnvironment); 6 | void LogDebug(string message); 7 | void LogDebugError(string message); 8 | } 9 | 10 | public class LogManager : ILogManager 11 | { 12 | private TargetEnvironment _targetEnvironment; 13 | 14 | public void Initialize(TargetEnvironment targetEnvironment) 15 | { 16 | _targetEnvironment = targetEnvironment; 17 | } 18 | 19 | public void LogDebug(string message) 20 | { 21 | if (TargetEnvironment.Test != _targetEnvironment) 22 | { 23 | return; 24 | } 25 | 26 | //Debug.Log("db " + message); 27 | } 28 | 29 | public void LogDebugError(string message) 30 | { 31 | if (TargetEnvironment.Test != _targetEnvironment) 32 | { 33 | return; 34 | } 35 | 36 | //Debug.LogError("db " + message); 37 | } 38 | } 39 | 40 | public enum TargetEnvironment 41 | { 42 | Unknown, 43 | Test, 44 | Beta, 45 | Prod 46 | } -------------------------------------------------------------------------------- /IPv6/GameClient/GameClient/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using System.Runtime.InteropServices; 4 | 5 | // Information about this assembly is defined by the following attributes. 6 | // Change them to the values specific to your project. 7 | 8 | [assembly: AssemblyTitle("GameClient")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("")] 13 | [assembly: AssemblyCopyright("TEST")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". 18 | // The form "{Major}.{Minor}.*" will automatically update the build and revision, 19 | // and "{Major}.{Minor}.{Build}.*" will update just the revision. 20 | [assembly: ComVisible(false)] 21 | [assembly: CLSCompliant(false)] 22 | 23 | [assembly: AssemblyVersion("3.1")] 24 | 25 | // The following attributes are used to specify the signing key for the assembly, 26 | // if desired. See the Mono documentation for more information about signing. 27 | 28 | //[assembly: AssemblyDelaySign(false)] 29 | //[assembly: AssemblyKeyFile("")] 30 | 31 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GameServer", "GameServer\GameServer.csproj", "{BCF0855B-D4B3-4FB1-A952-C221D2669F0B}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|x86 = Debug|x86 9 | Release|x86 = Release|x86 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {BCF0855B-D4B3-4FB1-A952-C221D2669F0B}.Debug|x86.ActiveCfg = Debug|x86 13 | {BCF0855B-D4B3-4FB1-A952-C221D2669F0B}.Debug|x86.Build.0 = Debug|x86 14 | {BCF0855B-D4B3-4FB1-A952-C221D2669F0B}.Release|x86.ActiveCfg = Release|x86 15 | {BCF0855B-D4B3-4FB1-A952-C221D2669F0B}.Release|x86.Build.0 = Release|x86 16 | EndGlobalSection 17 | EndGlobal 18 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Lidgren/Encryption/NetAESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetAESEncryption : NetCryptoProviderBase 8 | { 9 | public NetAESEncryption(NetPeer peer) 10 | : base(peer, new AesCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetAESEncryption(NetPeer peer, string key) 15 | : base(peer, new AesCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetAESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new AesCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Lidgren/Encryption/NetDESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetDESEncryption : NetCryptoProviderBase 8 | { 9 | public NetDESEncryption(NetPeer peer) 10 | : base(peer, new DESCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetDESEncryption(NetPeer peer, string key) 15 | : base(peer, new DESCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetDESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new DESCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Lidgren/Encryption/NetEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// Interface for an encryption algorithm 9 | /// 10 | public abstract class NetEncryption 11 | { 12 | /// 13 | /// NetPeer 14 | /// 15 | protected NetPeer m_peer; 16 | 17 | /// 18 | /// Constructor 19 | /// 20 | public NetEncryption(NetPeer peer) 21 | { 22 | if (peer == null) 23 | throw new NetException("Peer must not be null"); 24 | m_peer = peer; 25 | } 26 | 27 | public void SetKey(string str) 28 | { 29 | var bytes = System.Text.Encoding.ASCII.GetBytes(str); 30 | SetKey(bytes, 0, bytes.Length); 31 | } 32 | 33 | public abstract void SetKey(byte[] data, int offset, int count); 34 | 35 | /// 36 | /// Encrypt an outgoing message in place 37 | /// 38 | public abstract bool Encrypt(NetOutgoingMessage msg); 39 | 40 | /// 41 | /// Decrypt an incoming message in place 42 | /// 43 | public abstract bool Decrypt(NetIncomingMessage msg); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Lidgren/Encryption/NetRC2Encryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetRC2Encryption : NetCryptoProviderBase 8 | { 9 | public NetRC2Encryption(NetPeer peer) 10 | : base(peer, new RC2CryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetRC2Encryption(NetPeer peer, string key) 15 | : base(peer, new RC2CryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetRC2Encryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new RC2CryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Lidgren/Encryption/NetTripleDESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetTripleDESEncryption : NetCryptoProviderBase 8 | { 9 | public NetTripleDESEncryption(NetPeer peer) 10 | : base(peer, new TripleDESCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetTripleDESEncryption(NetPeer peer, string key) 15 | : base(peer, new TripleDESCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetTripleDESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new TripleDESCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Lidgren/NamespaceDoc.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// Lidgren Network Library 9 | /// 10 | internal class NamespaceDoc 11 | { 12 | // 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Lidgren/NetDeliveryMethod.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// How the library deals with resends and handling of late messages 9 | /// 10 | public enum NetDeliveryMethod : byte 11 | { 12 | // 13 | // Actually a publicly visible subset of NetMessageType 14 | // 15 | 16 | /// 17 | /// Indicates an error 18 | /// 19 | Unknown = 0, 20 | 21 | /// 22 | /// Unreliable, unordered delivery 23 | /// 24 | Unreliable = 1, 25 | 26 | /// 27 | /// Unreliable delivery, but automatically dropping late messages 28 | /// 29 | UnreliableSequenced = 2, 30 | 31 | /// 32 | /// Reliable delivery, but unordered 33 | /// 34 | ReliableUnordered = 34, 35 | 36 | /// 37 | /// Reliable delivery, except for late messages which are dropped 38 | /// 39 | ReliableSequenced = 35, 40 | 41 | /// 42 | /// Reliable, ordered delivery 43 | /// 44 | ReliableOrdered = 67, 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Lidgren/NetFragmentationInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | public sealed class NetFragmentationInfo 6 | { 7 | public int TotalFragmentCount; 8 | public bool[] Received; 9 | public int TotalReceived; 10 | public int FragmentSize; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Lidgren/NetRandomSeed.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | 4 | namespace Lidgren.Network 5 | { 6 | /// 7 | /// Class for generating random seeds 8 | /// 9 | public static class NetRandomSeed 10 | { 11 | private static int m_seedIncrement = -1640531527; 12 | 13 | /// 14 | /// Generates a 32 bit random seed 15 | /// 16 | [CLSCompliant(false)] 17 | public static uint GetUInt32() 18 | { 19 | ulong seed = GetUInt64(); 20 | uint low = (uint)seed; 21 | uint high = (uint)(seed >> 32); 22 | return low ^ high; 23 | } 24 | 25 | /// 26 | /// Generates a 64 bit random seed 27 | /// 28 | [CLSCompliant(false)] 29 | public static ulong GetUInt64() 30 | { 31 | #if !__ANDROID__ && !IOS && !UNITY_WEBPLAYER && !UNITY_ANDROID && !UNITY_IPHONE 32 | ulong seed = (ulong)System.Diagnostics.Stopwatch.GetTimestamp(); 33 | seed ^= (ulong)Environment.WorkingSet; 34 | ulong s2 = (ulong)Interlocked.Increment(ref m_seedIncrement); 35 | s2 |= (((ulong)Guid.NewGuid().GetHashCode()) << 32); 36 | seed ^= s2; 37 | #else 38 | ulong seed = (ulong)Environment.TickCount; 39 | seed |= (((ulong)(new object().GetHashCode())) << 32); 40 | ulong s2 = (ulong)Guid.NewGuid().GetHashCode(); 41 | s2 |= (((ulong)Interlocked.Increment(ref m_seedIncrement)) << 32); 42 | seed ^= s2; 43 | #endif 44 | return seed; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Lidgren/NetReceiverChannelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal abstract class NetReceiverChannelBase 6 | { 7 | internal NetPeer m_peer; 8 | internal NetConnection m_connection; 9 | 10 | public NetReceiverChannelBase(NetConnection connection) 11 | { 12 | m_connection = connection; 13 | m_peer = connection.m_peer; 14 | } 15 | 16 | internal abstract void ReceiveMessage(NetIncomingMessage msg); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Lidgren/NetSendResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | /// 6 | /// Result of a SendMessage call 7 | /// 8 | public enum NetSendResult 9 | { 10 | /// 11 | /// Message failed to enqueue because there is no connection 12 | /// 13 | FailedNotConnected = 0, 14 | 15 | /// 16 | /// Message was immediately sent 17 | /// 18 | Sent = 1, 19 | 20 | /// 21 | /// Message was queued for delivery 22 | /// 23 | Queued = 2, 24 | 25 | /// 26 | /// Message was dropped immediately since too many message were queued 27 | /// 28 | Dropped = 3 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Lidgren/NetSenderChannelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal abstract class NetSenderChannelBase 6 | { 7 | // access this directly to queue things in this channel 8 | internal NetQueue m_queuedSends; 9 | 10 | internal abstract int WindowSize { get; } 11 | 12 | internal abstract int GetAllowedSends(); 13 | 14 | internal abstract NetSendResult Enqueue(NetOutgoingMessage message); 15 | internal abstract void SendQueuedMessages(float now); 16 | internal abstract void Reset(); 17 | internal abstract void ReceiveAcknowledge(float now, int sequenceNumber); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Lidgren/NetStoredReliableMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal struct NetStoredReliableMessage 6 | { 7 | public int NumSent; 8 | public float LastSent; 9 | public NetOutgoingMessage Message; 10 | public int SequenceNumber; 11 | 12 | public void Reset() 13 | { 14 | NumSent = 0; 15 | LastSent = 0; 16 | Message = null; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Lidgren/NetTuple.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | // replace with BCL 4.0 Tuple<> when appropriate 8 | internal struct NetTuple 9 | { 10 | public A Item1; 11 | public B Item2; 12 | 13 | public NetTuple(A item1, B item2) 14 | { 15 | Item1 = item1; 16 | Item2 = item2; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Lidgren/NetUnreliableSequencedReceiver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal sealed class NetUnreliableSequencedReceiver : NetReceiverChannelBase 6 | { 7 | private int m_lastReceivedSequenceNumber = -1; 8 | 9 | public NetUnreliableSequencedReceiver(NetConnection connection) 10 | : base(connection) 11 | { 12 | } 13 | 14 | internal override void ReceiveMessage(NetIncomingMessage msg) 15 | { 16 | int nr = msg.m_sequenceNumber; 17 | 18 | // ack no matter what 19 | m_connection.QueueAck(msg.m_receivedMessageType, nr); 20 | 21 | int relate = NetUtility.RelativeSequenceNumber(nr, m_lastReceivedSequenceNumber + 1); 22 | if (relate < 0) 23 | return; // drop if late 24 | 25 | m_lastReceivedSequenceNumber = nr; 26 | m_peer.ReleaseMessage(msg); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Lidgren/NetUnreliableUnorderedReceiver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal sealed class NetUnreliableUnorderedReceiver : NetReceiverChannelBase 6 | { 7 | public NetUnreliableUnorderedReceiver(NetConnection connection) 8 | : base(connection) 9 | { 10 | } 11 | 12 | internal override void ReceiveMessage(NetIncomingMessage msg) 13 | { 14 | // ack no matter what 15 | m_connection.QueueAck(msg.m_receivedMessageType, msg.m_sequenceNumber); 16 | 17 | m_peer.ReleaseMessage(msg); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/LogManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Runtime.InteropServices; 4 | 5 | namespace GameServer 6 | { 7 | public static class NativeMethods 8 | { 9 | [DllImport("Kernel32", EntryPoint = "GetCurrentThreadId", ExactSpelling = true)] 10 | internal static extern Int32 GetCurrentWin32ThreadId(); 11 | } 12 | 13 | public static class LogManager 14 | { 15 | private static readonly log4net.ILog OUTPUT = log4net.LogManager.GetLogger(typeof(LogManager)); 16 | private static Int32 threadId; 17 | 18 | public static void Initialize() 19 | { 20 | log4net.Config.XmlConfigurator.Configure(); 21 | threadId = NativeMethods.GetCurrentWin32ThreadId(); 22 | } 23 | 24 | public static void Info(String message) 25 | { 26 | Int32 nextThreadId = NativeMethods.GetCurrentWin32ThreadId(); 27 | String prefix = threadId == nextThreadId ? "MAIN" : "work"; 28 | 29 | String value = String.Format("[{0}][{1}] {2}", prefix, nextThreadId.ToString(CultureInfo.InvariantCulture).PadLeft(5, ' '), message); 30 | OUTPUT.Info(value); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using System.Runtime.InteropServices; 4 | 5 | // Information about this assembly is defined by the following attributes. 6 | // Change them to the values specific to your project. 7 | 8 | [assembly: AssemblyTitle("GameServer")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("")] 13 | [assembly: AssemblyCopyright("TEST")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". 18 | // The form "{Major}.{Minor}.*" will automatically update the build and revision, 19 | // and "{Major}.{Minor}.{Build}.*" will update just the revision. 20 | [assembly: ComVisible(false)] 21 | [assembly: CLSCompliant(false)] 22 | 23 | [assembly: AssemblyVersion("3.1")] 24 | 25 | // The following attributes are used to specify the signing key for the assembly, 26 | // if desired. See the Mono documentation for more information about signing. 27 | 28 | //[assembly: AssemblyDelaySign(false)] 29 | //[assembly: AssemblyKeyFile("")] 30 | 31 | -------------------------------------------------------------------------------- /IPv6/GameServer/GameServer/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /IPv6/GameServer/packages/log4net.2.0.5/lib/net10-full/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameServer/packages/log4net.2.0.5/lib/net10-full/log4net.dll -------------------------------------------------------------------------------- /IPv6/GameServer/packages/log4net.2.0.5/lib/net11-full/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameServer/packages/log4net.2.0.5/lib/net11-full/log4net.dll -------------------------------------------------------------------------------- /IPv6/GameServer/packages/log4net.2.0.5/lib/net20-full/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameServer/packages/log4net.2.0.5/lib/net20-full/log4net.dll -------------------------------------------------------------------------------- /IPv6/GameServer/packages/log4net.2.0.5/lib/net35-client/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameServer/packages/log4net.2.0.5/lib/net35-client/log4net.dll -------------------------------------------------------------------------------- /IPv6/GameServer/packages/log4net.2.0.5/lib/net35-full/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameServer/packages/log4net.2.0.5/lib/net35-full/log4net.dll -------------------------------------------------------------------------------- /IPv6/GameServer/packages/log4net.2.0.5/lib/net40-client/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameServer/packages/log4net.2.0.5/lib/net40-client/log4net.dll -------------------------------------------------------------------------------- /IPv6/GameServer/packages/log4net.2.0.5/lib/net40-full/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameServer/packages/log4net.2.0.5/lib/net40-full/log4net.dll -------------------------------------------------------------------------------- /IPv6/GameServer/packages/log4net.2.0.5/lib/net45-full/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameServer/packages/log4net.2.0.5/lib/net45-full/log4net.dll -------------------------------------------------------------------------------- /IPv6/GameServer/packages/log4net.2.0.5/log4net.2.0.5.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameServer/packages/log4net.2.0.5/log4net.2.0.5.nupkg -------------------------------------------------------------------------------- /IPv6/GameServer/packages/repositories.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Build.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 34d823b8e8188b542b704054ff0b20c4 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Build/androidDeploy.bat: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | REM Android Deployment Script 3 | 4 | REM Check Android Location. Anyone with a weird android location on their machine can add it here. 5 | IF EXIST d:\android\ set androidlocation=d:\android\ 6 | IF EXIST c:\android\ set androidlocation=c:\android\ 7 | 8 | if not defined androidlocation ( 9 | echo Android not found. Either Android SDK is not installed, or is in an unusual location. 10 | goto end 11 | ) 12 | 13 | set versioncode=1 14 | set apkname=com.steveproxna.gameunity 15 | 16 | 17 | echo Android found at %androidlocation% 18 | 19 | REM Set adb.exe location 20 | set adb=%androidlocation%sdk\platform-tools\adb.exe 21 | echo adb at %adb% 22 | 23 | 24 | REM Horrendous batch file hack to read the android version into a variable. 25 | for /f %%i in ('%adb% shell getprop ro.build.version.release') do set androidversion=%%i 26 | echo Android version is %androidversion% 27 | 28 | REM check for installation 29 | for /f %%i in ('%adb% shell pm list packages %apkname%') do set installed=%%i 30 | echo installed...%installed% 31 | 32 | if (%installed%) == () goto skipcacheclear 33 | 34 | REM clear cache 35 | REM echo clearing cache... 36 | REM %adb% shell pm clear %apkname% 37 | 38 | :skipcacheclear 39 | 40 | REM Uninstalling old version 41 | REM echo Uninstalling old version if present... 42 | REM %adb% uninstall %apkname% 43 | 44 | REM Whatever the version, the apk install is the same. 45 | echo Installing APK... 46 | %adb% install -r %apkname%.apk 47 | 48 | 49 | 50 | :end 51 | echo "Press Any Key To Exit..." 52 | pause > nul 53 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Build/androidDeploy.bat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e71328531cdcdb144a275e861a44d8b7 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Command.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b8a2a585d6f4f3409b566f2c8b7c9b0 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Command/AndroidBuild.bat: -------------------------------------------------------------------------------- 1 | "C:\Program Files (x86)\Unity\Editor\Unity.exe" -batchmode -nographics -quit -projectPath "." -executeMethod PerformBuild.CommandLineBuildOnCheckinAndroid -CustomArgs:Environment=IPv4;Version=1;BundleID=com.steveproxna.gameunity;VersionCode=1;SvnRevision=${SVN_REVISION};APKPath=build\com.steveproxna.gameunity.apk;HomeDirectory=. -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Command/AndroidBuild.bat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 26301e029ded5c04db82435116165d04 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Command/IOSBuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | /Applications/Unity/Unity.app/Contents/MacOS/Unity -quit -batchmode -nographics -executeMethod PerformBuild.CommandLineBuildOnCheckinIOS -CustomArgs:GameServer=localhost;Version=1;ShortBundleVersion=1;BundleID=com.steveproxna.gameunity;SvnRevision=${SVN_REVISION} -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Command/IOSBuild.sh.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bd9dc800fd52d194e88d78d3ab5d4a67 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3540943a9d7c14b4198506c3e888b871 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Editor/CommandLineReader.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 08b305ac5837e49409d497ab0df2d755 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Editor/PerformBuild.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d7b351734effe874f8710e3c5ed679a2 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3034f7c5f0d5a914aa753b1b1b52190e 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Encryption.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 809efd50c94a61b4b9f17f57a34ba07e 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Encryption/NetAESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetAESEncryption : NetCryptoProviderBase 8 | { 9 | public NetAESEncryption(NetPeer peer) 10 | : base(peer, new AesCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetAESEncryption(NetPeer peer, string key) 15 | : base(peer, new AesCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetAESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new AesCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Encryption/NetAESEncryption.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79c6d0f4cc8738c4a9dd1f9e0347b1d1 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Encryption/NetBlockEncryptionBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c01992df9db9b648b20b27d3d586a4e 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Encryption/NetCryptoProviderBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dcc09e03a269e484386c4ff279c1150b 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Encryption/NetDESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetDESEncryption : NetCryptoProviderBase 8 | { 9 | public NetDESEncryption(NetPeer peer) 10 | : base(peer, new DESCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetDESEncryption(NetPeer peer, string key) 15 | : base(peer, new DESCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetDESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new DESCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Encryption/NetDESEncryption.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97fa20adacd6d9343b5a6ab98b48e73d 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Encryption/NetEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// Interface for an encryption algorithm 9 | /// 10 | public abstract class NetEncryption 11 | { 12 | /// 13 | /// NetPeer 14 | /// 15 | protected NetPeer m_peer; 16 | 17 | /// 18 | /// Constructor 19 | /// 20 | public NetEncryption(NetPeer peer) 21 | { 22 | if (peer == null) 23 | throw new NetException("Peer must not be null"); 24 | m_peer = peer; 25 | } 26 | 27 | public void SetKey(string str) 28 | { 29 | var bytes = System.Text.Encoding.ASCII.GetBytes(str); 30 | SetKey(bytes, 0, bytes.Length); 31 | } 32 | 33 | public abstract void SetKey(byte[] data, int offset, int count); 34 | 35 | /// 36 | /// Encrypt an outgoing message in place 37 | /// 38 | public abstract bool Encrypt(NetOutgoingMessage msg); 39 | 40 | /// 41 | /// Decrypt an incoming message in place 42 | /// 43 | public abstract bool Decrypt(NetIncomingMessage msg); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Encryption/NetEncryption.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d609247628986964c81ac9088cc41865 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Encryption/NetRC2Encryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetRC2Encryption : NetCryptoProviderBase 8 | { 9 | public NetRC2Encryption(NetPeer peer) 10 | : base(peer, new RC2CryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetRC2Encryption(NetPeer peer, string key) 15 | : base(peer, new RC2CryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetRC2Encryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new RC2CryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Encryption/NetRC2Encryption.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 037a538eb2f35d844a011dc9ff05bc35 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Encryption/NetTripleDESEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | 5 | namespace Lidgren.Network 6 | { 7 | public class NetTripleDESEncryption : NetCryptoProviderBase 8 | { 9 | public NetTripleDESEncryption(NetPeer peer) 10 | : base(peer, new TripleDESCryptoServiceProvider()) 11 | { 12 | } 13 | 14 | public NetTripleDESEncryption(NetPeer peer, string key) 15 | : base(peer, new TripleDESCryptoServiceProvider()) 16 | { 17 | SetKey(key); 18 | } 19 | 20 | public NetTripleDESEncryption(NetPeer peer, byte[] data, int offset, int count) 21 | : base(peer, new TripleDESCryptoServiceProvider()) 22 | { 23 | SetKey(data, offset, count); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Encryption/NetTripleDESEncryption.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9ed098b4ed9cd9943bc9a12e9a114edd 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Encryption/NetXorEncryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// Example class; not very good encryption 9 | /// 10 | public class NetXorEncryption : NetEncryption 11 | { 12 | private byte[] m_key; 13 | 14 | /// 15 | /// NetXorEncryption constructor 16 | /// 17 | public NetXorEncryption(NetPeer peer, byte[] key) 18 | : base(peer) 19 | { 20 | m_key = key; 21 | } 22 | 23 | public override void SetKey(byte[] data, int offset, int count) 24 | { 25 | m_key = new byte[count]; 26 | Array.Copy(data, offset, m_key, 0, count); 27 | } 28 | 29 | /// 30 | /// NetXorEncryption constructor 31 | /// 32 | public NetXorEncryption(NetPeer peer, string key) 33 | : base(peer) 34 | { 35 | m_key = Encoding.UTF8.GetBytes(key); 36 | } 37 | 38 | /// 39 | /// Encrypt an outgoing message 40 | /// 41 | public override bool Encrypt(NetOutgoingMessage msg) 42 | { 43 | int numBytes = msg.LengthBytes; 44 | for (int i = 0; i < numBytes; i++) 45 | { 46 | int offset = i % m_key.Length; 47 | msg.m_data[i] = (byte)(msg.m_data[i] ^ m_key[offset]); 48 | } 49 | return true; 50 | } 51 | 52 | /// 53 | /// Decrypt an incoming message 54 | /// 55 | public override bool Decrypt(NetIncomingMessage msg) 56 | { 57 | int numBytes = msg.LengthBytes; 58 | for (int i = 0; i < numBytes; i++) 59 | { 60 | int offset = i % m_key.Length; 61 | msg.m_data[i] = (byte)(msg.m_data[i] ^ m_key[offset]); 62 | } 63 | return true; 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Encryption/NetXorEncryption.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30f96328d4ba3104e83a71603dc6065d 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Encryption/NetXteaEncryption.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ab8130cbf779c94b94ad24878a53e76 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Miscellaneous.cs: -------------------------------------------------------------------------------- 1 | using System.Net; 2 | using System.Net.Sockets; 3 | 4 | public struct NetGameConfiguration 5 | { 6 | public NetGameConfiguration(IPAddress netIPAddress, AddressFamily netAddressFamily) 7 | : this() 8 | { 9 | NetIPAddress = netIPAddress; 10 | NetAddressFamily = netAddressFamily; 11 | } 12 | 13 | public IPAddress NetIPAddress { get; private set; } 14 | public AddressFamily NetAddressFamily { get; private set; } 15 | } 16 | 17 | public enum IPProtocol 18 | { 19 | IPv4, 20 | IPv6, 21 | } -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/Miscellaneous.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a3065dc6a455ab74e953cddb45f2d4d2 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NamespaceDoc.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// Lidgren Network Library 9 | /// 10 | internal class NamespaceDoc 11 | { 12 | // 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NamespaceDoc.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1146c9607f1b8f749b0971b20df3e43c 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetBigInteger.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b98ec473b8cda91418ddcdca9e03a9e3 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetBitVector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa34ca9ad68e1bf4e809cfa272f7bb86 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetBitWriter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 436fb7886feb9f649a0ac15e350d52d0 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetBuffer.Peek.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e46a230de96359b43b1c14b49d24e527 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetBuffer.Read.Reflection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: efe3018d45e5bb94980768b3addcadc6 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetBuffer.Read.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df81f88c9a5b15a47acaa1f2a014ba95 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetBuffer.Write.Reflection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6854b403c752b746aa0ee4286f7e611 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetBuffer.Write.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 80f4f0c61adf0624e9940b5193020b28 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetBuffer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 08c2429d449733140a17fc24746567ca 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetClient.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1f8cde516bcc14442ba41b5b57c07ee4 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetConnection.Handshake.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 670b5ac28f5970b408649622acc9da78 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetConnection.Latency.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1085044fe9f4734f998ebe5a96d3295 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetConnection.MTU.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce9b797e89268fb4c8e265cab28085f4 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetConnection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b9ef34d44c794024da1df21b111729cf 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetConnectionStatistics.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db6da7e9f7ba0194b85b0aed6b99b95a 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetConnectionStatus.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e184b1e3a67b6a4390a4e89b889e489 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetConstants.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 61eecefb394815e45b391266a3a0c53e 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetDeliveryMethod.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | /// 8 | /// How the library deals with resends and handling of late messages 9 | /// 10 | public enum NetDeliveryMethod : byte 11 | { 12 | // 13 | // Actually a publicly visible subset of NetMessageType 14 | // 15 | 16 | /// 17 | /// Indicates an error 18 | /// 19 | Unknown = 0, 20 | 21 | /// 22 | /// Unreliable, unordered delivery 23 | /// 24 | Unreliable = 1, 25 | 26 | /// 27 | /// Unreliable delivery, but automatically dropping late messages 28 | /// 29 | UnreliableSequenced = 2, 30 | 31 | /// 32 | /// Reliable delivery, but unordered 33 | /// 34 | ReliableUnordered = 34, 35 | 36 | /// 37 | /// Reliable delivery, except for late messages which are dropped 38 | /// 39 | ReliableSequenced = 35, 40 | 41 | /// 42 | /// Reliable, ordered delivery 43 | /// 44 | ReliableOrdered = 67, 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetDeliveryMethod.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 839450c338e048545944895ac3998b2f 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetException.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 44aa4df3281f6a543a6662e559a19ce5 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetFragmentationHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1fcebc68ce8f2c4d918231ee3eb3973 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetFragmentationInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | public sealed class NetFragmentationInfo 6 | { 7 | public int TotalFragmentCount; 8 | public bool[] Received; 9 | public int TotalReceived; 10 | public int FragmentSize; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetFragmentationInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a2f6e7ce4179598428aaad1b093094b0 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetIncomingMessage.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f1e424fa37b61604db30e9cd10fff418 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetIncomingMessageType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0753965fe740c5e4e9d9b506e6f75e6a 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetMessageType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a1a0c629c4959448ba62c2f2f19dbf0 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetNatIntroduction.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1973fc99661b774c94b8cc0de9ec278 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetOutgoingMessage.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5923a069042c56543be53ff93f41921a 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetPeer.Discovery.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 186f0717fdc357649917dda0fa184a07 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetPeer.Fragmentation.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 790a0f40d423d4a41bf362e97c11c955 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetPeer.Internal.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aca71a3e8f1404e498bf1252568c20d0 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetPeer.LatencySimulation.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b7696aaa722164d4587e6b249e9bb79d 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetPeer.Logging.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f0b5da397d8b08b448986a6753faca18 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetPeer.MessagePools.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eff09c4cf27d145489e9e982be2b66db 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetPeer.Send.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: adebab647bc19e34dafe016c4949a84a 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetPeer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97b6c422e85ad824ca0de8ab8feb39d3 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetPeerConfiguration.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef11812a3314d42498495e22c198565c 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetPeerStatistics.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2f1501a0f166f40499392f44388d1631 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetPeerStatus.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: faecb79dfb3b7f54395724c7b36753c5 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetQueue.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d1ebe56f6554ee4e98c1a569f0e3cb5 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetRandom.Implementations.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac6e4c42c11a3eb42ac548c2f995ade7 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetRandom.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc3cb7263f0dbba4aae29b3682fca1d8 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetRandomSeed.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | 4 | namespace Lidgren.Network 5 | { 6 | /// 7 | /// Class for generating random seeds 8 | /// 9 | public static class NetRandomSeed 10 | { 11 | private static int m_seedIncrement = -1640531527; 12 | 13 | /// 14 | /// Generates a 32 bit random seed 15 | /// 16 | [CLSCompliant(false)] 17 | public static uint GetUInt32() 18 | { 19 | ulong seed = GetUInt64(); 20 | uint low = (uint)seed; 21 | uint high = (uint)(seed >> 32); 22 | return low ^ high; 23 | } 24 | 25 | /// 26 | /// Generates a 64 bit random seed 27 | /// 28 | [CLSCompliant(false)] 29 | public static ulong GetUInt64() 30 | { 31 | #if !__ANDROID__ && !IOS && !UNITY_WEBPLAYER && !UNITY_ANDROID && !UNITY_IPHONE 32 | ulong seed = (ulong)System.Diagnostics.Stopwatch.GetTimestamp(); 33 | seed ^= (ulong)Environment.WorkingSet; 34 | ulong s2 = (ulong)Interlocked.Increment(ref m_seedIncrement); 35 | s2 |= (((ulong)Guid.NewGuid().GetHashCode()) << 32); 36 | seed ^= s2; 37 | #else 38 | ulong seed = (ulong)Environment.TickCount; 39 | seed |= (((ulong)(new object().GetHashCode())) << 32); 40 | ulong s2 = (ulong)Guid.NewGuid().GetHashCode(); 41 | s2 |= (((ulong)Interlocked.Increment(ref m_seedIncrement)) << 32); 42 | seed ^= s2; 43 | #endif 44 | return seed; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetRandomSeed.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 40be5f139fc400a419fadc89e2fa3e12 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetReceiverChannelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal abstract class NetReceiverChannelBase 6 | { 7 | internal NetPeer m_peer; 8 | internal NetConnection m_connection; 9 | 10 | public NetReceiverChannelBase(NetConnection connection) 11 | { 12 | m_connection = connection; 13 | m_peer = connection.m_peer; 14 | } 15 | 16 | internal abstract void ReceiveMessage(NetIncomingMessage msg); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetReceiverChannelBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 49b34c3c189d5024aa4f30e1c6361ba4 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetReliableOrderedReceiver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39c1488ea799f184780e85f7062a0507 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetReliableSenderChannel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6a66029457cf2344782f2715b1533a92 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetReliableSequencedReceiver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af8bf46da8abe8344a7f2f317941d2c1 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetReliableUnorderedReceiver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b5fc64cc0fd1d246b8cd1b5f595d1a9 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetSRP.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 94415beb6c302b64ea5ba5a4ec608af3 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetSendResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | /// 6 | /// Result of a SendMessage call 7 | /// 8 | public enum NetSendResult 9 | { 10 | /// 11 | /// Message failed to enqueue because there is no connection 12 | /// 13 | FailedNotConnected = 0, 14 | 15 | /// 16 | /// Message was immediately sent 17 | /// 18 | Sent = 1, 19 | 20 | /// 21 | /// Message was queued for delivery 22 | /// 23 | Queued = 2, 24 | 25 | /// 26 | /// Message was dropped immediately since too many message were queued 27 | /// 28 | Dropped = 3 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetSendResult.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 22a4d7d1c9eb45541ae38a68cb6d13ca 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetSenderChannelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal abstract class NetSenderChannelBase 6 | { 7 | // access this directly to queue things in this channel 8 | internal NetQueue m_queuedSends; 9 | 10 | internal abstract int WindowSize { get; } 11 | 12 | internal abstract int GetAllowedSends(); 13 | 14 | internal abstract NetSendResult Enqueue(NetOutgoingMessage message); 15 | internal abstract void SendQueuedMessages(float now); 16 | internal abstract void Reset(); 17 | internal abstract void ReceiveAcknowledge(float now, int sequenceNumber); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetSenderChannelBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e1273e974e513f0439d367dff484aa84 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetServer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f71ef803b083ccc4998c6f27c5aa959f 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetStoredReliableMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal struct NetStoredReliableMessage 6 | { 7 | public int NumSent; 8 | public float LastSent; 9 | public NetOutgoingMessage Message; 10 | public int SequenceNumber; 11 | 12 | public void Reset() 13 | { 14 | NumSent = 0; 15 | LastSent = 0; 16 | Message = null; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetStoredReliableMessage.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7cace5c8915033340b65a7618f38fadb 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetTime.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6bd32d92ca0fbd4f96f6c8b49c3d1c5 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetTuple.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Lidgren.Network 6 | { 7 | // replace with BCL 4.0 Tuple<> when appropriate 8 | internal struct NetTuple 9 | { 10 | public A Item1; 11 | public B Item2; 12 | 13 | public NetTuple(A item1, B item2) 14 | { 15 | Item1 = item1; 16 | Item2 = item2; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetTuple.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e64e38db2a2e25340bc3e6e995591796 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetUPnP.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13a6345121447754aabe2ade2b13b794 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetUnreliableSenderChannel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9b3aab404a94aef4fac63a9a870e7a65 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetUnreliableSequencedReceiver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal sealed class NetUnreliableSequencedReceiver : NetReceiverChannelBase 6 | { 7 | private int m_lastReceivedSequenceNumber = -1; 8 | 9 | public NetUnreliableSequencedReceiver(NetConnection connection) 10 | : base(connection) 11 | { 12 | } 13 | 14 | internal override void ReceiveMessage(NetIncomingMessage msg) 15 | { 16 | int nr = msg.m_sequenceNumber; 17 | 18 | // ack no matter what 19 | m_connection.QueueAck(msg.m_receivedMessageType, nr); 20 | 21 | int relate = NetUtility.RelativeSequenceNumber(nr, m_lastReceivedSequenceNumber + 1); 22 | if (relate < 0) 23 | return; // drop if late 24 | 25 | m_lastReceivedSequenceNumber = nr; 26 | m_peer.ReleaseMessage(msg); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetUnreliableSequencedReceiver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff246cf4076b44c4ebce10b39b169b13 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetUnreliableUnorderedReceiver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lidgren.Network 4 | { 5 | internal sealed class NetUnreliableUnorderedReceiver : NetReceiverChannelBase 6 | { 7 | public NetUnreliableUnorderedReceiver(NetConnection connection) 8 | : base(connection) 9 | { 10 | } 11 | 12 | internal override void ReceiveMessage(NetIncomingMessage msg) 13 | { 14 | // ack no matter what 15 | m_connection.QueueAck(msg.m_receivedMessageType, msg.m_sequenceNumber); 16 | 17 | m_peer.ReleaseMessage(msg); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetUnreliableUnorderedReceiver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 734c61347f7077b48b6911a10f355a44 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Lidgren/NetUtility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 67801fc6a3cf6ec429af0899d8e76466 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dbe8f0f8528116c4a9a679cecd3cf902 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Plugins/Ionic.Zip.Reduced.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameUnity/Assets/Plugins/Ionic.Zip.Reduced.dll -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Plugins/Ionic.Zip.Reduced.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 821687bb6a0c0144eba49e25fd494530 3 | MonoAssemblyImporter: 4 | serializedVersion: 1 5 | iconMap: {} 6 | executionOrder: {} 7 | userData: 8 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 978ae2d294e286a4fbd6cd8e9a398e6a 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/TextFiles.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 712ddedc463532a4d825f3168e8ba96e 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/TextFiles/Android.txt: -------------------------------------------------------------------------------- 1 | HOST,localhost 2 | PORT,14242 -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/TextFiles/Android.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6363a31e400cce341a34b82c5779f51a 3 | TextScriptImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/TextFiles/iOS.txt: -------------------------------------------------------------------------------- 1 | HOST,localhost 2 | PORT,14242 -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/TextFiles/iOS.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 938b294243c5c6b49ac79bcd194ba7cc 3 | TextScriptImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3cb2bfac3d014bc4ea7072eee7b057f2 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/Textures/GameIcon.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e91712969479ba47bcefe3adc3c6f70 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/Textures/GameIcon/Android.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f3026a09fb7e4749bb65907cd86b8a9 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/Textures/GameIcon/Android/GameIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameUnity/Assets/Resources/Textures/GameIcon/Android/GameIcon.png -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/Textures/GameIcon/Android/GameIcon.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 27ed20535c1d584409fd8505e85348c4 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: -1 29 | mipBias: -1 30 | wrapMode: -1 31 | nPOTScale: 1 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 0 42 | textureType: -1 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/Textures/GameIcon/GameIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameUnity/Assets/Resources/Textures/GameIcon/GameIcon.png -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/Textures/GameIcon/GameIcon.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9cb5d2bc5ee4d2946895c5b207a15502 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: -1 29 | mipBias: -1 30 | wrapMode: -1 31 | nPOTScale: 1 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 0 42 | textureType: -1 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/Textures/GameIcon/IOS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b1e75d831d149a448deecb82dbb937b 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/Textures/GameIcon/IOS/GameIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameUnity/Assets/Resources/Textures/GameIcon/IOS/GameIcon.png -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/Textures/GameIcon/IOS/GameIcon.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f5e628db42d892b468675465a41c6d14 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: -1 29 | mipBias: -1 30 | wrapMode: -1 31 | nPOTScale: 1 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 0 42 | textureType: -1 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/Textures/Splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameUnity/Assets/Resources/Textures/Splash.png -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Resources/Textures/Splash.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: faa93028876d0f04a8351c9cd9fc176e 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: -1 29 | mipBias: -1 30 | wrapMode: -1 31 | nPOTScale: 1 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 0 42 | textureType: -1 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7ecc5ead9f146743ab6a53953b4090c 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Scripts/ConfigManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using UnityEngine; 4 | 5 | public interface IConfigManager 6 | { 7 | string GetInformationFromFile(string fullPath, string defaultValue); 8 | } 9 | 10 | public class ConfigManager : IConfigManager 11 | { 12 | public string GetInformationFromFile(string fullPath, string defaultValue) 13 | { 14 | if (RuntimePlatform.Android == Application.platform) 15 | { 16 | string fileName = Path.GetFileName(fullPath); 17 | using (MemoryStream m = new MemoryStream()) 18 | { 19 | string obbfile = Application.dataPath; 20 | Ionic.Zip.ZipFile zipfile = new Ionic.Zip.ZipFile(obbfile); 21 | Ionic.Zip.ZipEntry ze = zipfile["assets/" + fileName]; 22 | if (ze != null) 23 | { 24 | ze.Extract(m); 25 | m.Seek(0, SeekOrigin.Begin); 26 | using (StreamReader s = new StreamReader(m)) 27 | { 28 | string fileText = s.ReadLine(); 29 | return fileText; 30 | } 31 | } 32 | } 33 | } 34 | else 35 | { 36 | if (File.Exists(fullPath)) 37 | { 38 | String fileText = File.ReadAllText(fullPath); 39 | return fileText; 40 | } 41 | } 42 | 43 | return defaultValue; 44 | } 45 | } -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Scripts/ConfigManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b281ec05c7b287478bec0e52b9d8659 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Scripts/IPNetworkManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 99d488e48013e4b4488006f025b0d844 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Scripts/LogManager.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public interface ILogManager 4 | { 5 | void Initialize(TargetEnvironment targetEnvironment); 6 | void LogDebug(string message); 7 | void LogDebugError(string message); 8 | } 9 | 10 | public class LogManager : ILogManager 11 | { 12 | private TargetEnvironment _targetEnvironment; 13 | 14 | public void Initialize(TargetEnvironment targetEnvironment) 15 | { 16 | _targetEnvironment = targetEnvironment; 17 | } 18 | 19 | public void LogDebug(string message) 20 | { 21 | if (TargetEnvironment.Test != _targetEnvironment) 22 | { 23 | return; 24 | } 25 | 26 | Debug.Log("db " + message); 27 | } 28 | 29 | public void LogDebugError(string message) 30 | { 31 | if (TargetEnvironment.Test != _targetEnvironment) 32 | { 33 | return; 34 | } 35 | 36 | Debug.LogError("db " + message); 37 | } 38 | } 39 | 40 | public enum TargetEnvironment 41 | { 42 | Unknown, 43 | Test, 44 | Beta, 45 | Prod 46 | } -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Scripts/LogManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b68522da599b67499b57b69b79bc70b 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Scripts/ResourceManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using UnityEngine; 4 | using Object = UnityEngine.Object; 5 | 6 | public interface IResourceManager 7 | { 8 | Object LoadResourceImmediate(Type resourceType, string fileNameWithPath); 9 | String GetInformationFromFile(String text, String key); 10 | } 11 | 12 | public class ResourceManager : IResourceManager 13 | { 14 | public Object LoadResourceImmediate(Type resourceType, string fileNameWithPath) 15 | { 16 | string path = String.Empty; 17 | string filename = fileNameWithPath; 18 | string ext = String.Empty; 19 | 20 | if (fileNameWithPath.LastIndexOf("/") > -1) 21 | { 22 | filename = fileNameWithPath.Substring(fileNameWithPath.LastIndexOf("/") + 1); 23 | path = fileNameWithPath.Substring(0, fileNameWithPath.LastIndexOf("/")); 24 | 25 | } 26 | if (filename.LastIndexOf(".") > -1) 27 | { 28 | ext = filename.Substring(filename.LastIndexOf(".") + 1); 29 | filename = filename.Substring(0, filename.LastIndexOf(".")); 30 | } 31 | 32 | string load = String.Format("{0}/{1}", path, filename); 33 | return Resources.Load(load, resourceType); 34 | } 35 | 36 | public String GetInformationFromFile(String text, String data) 37 | { 38 | using (StringReader file = new StringReader(text)) 39 | { 40 | while (true) 41 | { 42 | string lineStr = file.ReadLine(); 43 | if (lineStr == null) 44 | break; 45 | 46 | string[] array = lineStr.Split(new[] { ',' }); 47 | string key = array[0]; 48 | string value = array[1]; 49 | 50 | if (key == data) 51 | { 52 | return value; 53 | } 54 | } 55 | } 56 | 57 | return String.Empty; 58 | } 59 | } -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Scripts/ResourceManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 758d8974fc888d444997976c4fece961 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/Scripts/TheProgram.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f7311ab9243769499e73758b04f0866 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/StreamingAssets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 22ea5983a66550f4e88f3734ef760c40 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/StreamingAssets/README.md: -------------------------------------------------------------------------------- 1 | # IPv6 Applications -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/StreamingAssets/README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e87b601c6b07d074589d77cbd41561e2 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/TheScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13cab24b626e4b1459e8a67f42d8a79c 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/UnityVS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02fe78e962405814a83b8ba6c9471d32 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/UnityVS/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e71a3e2fb5854e43823a9da25b68e21 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/UnityVS/Editor/SyntaxTree.VisualStudio.Unity.Bridge.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameUnity/Assets/UnityVS/Editor/SyntaxTree.VisualStudio.Unity.Bridge.dll -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/UnityVS/Editor/SyntaxTree.VisualStudio.Unity.Bridge.dll.meta: -------------------------------------------------------------------------------- 1 | guid: 38d405c119fcc7c4e83d4a478a40ff2f 2 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/UnityVS/Editor/SyntaxTree.VisualStudio.Unity.Messaging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameUnity/Assets/UnityVS/Editor/SyntaxTree.VisualStudio.Unity.Messaging.dll -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/UnityVS/Editor/SyntaxTree.VisualStudio.Unity.Messaging.dll.meta: -------------------------------------------------------------------------------- 1 | guid: 4ad02dc83da735c4e8d945332b9202f6 2 | -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/UnityVS/Editor/UnityVS.VersionSpecific.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SteveProXNA/UnityLidgrenIPv6/0be2b07e81a63efb47aaa04f666e54026e544092/IPv6/GameUnity/Assets/UnityVS/Editor/UnityVS.VersionSpecific.dll -------------------------------------------------------------------------------- /IPv6/GameUnity/Assets/UnityVS/Editor/UnityVS.VersionSpecific.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c6b7932770a329b4d8937a78f6709f20 3 | MonoAssemblyImporter: 4 | serializedVersion: 1 5 | iconMap: {} 6 | executionOrder: {} 7 | userData: 8 | -------------------------------------------------------------------------------- /IPv6/GameUnity/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | m_SpeedOfSound: 347 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_DSPBufferSize: 0 12 | m_DisableAudio: 0 13 | -------------------------------------------------------------------------------- /IPv6/GameUnity/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042, z: 0} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_BounceThreshold: 2 9 | m_SleepVelocity: .150000006 10 | m_SleepAngularVelocity: .140000001 11 | m_MaxAngularVelocity: 7 12 | m_MinPenetrationForPenalty: .00999999978 13 | m_SolverIterationCount: 6 14 | m_RaycastsHitTriggers: 1 15 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 16 | -------------------------------------------------------------------------------- /IPv6/GameUnity/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/TheScene.unity 10 | -------------------------------------------------------------------------------- /IPv6/GameUnity/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_WebSecurityEmulationEnabled: 0 10 | m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d 11 | m_DefaultBehaviorMode: 0 12 | m_SpritePackerMode: 2 13 | -------------------------------------------------------------------------------- /IPv6/GameUnity/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_AlwaysIncludedShaders: 8 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 9 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 10 | - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /IPv6/GameUnity/ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /IPv6/GameUnity/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_VelocityIterations: 8 9 | m_PositionIterations: 3 10 | m_VelocityThreshold: 1 11 | m_MaxLinearCorrection: .200000003 12 | m_MaxAngularCorrection: 8 13 | m_MaxTranslationSpeed: 100 14 | m_MaxRotationSpeed: 360 15 | m_MinPenetrationForPenalty: .00999999978 16 | m_BaumgarteScale: .200000003 17 | m_BaumgarteTimeOfImpactScale: .75 18 | m_TimeToSleep: .5 19 | m_LinearSleepTolerance: .00999999978 20 | m_AngularSleepTolerance: 2 21 | m_RaycastsHitTriggers: 1 22 | m_RaycastsStartInColliders: 1 23 | m_ChangeStopsCallbacks: 0 24 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 25 | -------------------------------------------------------------------------------- /IPv6/GameUnity/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | tags: 6 | - 7 | Builtin Layer 0: Default 8 | Builtin Layer 1: TransparentFX 9 | Builtin Layer 2: Ignore Raycast 10 | Builtin Layer 3: 11 | Builtin Layer 4: Water 12 | Builtin Layer 5: UI 13 | Builtin Layer 6: 14 | Builtin Layer 7: 15 | User Layer 8: 16 | User Layer 9: 17 | User Layer 10: 18 | User Layer 11: 19 | User Layer 12: 20 | User Layer 13: 21 | User Layer 14: 22 | User Layer 15: 23 | User Layer 16: 24 | User Layer 17: 25 | User Layer 18: 26 | User Layer 19: 27 | User Layer 20: 28 | User Layer 21: 29 | User Layer 22: 30 | User Layer 23: 31 | User Layer 24: 32 | User Layer 25: 33 | User Layer 26: 34 | User Layer 27: 35 | User Layer 28: 36 | User Layer 29: 37 | User Layer 30: 38 | User Layer 31: 39 | m_SortingLayers: 40 | - name: Default 41 | userID: 0 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /IPv6/GameUnity/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: .0199999996 7 | Maximum Allowed Timestep: .333333343 8 | m_TimeScale: 1 9 | -------------------------------------------------------------------------------- /IPv6/README.md: -------------------------------------------------------------------------------- 1 | # IPv6 Applications 2 | 3x applications for demonstration purposes: 3 | 4 | ###### Game Client 5 | Represents single game client connection to server. 6 | - Connsole Application 7 | - .NET Framework 4.5 8 | 9 | ###### Game Server 10 | Authoritative server to handle all client connections. 11 | - Connsole Application 12 | - .NET Framework 4.5 13 | 14 | ###### Game Unity 15 | Represents single Unity client connection to server. 16 | - Unity 4.7.2p1 17 | - Mono C#/3.5 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # UnityLidgrenIPv6 2 | IPv6-only networking integration using Lidgren on Unity4 3 | 4 | ###### RELEASE 5 | Tuesday, 15th November 2016 6 | 7 | ###### INTRO 8 | At WWDC 2015, Apple announced the transition to IPv6-only network services in iOS 9. 9 |
10 | June 1st 2016 all apps submitted to the App Store must support IPv6-only networking! 11 | 12 | ###### PLATFORMS 13 | - iOS 14 | - Android 15 | 16 | ###### TOOLS 17 | - Lidgren 3.1 18 | - Mono C#/3.5 19 | - Visual Studio 20 | - Unity 4.7.2p1 21 | - Xcode 7.3.1 22 | 23 | ###### SOURCE CODE 24 | http://github.com/SteveProXNA/UnityLidgrenIPv6 25 | 26 | ###### CREDITS 27 | Special thanks to [Lidgren](https://github.com/lidgren/lidgren-network-gen3) for initial Lidgren 3.0 code. 28 |
29 | Thanks also goes to [jens-nolte](https://github.com/jens-nolte) for IPv6 Dual Mode. 30 | 31 | ###### BLOG 32 | For more infomation please check out the following blog post: 33 |
34 | http://steveproxna.blogspot.co.uk/2016/11/unity3d-and-ipv6-networking.html 35 | 36 | ###### CONTACT 37 | - Blog: http://steveproxna.blogspot.com 38 | - Email: steven_boland@hotmail.com 39 | - Twitter: [@SteveProXNA](http://twitter.com/SteveProXNA) 40 | --------------------------------------------------------------------------------