World server

From Virtual Paradise Wiki
Revision as of 17:29, 18 January 2013 by Roy Curtis (talk | contribs) (syntax fix)
Jump to navigation Jump to search

The world server is the software that hosts a virtual world, connected to a Virtual Paradise universe server.

worldserver.info

The world server reads important connection and database settings from worldserver.info, which is parsed as a Boost property tree. The file can be edited in any text editor such as Notepad++.

Values

Key Subkey Description Valid values
server port Port for clients to connect to, to access all worlds on this server. Any number between 1 - 65535 (values below 1024 may conflict with other services such as HTTP servers)
host Only for client version 0.3.22 and newer Host name for clients connecting via the universe to resolve and connect to, to access all worlds on this server.
  • localhost (local universe)
  • example.no-ip.org (free dynamic hostname service)
  • auth.myowndomain.org
ip Optional; see 'host' The IP address clients connecting via the universe should connect to, to access all worlds on this server. Should not be used if router does not allow NAT loopback.
database backend Optional Database driver to use internally
  • obdc
connection_string Optional Standard string used to describe database driver or provider to use, along with relevant information such as database name and login information See http://www.connectionstrings.com/ for examples
database_type Optional Type of database to use
  • sqlite
connections Optional Amount of persistent connections to keep to the database. Ideally, never set higher than amount of threads. 1 - 255
threads Optional Amount of threads dedicated to I/O on the database connections. Ideally, set to at least the number of CPU cores (physical and virtual) available on the system. 1 - 255

Per-world settings

The world server keeps individual settings for each world in the Setting table of the database. For each row, one column defines the ID of the world, the key and the value respectively.

The values are never used by the server; they are sent to the client. Each value is a string with a maximum of 255 characters, however the client requires some values to conform to a particular format to be valid.

Values

All values are optional
Key Description Valid values
allow_passthrough Whether passing through objects by holding SHIFT is enabled 0 for false, 1 for true (default)
avatar Object to use as users' 3D avatar (3D representation) Relative object name on the specified path with extension, e.g.:
  • p1cube0100.rwx
  • ../avatars/cy.rwx
  • dog.md2
farplane Far clipping plane distance; how far from the camera the ground and avatars are rendered Any float value
nearplane Near clipping plane distance; how close to the camera the ground and avatars are rendered Any float value (0 may cause glitching)
fov Field of view; how wide an angle the scene is visible to the camera Any integer value
ground Field of view; how wide an angle the scene is visible to the camera Any integer value
fov Field of view; how wide an angle the scene is visible to the camera Any integer value
ground Object to render as the "ground" or as static scenery, irrespective of user's visibility Relative object name on the specified path with extension, e.g. ground.rwx
groundrepeats If the ground object repeats infinitely, to cover the world with the object 0 for false, 1 for true
objectpath Resolvable HTTP address to a server that provides the world's assets via the HTTP protocol, such as an object path Any valid HTTP address, e.g.
skybox Prefix name of a set of textures used for the skybox Relative JPG texture name on the specified path with extension, e.g. sky_hd, which will load:
  • sky_hd_fr.jpg
  • sky_hd_bk.jpg
  • sky_hd_lf.jpg
  • sky_hd_rt.jpg
  • sky_hd_dn.jpg
  • sky_hd_up.jpg
skybox_swaplr Swaps the skybox's left and right textures 0 for false, 1 for true
terrain If the terrain system should be used 0 for false (default), 1 for true
terrainoffset Y (up-down) distance to offset the terrain globally by Any float value
terrainscale Scale factor of the terrain grid, with 10m*10m at scale factor 1. Values below 0.5 may cause performance issues for clients Any float value
welcome Welcome message to provide to clients entering Any string value
worldlight_diffuse 3D vector defining the diffuse light color of the world Three float values between 0.0 - 1.0 for red, green and blue channels respectively, delimited by space. e.g.:
  • 1.0 0.0 0.0 for full red
  • 1.0 1.0 1.0 for full white
worldlight_ambient 3D vector defining the ambient light color of the world Three float values between 0.0 - 1.0 for red, green and blue channels respectively, delimited by space. e.g.:
  • 1.0 0.0 0.0 for full red
  • 1.0 1.0 1.0 for full white
worldlight_specular 3D vector defining the specular light color of the world Three float values between 0.0 - 1.0 for red, green and blue channels respectively, delimited by space. e.g.:
  • 1.0 0.0 0.0 for full red
  • 1.0 1.0 1.0 for full white
worldlight_position 3D vector defining the position of the world's sunlight Three float values between 0.0 - 1.0 for X, Y and Z positions respectively