Skip to content

Releases: SoftwareGuy/Ignorance

Ignorance v1.2.7.1 Public Release

04 Jun 07:21
Compare
Choose a tag to compare

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.
    image
  • 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

08 May 04:06
Compare
Choose a tag to compare

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

29 Apr 03:21
Compare
Choose a tag to compare

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

17 Apr 03:54
Compare
Choose a tag to compare

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

06 Apr 04:55
Compare
Choose a tag to compare

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

31 Mar 06:00
Compare
Choose a tag to compare

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)

20 Mar 01:17
Compare
Choose a tag to compare

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)

19 Mar 03:19
Compare
Choose a tag to compare

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

14 Mar 06:16
Compare
Choose a tag to compare

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

08 Mar 02:42
Compare
Choose a tag to compare
Pre-release

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...?