Diva Wifi on Windows

There is a later version of this blog post available (click here) including details of changes necessary from OpenSim 0.9.1.0.

Diva Canto provides the popular “Diva Distribution (D2)” precompiled version of OpenSim which includes a number of addon modules. One of these is called “Wifi” and provides a web front-end interface to OpenSim running in “Standalone” or “Grid mode with “Robust” services.

Wifi is used, for example, as the web front end to the Openvue (Open Virtual University of Edinburgh) grid and the AiLand experimental and demo grid.

2015-04-06-Wifi-Openvue 2015-04-06-Wifi-AiLand

Wifi is documented on the OpenSim Wiki at http://opensimulator.org/wiki/Wifi through which links can be found to Diva Canto’s download and source areas on Github. Wifi serves web pages which provide services such as:

  • Account creation, optionally controlled by the administrator
  • Configurable default avatars for new accounts
  • Account updates by both users and administrator
  • Account deletion by administrator
  • Password recovery via e-mail
  • Simple user inventory management

Wifi as an OpenSim Add-in

Up to OpenSim 0.8.0, Wifi was available as an add on module via compiled .DLL libraries which could be enabled for Standalone and Grid setups. From OpenSim 0.8.1 onwards, a more flexible “add-in” library mechanism that was already in OpenSim has been improved and Wifi now is provided as an add-in under that mechanism. This does mean that the build and configuration process is different.

Diva Canto has provided a blog post which describes the new Wifi mechanism and how to build and configure it, mostly geared at Unix/Linux users.

Wifi for OpenSim Robust Grids for Windows Users

In case it is helpful to those running Robust grids under Windows, I describe here the mechanism I use to build, configure and run Wifi on our own grids.

  1. Download the OpenSim source distribution as a zip file from one of the following:

    and unzip the source code to a suitable location. Note there is a folder called “addon-modules” at the top level (same level as the “bin” directory) which only contains a README.

  2. Obtain the source of the Diva addons via

    and unzip it to a temporary area. Copy the contents of the “addon-modules” from that area into the main unzipped OpenSim directory top level addon-modules directory. Take care as there is another directory “bin/addon-modules” which is NOT the one you want to copy to.

  3. The following Diva addon modules are require for Wifi to work… the others are optional for uses beyond the Wifi interface and may be omitted…
    • 00Data
    • 00DivaInterfaces
    • 01DivaUtils
    • 1DivaOpenSimServices
    • 20WifiScriptEngine
    • 21Wifi

  4. You can now build OpenSim as usual, and the addons will also be automatically compiled. E.g., in a Command Prompt shell “cd” (change directory) to the top level of the OpenSim unzipped directory and then run “runprebuild.bat” followed by “compile.bat”. The resulting bin directory contains all you need and will have in it the addon Diva modules including Wifi.

  5. Added 2015-11-24: The latest versions of Wifi allow for extensive localisation with several provided languages and instructions on how to add further languages. A script (Unix .sh or Windows .bat) is now included in Wifi which creates a .dll file containing the resources used when the Wifi module starts up for localisation. Run it at addon-modules/21Wifi/Localization/make_languages.bat or .sh.

  6. Before you run Robust.exe and OpenSim.exe, configure Wifi for your requirements by editing bin/Wifi.ini (but see the section “Disable Wifi in OpenSim.exe” below for a suggested improvement). Since Wifi.ini sets Wifi as disabled by default, you will have to explicitly enable it and change necessary information to access your OpenSim data base, set your administrator avatar name and e-mail, etc.

  7. To allow tailoring of Wifi for your own grid, a directory “WifiPages” at the same level as the “bin” directory may be used where you can place specific *.html and any image/* files which will override the default equivalents in bin/WifiPages. The following pages can be overridden:
    • footer.html
    • header.html
    • links.html
    • splash.html
    • termsofservice.html
    • welcome.html
    • image/*

Disable Wifi in OpenSim.exe

With the default locations suggested in Robust.[HG.]ini.example and OpenSim.ini.example for the add-in configuration and registry locations, the addins are picked up by both Robust.exe and OpenSim.exe and use the same configuration for both. This means that if Wifi is enabled in Wifi.ini it runs in both Robust.exe and OpenSim.exe. This is not what is wanted for a grid and means that Wifi is served on the OpenSim default port (usually :9000) as well as the grid services port (usually :8002).

Hence, the following is the configuration used on Openvue and AiLand grids to allow for separate enabling of Wifi for Robust.exe and disabling Wifi for OpenSim.exe. Wifi.ini is MOVED from bin/Wifi.ini to config-addon-robust/Wifi.ini. These configuration settings may be useful as a basis for what others might wish to use…

-------- Robust.[HG].ini ----------------------
[Startup]
    RegistryLocation = "."
    ConfigDirectory = "./config-addon-robust"

-------- OpenSim.ini---------------------------
[Startup]
    RegistryLocation = "."
    ConfigDirectory = "./config-addon-opensim"

-------- config-addon-robust/Wifi.ini ---------
; Copied from Diva's Wifi.ini with [WifiService] Enabled = true
; and changes for your data base, admin avatar and grid environment
...

-------- config-addon-opensim/Wifi.ini --------
[WifiService]
	Enabled = false

Check your Data.MySQL.dll in Robust.[HG.]ini

In configurations for Wifi before the 0.8.1 add-in, Diva.Data.MySQL.dll was used as the “StorageProvider” both within the Wifi modules and for other Robust services. This is no longer necessary. The default StorageProvider = OpenSim.Data.MySQL.dll can be used for all normal Robust.exe services as configured in Robust.[HG.]ini as Wifi itself picked up the StorageProvider separately from that stated in Wifi.ini.

Diva Distribution and Sim-on-a-Stick

The Diva Distribution (D2) and Sim-on-a-Stick are being updated to include the new Wifi addon module.

2015-04-06-Wifi-SimonaStick

Adding Wifi into a precompiled version of OpenSim (Added 7-Mar-2016)

Notes added to assist another OpenSim grid manager add Wifi to their setup. If you try this please give feedback if you spot any errors or omissions.

If you are using a precompiled version of OpenSim to set up your grid (not a standalone) and are using MySQL as your data base then one simple way to add in Wifi would be:

  1. Obtain and unzip the precompiled version of OpenSim later than 0.8.1.
  2. Obtain and unzip the precompiled Diva D2 Distribution suited to the version of OpenSim you are using from http://metaverseink.com/Downloads.html
  3. Copy the following files from the D2 Distribution to the equivalent locations in your main OpenSim directory:
    • bin/Diva.Data.dll
    • bin/Diva.Data.MySQL.dll
    • bin/Diva.Interfaces.dll
    • bin/Diva.Utils.dll
    • bin/Diva.OpenSimServices.dll
    • bin/Diva.Wifi.dll
    • bin/Diva.Wifi.pot (probably not required)
    • bin/Diva.Wifi.ScriptEngine.dll
    • bin/Wifi.ini
    • doc/Wifi.txt
    • RELEASENOTESWIFI.txt
  4. Customise the bin/Wifi.ini file for your environment before you first run OpenSim, including actually enabling Wifi, which is off by default.

Diva Wifi for OpenSim 0.9.1.* onwards

OpenSim 0.9.1.0 changes the .NET Framework in use for compilation from 4.0 to 4.6. As at 12-Dec-2018 the sources for Diva’s addon modules are still based on .NET Framework 4.0 suitable for OpenSim versions up to the current stable 0.9.0.1. Small changes are needed to the *prebuild.xml files in those sources for Diva addon modules (and hence Wifi) to work with the latest versions of OpenSim.

First check the GitHub Diva source downloads directory as updates are likely once 0.9.1.0 is available as a stable OpenSim release.

Otherwise some helpful information and resources may be found in this later blog post onwards.

This entry was posted in OpenSim, Virtual World and tagged , , , . Bookmark the permalink.