Flexible Virtual Environment Server
The goal of this project is to build a flexible virtual world server that can be used to build various synchronized applications with different requirements. Its architecture is highly modular, providing a lightweight base application with a very flexible plugin mechanism.
FiVES is part of the FIWARE project, funded by the European Union. There, FiVES is provided as alternative implementation of the 'Synchronization' Generic Enabler. For more information, please refer to http://www.fiware.org
The following directories exist in the repository:
Directory | Purpose |
---|---|
Core | contains core libraries for the server |
doc | contains files for generating documentation |
Misc | different tools for testing |
FIVES | contains the server application |
Plugins | contains server plugins |
ServiceBus | Contains the Plugin-Service-Orchestration bus |
ThirdParty | contains 3rd-party libraries not available in nuGet |
WebClient | contains Web-client for testing the server |
The following directories may be generated dynamically:
Directory | Purpose |
---|---|
Binaries | contains compiled plugins and protocols with all required third-party dependencies and debug files. New versions of plugins and protocols are automatically copied here. The FiVES application automatically loads plugins and protocols from this directory. This makes the edit-compile-test cycle easier. |
packages | created by nuGet to contain 3rd party libraries |
test-results | created by MonoDevelop to contain unit test results |
The FiVES project consists of three main parts:
We use nuGet to manage third-party libraries. If you want to build FIVES, please install nuGet into your IDE and restore all packages. Some libraries that are not available in nuGet are located in ThirdParty directory.
All third party libraries that are needed to build FiVES are either supplied within the project, or managed by the NuGet package manager: http://www.nuget.org . Simply add NuGet to your IDE, select to restore packages on build, and build the entire solution.
FiVES can be built and run on both Windows and Linux system.
To run FiVES, just double click FIVES.exe (Windows), or use mono to run FiVES (Linux) by typing mono FIVES.exe
.
FiVES requires Administrator rights under Windows to be allowed to open HTTP listener ports.
There are currently the following resources that allow you to directly dive into the FiVES development:
FiVES is provided subject to terms of the GNU LGPL v3 license. Please refer to the LICENSE file for more information. All third-party libraries come with their own licenses. Details about third party licenses are given in the Readme file in the third party folder, and on the project webpages of the different projects.