InWorldz Halcyon 3d virtual reality world simulator
Clone or download
appurist and kf6kjg OAR enhancements, including support for recursive scan/loading and IW…
… OARs opt-in (#54)

* Changes to support filtered OAR loading, minus actual filtering.

* Added `scan iwoar`, without the database storage (yet).

* creator_assets storage, basic filtering of assets, root prim/objects

* Actually does the filtering, plus semantic changes on some commands.

saves creators on SCAN by default, doesn't remap uuids by default on load (unless --allow-reassign is used), a bit of cleanup on parameters.

* Oops, gotta filter the contents objects, not outer objects.

And void null reference exception

* Fixed null reference and return value for unfiltered case.

* Fixed counter for case where opt-in was unknown.

* work in progress. first attempt to reserialize modified objects.

* Changes to support filtered OAR loading, minus actual filtering.

* Added `scan iwoar`, without the database storage (yet).

* creator_assets storage, basic filtering of assets, root prim/objects

* Actually does the filtering, plus semantic changes on some commands.

saves creators on SCAN by default, doesn't remap uuids by default on load (unless --allow-reassign is used), a bit of cleanup on parameters.

* Oops, gotta filter the contents objects, not outer objects.

And void null reference exception

* Fixed null reference and return value for unfiltered case.

* Fixed counter for case where opt-in was unknown.

* work in progress. first attempt to reserialize modified objects.

* I didn't need this user asset remapping after all.

* Fixed the EOF error handling in TarArchiveReader to return null on EOF.

* Use more member variables for runtime context, inc m_inventorySerializer

* Track nested depth and replace asset on filtering.

* Doh. Put the Equals test back in to FilterContents, and disable depth.

The latter is just a test for now for tracing.

* Fixed the owner checks not to use the (old, wrong) serialized OwnerID

* Added ConsoleMode class and call to disable Quick Edit mode on consoles.

Was causing consoles to hang if someone clicked on one with the mouse. (I thought this was already coded, it's like a change was lost.) This implementation is probably cleaner than any previous one anyway.

* Added a runtime check to set the console mode only under Windows.

Should allow safe Windows execution, while also allowing a clean Linux startup again.

* Simple URL change in sample INI file

* NUnit to 3 series from NuGet

* Cleanup and fix LRUCache implementation and tests

Some modernization refactoring, documentation, and some bugfixing as revealed by the unit tests.

Removed the bool that Mike had added to LRUCache in favor of just checking the null status of the objectSizes object, like is done elsewhere in the code.

Had to fix the size accumulator not getting size amounts when objectSizes wasn't active: the rest of the code assumed it would be incremented by a size of 1 and it wasn't.

* Inline wait in unit test

This allows for cleaner reporting of aggregate exceptions.

* Cleaning up NREs exposed by updated tests

All because the tests are doing things for simplified setup that the code doesn't really support...

* Fixed remote presence tests

Needed the regions to actually be there so that they could be contacted and respond that they got the agent.

* Enable unit tests in Appveyor

* Document netsh commands needed to pass the unit tests

* Disable the error reports "Failure storing asset" due to already exists.

And "Not storing asset that already exists"

* Fixed inappropriate "ServerWeight is -1 after delta of 0" messages.

* Fixed incorrect nested foreach scaning objects, added counters.

* Factor ReplacePartWithDefaultPrim, filter sculpt/mesh assets.

* Add mesh to scan + counters, fix null reference on unrecognized assets

More error reporting for asset filters and failures

* Terrain texture filtering added.

No recognition of library assets yet though.

* Not InWorldz Library (this gets overridden by User's XML anyway.

* Don't filter Library assets.

* Coded but untested, support for coalesced Contents items (mutable!).

* For easier load iwoar testing, support 'all' variant on nuke command.

* Fixed breakage of OriginalBackupIDs tracking, new UUIDs.

* Let's substitute a plywood texture rather than white.

To avoid masking/hiding replacement cases and making them more difficult to spot.

* Cleaned up noisy logging (commented out for now).

* When reserializing items, ensure they have (correct) owner ID specified.

* Fix viewer textures, texture filtering, default faces, object owners, 

and lots of debugging

* Lowered the threshold for reporting "Low physics" to 25fps

* Added progress updates during load, and disabled debug messages.

* optional oar debugging ("debug oars {level}" command)

* Oar debugging, also fixed nuke to avoid attachments in wildcard case.

* Removed the special cases for mesh textures. 

All filtering is consistent now with plywood. There's a lot of plywood. :(
Latest commit 7fabf6f Jan 17, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode Added VSCode support, plus simplified CLI build Dec 2, 2018
Halcyon/Halcyon.Data.Inventory.MySQL NUnit to 3 series from NuGet Dec 26, 2018
InWorldz OAR enhancements, including support for recursive scan/loading and IW… Jan 17, 2019
MOSES/FreeswitchVoice NUnit to 3 series from NuGet Dec 26, 2018
OpenSim OAR enhancements, including support for recursive scan/loading and IW… Jan 17, 2019
OpenSimProfile/Modules Moved project files to .NET Standard 4.7.1 Aug 5, 2018
ThirdParty Drop prebuild like a bad habit May 6, 2018
ThirdPartyLicenses Dump licenses for unused projects Dec 9, 2018
bin Added definitions for email schemas. Jan 7, 2019
doc Added docs and support for simplified shutdown and restart XMLRPC calls. Dec 4, 2017
lib OAR enhancements, including support for recursive scan/loading and IW… Jan 17, 2019
share Initial import from SVN Sep 11, 2015
.appveyor.yml Enable unit tests in Appveyor Dec 26, 2018
.gitignore NUnit to 3 series from NuGet Dec 26, 2018
Halcyon.DotSettings Add resharper settings that make things more friendly Sep 13, 2016
Halcyon.sln MonoDevelop formatting rules Nov 22, 2018
Halcyon.sln.DotSettings Add resharper settings that make things more friendly Sep 13, 2016
LICENSE Initial commit Sep 8, 2015
README.md Redirect README links Aug 19, 2018
build.ps1 Added VSCode support, plus simplified CLI build Dec 2, 2018
build.sh Added VSCode support, plus simplified CLI build Dec 2, 2018
runprebuild.bat Drop prebuild like a bad habit May 6, 2018
runprebuild.sh Drop prebuild like a bad habit May 6, 2018
version.cmd The command to manually update VersionInfo.cs Nov 15, 2018

README.md

halcyon

Halcyon 3D virtual world simulator.

Halcyon was originally based on the OpenSimulator project but was forked in 2010 to provide a stable platform for everyday use under high load. We have concentrated on performance and stability to provide a strong, stable base originally for the InWorldz grid - and now your grid too!

Build Status

Current status: Build status Master branch: Build status

Latest release: https://github.com/HalcyonGrid/halcyon/releases

For building and installation instructions, please see the Halcyon wiki.

Halycon Wiki: https://github.com/HalcyonGrid/halcyon/wiki

Tested operating systems

At this time, only the following 64 bit operating systems are being tested against:

  • Microsoft Windows 7
  • Microsoft Windows 10
  • Microsoft Windows Server 2008 R2
  • Microsoft Windows Server 2012/ 2012 R2
  • Ubuntu 16.04 (WIP, probably will change to 18.04 soon)

Open source contributions are very welcome - especially in regard to testing on other operating systems. We are actively working to get the code to run with physics enabled on Linux, and are seeking to assist in the development of a PhysX wrapper that works well with 64 bit Linux distros.