Note this is a work in progress and may contain errors
Platform Exceptions -- what works and in which platforms#
From this thread
1. the wonderland *client* should work via Java Web Start on at least the following platforms: Windows (32 and 64 bit) Ubuntu Linux (32 and 64 bit) Mac OS X (64 bit) 2. the wonderland *server* should work on at least the following platforms: Windows (32-bit only) Ubuntu Linux (32 and 64 bit) Mac OS X (64 bit) Solaris (32 and 64 bit) 3. The limitation for the server on Windows 64-bit is that the Darkstar libraries we use don't come with a version of the native BerkeleyDB libraries for Windows 64-bit. In particular the missing file is "libdb_java45.dll". In the old Wonderland forum, there was a description of how to work around this limitation by installing a Windows 64-bit version of this dll. (http://www.java.net/node/694848) 4. Wonderland server works great with virtualization under Windows. My main server[Jon] is a Ubuntu 10.04 64-bit server running inside virtual box on my Windows 7 system.
Web Server#
(These properties are set in the file my.run.properties)
Property | Default Value | Sample | Description | Usage | |
---|---|---|---|---|---|
wonderland.webserver.host | defaults to the internal address | The IP address of the web server if you are working with public and private IPs, this would be the public IP | |||
wonderland.webserver.host.internal | The private IP address of the web server | ||||
wonderland.sgs.persistence | None - the database is cleared on each restart Full - all state is persisted between restarts | ||||
wonderland.webserver.password.file | /home/ubuntu/etc/wonderland.password | The full path and filename of the file with the password | Required when using authentication | ||
wonderland.security.allow.guest.login | false | When using authentication, if true guest users are permitted | |||
wonderland.admintools.invisible | If set to true, when a user logs in whose username is a member of the admin group, their avatar will initially be invisible. | Add this property to the Darkstar Server via the Server admin page of the Web Admin UI. | |||
The following properties are not changed frequently | |||||
wonderland.config.dir | <userhome>/.wonderland-server/<wonderland-verison> | ||||
wonderland.webserver.wfs.root | <config dir>/wfs | ||||
wonderland.webserver.modules.root | <config dir>/modules | Directory where modules will be stored | |||
wonderland.log.dir | <config dir>/log | Log directory | |||
wonderland.run.dir | <config dir>/run | ||||
wonderland.runner.autostart | Whether or not to automatically start any configured apps (such as the Darkstar server) when the web server starts up | ||||
wonderland.runner.autostop | Whether or not to shutdown any applications launched through the web UI when the web server exits | ||||
The following properties used for remote setup of the SAS typically in a file remote.run.properties (See the configuration guide) | |||||
wonderland.webserver.launch.class | org.jdesktop.wonderland.webserver.RunRemoteRunner | ||||
wonderland.web.server.url | http://<address of main server>:<port>, where <port> is typically 8080. |
Darkstar#
(These properties are set in Server Admin pages)Property | Default Value | Sample | Description | Usage |
---|---|---|---|---|
sgs.password.file | <none> | The full path and filename of the file with the password | Required when using authentication | |
sgs.port | 1139 | The port used by the Darkstar server | You would only modify this if you needed to use a different port for Darkstar | |
wonderland.web.server.url | http://myserver.domain.com:8080 | The url of the web server - note usually on port 8080 if you are working with public and private IPs, this would be the private IP | ||
darkstar.host.public |
SAS #
(These properties are set in Server Admin pages)Property | Default Value | Sample | Description | Usage |
---|---|---|---|---|
sas.password.file | <none> | The full path and filename of the file with the password | Required when using authentication | |
wonderland.web.server.url | http://myserver.domain.com:8080 | The url of the web server - note usually on port 8080 if you are working with public and private IPs, this would be the private IP | ||
wonderland.appshare.hostName | myserver.domain.com | The host name or IP of SAS server if you are working with public and private IPs, this would be the public IP | ||
wonderland.appshare.minPort | 0 | Define these ports when one needs to open specific ports on the firewall | ||
wonderland.appshare.maxPort | 0 |
Voicebridge#
(These properties are set in Server Admin pages)Property | Default Value | Sample | Description | Usage |
---|---|---|---|---|
wonderland.web.server.url | http://myserver.domain.com:8080 | The url of the web server - note usually on port 8080 if you are working with public and private IPs, this would be the private IP | ||
voicebridge.sip.port | 5060 | UDP control port - SIP | ||
voicebridge.password.file | <none> | The full path and filename of the file with the password | Required when using authentication | |
voicebridge.webserver.url | http://192.168.10.10:8080 | if you are working with public and private IPs, this would be the private IP | ||
voicebridge.first.rtp.port | 0 | 10000 | Two UDP ports are required per call | Define these ports when one needs to open specific ports on the firewall |
voicebridge.last.rtp.port | 0 | 10200 | ||
voicebridge.server.public.sip.port | 5060 | This can be different then the internal port if port mapping is used (See the Firewall configuration document) | ||
voicebridge.server.public.address | 201.10.10.100 | if you are working with public and private IPs, this would be the public IP | ||
voicebridge.local.hostAddress | 192.168.10.10 | if you are working with public and private IPs, this would be the private IP | ||
voicebridge.long.distance.prefix | 1 | |||
voicebridge.status.listeners | if you are working with public and private IPs, this would be the private IP | |||
voicebridge.control.port | 6666 | |||
voicebridge.sip.gateways | ||||
voicebridge.outside.line.prefix | 9 | |||
voicebridge.sound.cache.path | <run dir>/voice_bridge/run/audiocache | |||
voicebridge.international.prefix | 011 | |||
voicebridge.sip.proxy |
Working reference information
\wonderland\modules\tools\voicebridge\src\classes\org\jdesktop\wonderland\modules\voicebridge\server\VoicebridgeRunner.java Properties props = new Properties(); props.setProperty("voicebridge.sip.port", "5060"); props.setProperty("voicebridge.control.port", "6666"); props.setProperty("voicebridge.status.listeners", darkstarHostname); props.setProperty("voicebridge.sip.gateways", ""); props.setProperty("voicebridge.sip.proxy", ""); props.setProperty("voicebridge.outside.line.prefix", "9"); props.setProperty("voicebridge.long.distance.prefix", "1"); props.setProperty("voicebridge.international.prefix", "011"); props.setProperty("voicebridge.password.file", "");
\wonderland\web\utils\src\classes\org\jdesktop\wonderland\utils\Constants.java
public static final String RUN_DIR_PROP = "wonderland.run.dir"; /** whether or not to cleanup the run directory */ public static final String RUN_DIR_CLEANUP_PROP = "wonderland.run.dir.cleanup"; /** the port to run the webserver on */ public static final String WEBSERVER_PORT_PROP = "wonderland.webserver.port"; /** the webserver public hostname */ public static final String WEBSERVER_HOST_PROP = "wonderland.webserver.host"; /** the webserver private hostname */ public static final String WEBSERVER_HOST_INTERNAL_PROP = "wonderland.webserver.host.internal"; /** the full URL of the web server */ public static final String WEBSERVER_URL_PROP = "wonderland.web.server.url"; /** the full internal URL of the web server */ public static final String WEBSERVER_URL_INTERNAL_PROP = "wonderland.web.server.url.internal"; /** whether or not we should overwrite data */ public static final String WEBSERVER_NEWVERSION_PROP = "wonderland.webserver.newversion"; /** location beneath RUN_DIR_PROP of where to locate content repository */ public static final String WEBSERVER_CONTENT_DIR_PROP = "wonderland.webserver.content.dir"; }