w4os – OpenSimulator Web Interface


Ready to use WordPress interface for OpenSimulator. Provides user registration, default avatar model choice, login info, statistics and a web assets server for grids or standalone simulators.

Voir les fonctionnalités actuelles et futures dans les sections Features et Roadmap.


  • Avatar creation:
    • Opensimulator section in standard wp account page
    • Onglet Avatar dans le tableau de bord Mon Compte pour les sites WooCommerce
    • Avatar and website passwords are synchronized
    • Configuration instructions for new avatars
    • Public avatar profile: excerpt of the avatar’s profile
    • Avatar Models: default outfits to choose from on registration
    • Reserved names: avatar whose first name or last name is « Default », « Test », « Admin » or the pattern used for appearance models are disallowed for public (such avatars must be created by admins from Robust console)
  • Search Engine: enable in-world search
    • places
    • land for sale
    • classifieds
    • events (2do.directory integration)
  • Shortcodes
    • Grid info: [grid-info] shortcode, Gutenberg block and Divi module
    • Grid status: [grid-status] shortcode, Gutenberg block and Divi module
    • Grid status: [popular-places] shortcode, Gutenberg block and Divi module
    • Profile page: [avatar-profile] shortcode, Gutenberg block and Divi module
  • Web assets server: the needed bridge to display in-world images on a website
  • Currency helpers: integration with Podex, Gloebit and core money module
  • Offline messages e-mail forwarding
  • Manual and cron Grid/WP users sync
  • Auth with avatar credentials (if no matching wp account, create one)

Paid version

The free version from WordPress plugins directory and the paid version are technically the same. The only difference is the way you support this plugin developement: with the free version, you join the community experience (please rate and comment), while the paid version helps us to dedicate resources to this project.

Feuille de route

See (https://github.com/GuduleLapointe/w4os/) for complete status and changelog.

Medium term

  • Destinations guide
  • Web search
  • Multiple avatars for same WordPress user
  • Improve avatar profile
    • Switch to allow web profile
    • Meilleure présentation
    • Édition du profil sur le site
  • Intégration du projet 2do HYPEvents https://2do.pm
  • Gudz Teleport Board project integration (based on user picks)
  • Récupération des réglages depuis le fichier de configuration du simulateur si local
  • Admin create users
  • Admin create models (from current own avatar appearance)

À long terme

  • Robust console connection
    • Admin Start / Stop regions
    • Admin Create region
    • User’s own regions control (create, start, stop, backup)
  • WooCommerce integration
    • paid accounts
    • regions orders
    • other pay-for services
  • Deactivate (recommended) or delete (experimental) grid user when deleting wp account
  • Split code between OpenSimulator and WordPress specific codes

Captures d’écran

  • Exemples des informations et du statut de la grille
  • Avatar registration form in WooCommerce My Account dashboard.
  • Page des réglages
  • Web assets server settings


Cette extension fournit 4 blocs.

  • OpenSimulator Popular Places
  • OpenSimulator Grid Info
  • OpenSimulator Grid Status
  • OpenSimulator Avatar Profile


  • Le serveur ROBUST doit être installé avant de configurer W4OS.
  • To allow users to choose an avatar on registration, you must enable user
    profiles in Robust.HG.ini (update [UserProfilesService], [ServiceList] and
    [UserProfiles] sections)
  • You should have a working assets server (see Dependencies section below)

WordPress configuration

Before installing this plugin, make sure your WordPress installation is complete and permalinks are enabled.

If upgrading from a different distribution (e.a. switching from github to WordPress Plugin Directory), make sure you disable the installed verssion before activating the new one.

  1. Download and activate the latest stable release
  2. Visit OpenSim settings (admin menu > « Opensim » > « Settings »)
    • Enter your grid name and grid URI (like yourgrid.org:8002 without http://)
    • Enter your robust database connection details and submit. If you get a
      database connection error, it might come from a case-sensitivity issue (see
    • insérez les codes courts [gridinfo] et [gridstatus] dans une page ou dans un widget
  3. Set permalinks and profile page
    • Visit Settings > Permalinks, confirm W4OS slugs (profile and assets) and save.
    • Create a page with the same slug as Profile permalink.
      (This will be handled in a more convenient way in the future)

Create avatar models

Avatar models are displayed on new avatar registration and allow new users to start with another appearance than Ruth.

  • Check (or change) their naming convention in Admin > OpenSimulator > Settings > Avatar models
  • From robust console, create a user named accordingly (for example, « Female Default », Default John », …).
    R.O.B.U.S.T. # create user Default John
    Password: ************************
    Email []: (leave empty)
    User ID (enter for random) []: (leave empty)
    Model name []: (leave empty)
    15:27:58 - [USER ACCOUNT SERVICE]: Account Default John xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx created successfully

    • A password is needed as you need connect in-world to configure it.
      Choose a strong password, any hack could affect all new users.
    • FirstName or LastName has to match your W4OS Avatar models settings
    • Le reste du nom sera affiché dans le formulaire, choisissez-en un qui ait du sens
    • Vous pouvez laissez « Email » et « User ID » vide
    • Leave « Model Name » blank, you are creating a model, not using an existing model to create a user
  • Connectez-vous en ligne avec cet avatar et changez sa tenue. Tous les vêtements et attachements portés seront transmis aux nouveaux avatars. Assurez-vous de ne porter que des éléments copiables et transférables.
  • Make a snapshot and attach it to this account profile

The model will now appear in new avatar registration form, with its profile picture.

Ces comptes seront ignorés dans les statistiques de la grille.


  • Web Asset Server: the project requires a web asset server to convert simulator assets (profile pictures, model avatars…) and display them on the website. W4OS provides a web assets service, or you can specify an external web assets service URL instead.
  • PHP 7.4 to 8.1
  • PHP Modules: w4os requires php imagemagick module. Also, while they are not required, WordPress recommends activating PHP curl and xml modules. They are also recommended by W4OS for full functionalties.


See TROUBLESHOOTING.md for more information.


Do I need to run the website on the same server?

No, if your web server has access to your OpenSimulator database.

Can I use this plugin for my standalone simulator?

Yes, it works too. Use OpenSim database credentials when requested for Robust credentials.

Why can’t I change my avatar name?

This is an OpenSimulator design limitation. Regions rely on cached data to
display avatar information, and once fetched, these are never updated. As a
result, if an avatar’s name (or grid URI btw) is changed, the change would not
be reflected on regions already visited by this avatar (which will still show
the old name), but new visited regions would display the new name. This could be
somewhat handled for a small standalone grid, but never in hypergrid context.
There is no process to force a foreign grid to update its cache, and probably
never will.

Shouldn’t I copy the helpers/ directory in the root of my webiste ?

No, you don’t need to and you shouldn’t. The /helpers/ is virtual, it is served
as any other page of your website. Like there the /about/ URL website doesn’t
match a /about/ folder your webste directory. Even if there is a helpers/
directory in w4os plugin, it has the same name for convenience, but he could
have been named anything. It’s content is not accessed directly, it is used by
the plugin to generate the answers. On the opposite, if there was an actual
helpers/ folder in your website root, it would interfer with w4os.

Should I create assets/ directory in the root of my webiste ?

Yes and No. It can improve a lot the images delivery speed, but you won’t
benefit of the cache expiry, which would eventually correct any wrong or
corrupted image.

I use Divi theme, I can’t customize profile page

Divi Theme support is fixed in versions 2.4.5 and above.


4 mars 2023
UPDATE It's working fine. I'm running now a native opensim installation an everything is doing how it should. Thanks to the Devs for the great plugin.
27 octobre 2022 2 réponses
I tried it twice. Once using a test DreamGrid setup - which failed to get permalinks working. So the profile slug never worked. It might of been because DreamGrid wordpress defaults to wordpress in a subfolder. I may of also not hit "save" after confirming the permalink for profile was there. First time around I was confused because the assets slug was missing but readme said it should be there...more on this below. The second attempt worked using diva opensim and wordpress WordPress 5.9.5. The instructions say: Visit Settings > Permalinks, confirm W4OS slugs (profile and assets) and save. Only: W4OS Profile base [profile] Showed in my settings on both tries. I haven't gotten around to testing if the asset slug still magically works even though it isn't listed on the permalinks page. Anyway was very excited to get the basic functionality of syncing and creating profiles working. Good review from us. Best thing out there at present.
7 octobre 2021
OK, it's not fair to rate your own extension, but it comes from a good intention. I give myself a maximum mark, not for the current status of the project, but on the intentions. And honestly, this plugin is already helping me a lot in the day-to-day management of my grid, so maybe it would be a deserved note. Or not. I invite you to test it and evaluate it on more objective criteria.
Lire les 4 avis

Contributeurs/contributrices & développeurs/développeuses

« w4os – OpenSimulator Web Interface » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.


“w4os – OpenSimulator Web Interface” a été traduit dans 2 locales. Remerciez l’équipe de traduction pour ses contributions.

Traduisez « w4os – OpenSimulator Web Interface » dans votre langue.

Le développement vous intéresse ?

Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.



Stable release, includes updates from 2.4.2 to 2.4.7, mainly:
* optimized Grid Status, Grid Info, Popular Places and Avatar Profile Gutenberg block
* added « mini profile » option to avatar profile
* added Divi modules for Grid Status, Grid Info, Popular Places and Avatar Profile
* added option to define avatar models by a custom list in addition to name rules
* added Gloebit configuration instructions
* reorganized settings in several page
* fix potential crash due to incorrectly formatted translations
* and a bunch of other fixes and enhancements detailed below


  • fix crash caused by translation on nl and de pages
  • fix popular-place page would crash if mpty answer given by the helper


  • added Gloebit configuration instructions
  • added link to economy binaries download


  • added « mini profile » option to avatar block
  • added Grid Status, Grid Info and Avatar Profile Divi module
  • fixed Grid Status, Grid Info and Avatar Profile Gutenberg block
  • reorganized Search Engine, Economy and Offline Messages settings
  • clarified profile page settings
  • fixed Podex redirect message broken


  • added title level option to Popular Places block, shortcode and Divi module


  • added Popular Places Divi Builder module
  • added separate web assets server settings page
  • added separate Shortcode admin page
  • added [popular-places] to Shortcode page
  • renamed shortcodes for clarity and constistency:
    • [grid-info] instead of [gridinfo]
    • [grid-status] instead of [gridstatus]
    • [avatar-profile] instead of [gridprofile]
    • Legacy shortcodes kept for backwards compatibility
  • added warning when attempting to edit profile page (or any page generated by w4os) with Divi Builder.
  • prettier and more efficient db credentials options in settings page (getting ready for optimized use in the future)


  • added option to define avatar models with a custom list in addition to name rule
  • update available models dynamically on models settings page
  • fix settings action link displayed in the wrong plugin row on plugin page


  • fix fatal error when updating from WP directory (« MetaBoxUpdaterOption » not found)


  • new Avatar Models settings page, including list of available avatars
  • added defaults for plugin-provider or external search engines
  • added troubleshooting guide
  • added instructions for nginx users
  • optimized assets rendering from cache
  • fix profile and avatar models pictures broken
  • fix regression arguments not accepted for query.php
  • fix invalid DATA_SRV_ example variable when gridname contains invalid characters
  • fix helpers nginx icompatibility (use REQUEST_URI instead of REDIRECT_URL)
  • fix helpers settings hints missing http:// protocol for gatekeeper
  • fix no result if gatekeeper is passed without http:// protocol
  • fix search and register url settings

2.3.10 > 2.3.15

  • restored WooCommerce Account Dashboard avatar section
  • fix array_unique(): Argument #1 ($array) must be of type array, null given on plugin first activation
  • fix Undefined constant « W4OS_PROFILE_URL » fatal error
  • fix wrong event time in in-world search (UTC shown instead of grid time)
  • fix w4os_profile_sync() fatal error when profiles are disabled
  • fix fatal error when wp object is passed as user_id
  • minor fixes (profile page title, profile image, profile text display)


  • new search helper
  • new offline messages helper. Messages are stored in OfflineMessageModule V2 format, so one can switch between core and external service (fix #47)
  • new currency helpers
  • new Popular Places block and [popular-places] shortcode
  • new events parser (fetch events from 2do.pm or another HYPEvents server)
  • added password reset link to profile page
  • added prebuilt binaries for opensim 0.9.1 and 0.9.2
  • added currency conversion rate setting
  • separate helpers settings page
  • updated translations
  • fix userprofile table queried even if not present (issue #64) when User Profiles are not enabled on robust
  • fix fatal error Argument #2 ($haystack) must be of type array, bool given (issue #64)
  • fix offline messages not forwarded by mail (opensim db not properly loaded by helpers)
  • fix profile picture aspect ratio (4/3, as in viewer)
  • fix fatal error in helpers for poorly encoded unicode text sources
  • fix fatal errors in helpers when database is not connected
  • fix #57 password not updated on grid when using password recovery in WordPdress
  • fix fatal error and warnings with popular-places shortcode
  • avoid fatal error if php xml-rpc is not installed, show error notice instead
  • helpers migrated from old mysqli db connection method to PDO
  • dropped aurora and OpenSim 0.6 support


  • new web assets server
  • new profile page
  • new config instructions for new grid users
  • new blocks support
  • new grid and wordpress users sync
  • new grid based authentication; if wp user exists, password is reset to grid password; if not, a new wp user is created
  • new admin can create avatars for existing users
  • new grid info settings are fetched from Robust server if set or localhost:8002
  • new check grid info url validity (cron and manual)

  • added option to replace name by avatar name in users list

  • added profile image to gridprofile
  • added assets permalink settings
  • added states in admin pages list for known urls (from grid_info)
  • added lost password and register links on login page
  • added buttons to create missing pages on status dashboard
  • added Born and Last Seen columns to users list
  • added hop:// link to login uri
  • added in-world profile link to profile page
  • added Partner, Wants, Skills and RL to web profile

  • removed Avatar section from WooCommerce account page until fixed

  • removed W4OS Grid Info and W4OS Grid Status widgets (now available as blocks)
  • fix duplicate admin notices
  • fix squished profile picture
  • fix avatar not created, or not created at first attempt
  • fix inventory items not transferred to new avatars
  • fix errors not displayed on avatar creation page
  • fix avatar model not shown if default account never connected
  • fix missing error messages on login page
  • fix user login broken if w4os_login_page is set to profile and OpenSim database is not connected
  • fix a couple of fatal errors
  • fix slow assets, store cached images in upload folder to serve them directly by the web server
  • fix Fatal error Call to undefined function each()

  • show a link to profile page instead of the form in profile shortcode

  • responsive profile display for smartphones
  • show image placeholder if profile picture not set
  • added imagick to the recommended php extensions
  • lighter template for profiles when loaded from the viewer
  • guess new avatar name from user_login if first name and last name not provided
  • replace wp avatar picture with in-world profile picture if set
  • use version provided by .version if present
  • More comprehensive database connection error reporting


  • added login form to gridprofile shortcode when not connected instead of login message
  • added w4os-shortcode classes
  • added screenshots
  • fix fatal error when trying to display WooCommerce Avatar tab form in My Account
  • réglage des traductions ne chargeant pas
  • shorter « Avatar » label, removed uuid in gridprofile shortcode


  • Now distributed via WordPress plugins directory
  • Official git repository changed to GitHub
  • renamed plugin as W4OS – OpenSimulator Web Interface
  • fix other WP plugins directory requirements
  • fix localizations not loading
  • fix regression, automatic updates restored. Users with version 2.0 to 2.0.3 will need to reinstall the plugin from source. Sorry.
  • use plugin dir to detect slug instead of hardcoded value
  • renamed [w4os_profile] shortcode as [gridprofile] for consistency. w4os_profile is kept for backwards compatibility


  • fix #2 Database check fails if mysql is case insensitive
  • fix #4 Database connection error triggered if userprofile table is absent
  • fix #10 invalid JSON response when adding [w4os_profile] shortcode element
  • fix wrong letter cases in auth table name
  • fix only show profile form for current user
  • better css loading
  • only check once if w4os db is connected
  • added login page link to message displayed when trying to see profile while not connected
  • more detailed error messages for avatar creation


  • added changelog, banners and icons to view details
  • fix « Yes » and « No » translations
  • fix typo in banners and icons urls, can’t believe I didn’t see this before…
  • fixed conflict with other extensions settings pages
  • changed update server library to frogerme’s WP Plugin Update Server