Releases: SoftwareGuy/Ignorance
Ignorance v1.2.7.1 Public Release
This version of Ignorance requires a "repair install" to function correctly. Make sure you follow the steps outlined below carefully:
- Load a empty blank scene in Unity Editor so no Mirror Network Components are present.
- Delete the "Ignorance" folder and related IgnoranceTransport scripts out of the
Runtime
folder as shown below. You can do this inside Unity or outside, up to you.
- If you chose to delete it inside Unity, you will get some compile errors. This is to be expected. Continue.
- Download this release and import it over the top of your project.
- The compile errors should now disappear.
- Load a network scene and start Host or Dedicated Server mode, then you should see "Ignorance v1.2.7.1" somewhere in the thank you texts. If you see that, you are GOOD TO GO.
New Features
- No new features at this time.
Bug Fixes & Improvements
- Improved client disconnection method
- Fixed issues regarding
AlreadyInitialized
fucking up the code path. My bad... that was sloppy.
Other
- Updated ENET-C# Dependency
Ignorance v1.2.6 Public Release
A highly compatible drop-in update that brings you updates and improvements to your Ignorance-powered network project.
New Features
- Another set of freshly baked ENET libraries.
Bug Fixes & Improvements
- ProcessMessageData: Reuse buffer instead of creating a new one every message (#47) - this reduces allocations when processing message data. Buffer is currently 64KB, will be configurable in later version of Ignorance.
- AddScriptingDefine: Only run when the scripting definitions change, not every time.
Other
- Updated ENET-C# Dependency
- Some comments had bad grammar and were fixed
Ignorance v1.2.5 Public Release
A highly compatible drop-in update that brings you updates and improvements to your Ignorance-powered network project.
New Features
- Updated against Mirror master, mainly due to the ArraySegment changes.
- New DLLs from the ENET-CSharp repository for x64 desktop targets, Android and iOS.
- Ignorance now spits out the client's IP and port on connection and disconnection messages. Very useful for auditing or checking if someone's trying to (D)DoS your game from within the client, etc.
Bug Fixes & Improvements
- Port Forwarding requests now look for NAT-PMP devices as well as UPnP devices.
- Improved the initialization and deinitialization routines for the ENET-CSharp Library. This should help reduce the russian roulette chances of the Unity Editor crashing due to weird voodoo. If you are affected by this please open a support ticket!
- Fixed a bug where the server wouldn't set connection timeout on clients.
Other
- Code refactoring and cleanup (thanks @MichalPetryka)
- LZ4 Compression option marked as potentially buggy (see Inspector warning)
Ignorance v1.2.4 Public Release
A highly compatible drop-in update that brings you updates and improvements to your Ignorance-powered network project.
New Features
- Ignorance now can automatically open UPnP-enabled Router firewall ports for the server instance. This is powered by Open.NAT which is now a dependency.
Bug Fixes
- Fixed issue where the Ignorance Scripting Symbol Define script would try to eat any new
IGNORANCE_(...)
symbols. This has been fixed.
Other
- Code cleanup, some old functions got the dumpster.
- Reworded some messages and exceptions.
- No native library updates as of yet due to upstream NX code being frozen. The ENET-C# library fork of mine will continue to be kept open for the mean time.
- Please note that UPnP is regarded as experimental and it can randomly fail depending on your router's make and model. I cannot test very router - your feedback is essential!
- UPnP code can be disabled by specifying
IGNORANCE_NO_UPNP
in Scripting Symbols. This will completely strip the port mapping code from the compiled assembly.
Ignorance v1.2.3 Public Release
A highly compatible drop-in update that brings you updates and improvements to your Ignorance-powered network project.
New Features
- New baked DLLs for iOS, Android, Windows x64, MacOS and Linux
Bug Fixes
- Race condition could occur on client shutdown. Found by @GabeBigBoxVR and fixed thanks to @c6burns. For more information, see the commit's comment.
Other
- Minor code cleanup.
- Old packet engine has been removed. It has been obsoleted for some time and all code using Ignorance will be automatically updated to the new packet engine that can process more packets at once. If this is a problem, open a support ticket and we'll talk.
- Windows ENET DLL is now using MSVC compiler with the MFC libraries compiled in. However, should something go wrong or ENET won't load for some reason, replace enet.dll with the MinGW64 compiled DLL in the archive. That should get it going again.
- Debug versions of the Windows DLL available upon request.
Ignorance v1.2.2 Public Release
New Features
- New packet flags. You can now have Reliable Unsequenced packets along with the usual types: Reliable, Unreliable, Unreliable Sequenced, Unreliable Fragmented.
- Freshly baked ENET DLLs that reflect NX's upstream ENET native code.
- Version bumped to 1.2.2 (was 1.2.1c)
Bug Fixes
- Can't remember
Other
- Nothing to mention about.
Ignorance v1.2.1b (Patch Release 2)
Patch release 2 to implement a feature requested by Noble Whale (authors of Smooth Sync and Noble Connect) which will make Ignorance automatically add the IGNORANCE
, IGNORANCE_1
and IGNORANCE_1_2
compile directives. This makes it easier to know what code to run depending if you're on 1.2 or an experimental newer branch.
Ignorance v1.2.1a (Patch Release 1)
This patch release moves ISegmentTransport.cs
outside of the Ignorance specific folder into Mirror's Transport folder. This allows third-party assets to use compatible transports for VoIP and other magic. The original file does still exist, but it will be overwritten to avoid compilation errors.
Since this a patch release, no major features are in this release. However, you can now check if Ignorance is present by checking if IGNORANCE_PRESENT
is defined. If it is, you know Ignorance is in your project, somewhere. This is great for asset developers wanting to use Ignorance-specific ways of doing things.
Report any bugs you may find, please.
Ignorance v1.2.1 Public Release
Same feature set as the development snapshot but PongChamp scene has been updated for tests with Reliable, Unreliable, Unreliable Fragmented and Unreliable Sequenced channels (4 in total).
Should be literally import over the top and be done with the update.
Ignorance v1.2.1 Development Snapshot
This is a development snapshot, but I wanted to release it at the moment as it is deemed to be stable and has some major improvements including a fix for channels not working as intended in previous versions.
As well as the above, you get the following:
- I have moved the Transport location from Mirror/Transport to Mirror/Runtime/Transport. This may or may not break some network scripts. It should be fairly trivial to repair said breakage, but this will probably be the last time I move it around. Sorry!
- New inspector. Now you get a much nicer configuration setup and allows me to do some magic.
- Channels actually work this time around. Really sorry about this, this was an oversight on my behalf. As a plus, this should no longer throw "Send failure on channel X to connection Y" errors. Defaults are Reliable on Channel 0, and Unreliable on Channel 1. Don't fiddle with Channels 0 and 1 unless you know what you're doing - leave them alone!
- Code cleanup and improvements, plus some function renames to tidy up everything.
- Bugs...?