The open source metaverse

.ini changes for new 04-07-2011 release

Hello everyone,

There are some new .ini changes in the 04-07-2011 release for osgrid (

The first change is in the GridCommon.ini are as follows, in the [GridService] section

    ; change this to your grid-wide grid server
    GridServerURI = ""
    AllowHypergridMapSearch = true

    ;; Directory for map tile images of linked regions
    MapTileDirectory = "./maptiles"

    ; === HG ONLY ===
	;; change this to the address of your Gatekeeper service
	;; (usually bundled with the rest of the services in one
	;; Robust server in port 8002, but not always)

The changes to this section will prevent automatic hyperlinks from being created on map searches for hypergrid enabled regions, this was causing issues with all map searches that took place after the initial search and all caused all subsequent teleports within the grid to region with the same name as the automatic linking to fail.

The next changes are to the OpenSim.ini and were recommended to me by Mic Bowman from Intel Labs, Intel has been doing exhaustive testing and submitting patches to opensimulator project that should improve networking performance considerably, I have been doing some testing and things are looking very good, some major improvements.  These patches are still not in the core branch and are not quite ready for everyone just yet, but these .ini changes to OpenSim.ini can be used now and we would like everyone to update and give them a try, please let me know right away if you see any improvements or declines in performance after these changes, they are not required but the testing I have done so far seems to show some improvements overall, all the OSgrid Plazas have been running them for the past week or so and everything seems quite normal.  The new section is listed below:

    ;; See OpensSimDefaults.ini for the throttle options. You can copy the
    ;; relevant sections and override them here.
    ;; DO NOT MODIFY OpenSimDefaults.ini, as your changes would be lost
    ;; with the next update!

    async_packet_handling = true

    ; The client socket receive buffer size determines how many
    ; incoming requests we can process; the default on .NET is 8192
    ; which is about 2 4k-sized UDP datagrams. On mono this is
    ; whatever the underlying operating system has as default; for
    ; example, ubuntu 8.04 or SLES11 have about 111k, which is about
    ; 27 4k-sized UDP datagrams (on linux platforms you can [as root]
    ; do "sysctl net.core.rmem_default" to find out what your system
    ; uses a default socket receive buffer size.
    ; client_socket_rcvbuf_size allows you to specify the receive
    ; buffer size LLUDPServer should use. NOTE: this will be limited
    ; by the system's settings for the maximum client receive buffer
    ; size (on linux systems you can set that with "sysctl -w
    ; net.core.rmem_max=X")
    client_socket_rcvbuf_size = 8388608

    ; Maximum outbound bytes per second for a single scene. This can be used to
    ; throttle total outbound UDP traffic for a simulator. The default value is
    ; 0, meaning no throttling at the scene level. The example given here is
    ; 20 megabits
    scene_throttle_max_bps = 800000

    ; Maximum bits per second to send to any single client. This will override
    ; the user's viewer preference settings. The default value is 0, meaning no
    ; aggregate throttling on clients (only per-category throttling). The
    ; example given here is 1.5 megabits
    client_throttle_max_bps = 100000

    ; Per-client bytes per second rates for the various throttle categories.
    ; These are default values that will be overriden by clients
    resend_default = 10000
    land_default = 10000
    wind_default = 10000
    cloud_default = 10000
    task_default = 10000
    texture_default = 20000
    asset_default = 20000
    state_default = 10000

    ; Per-client maximum burst rates in bytes per second for the various
    ; throttle categories. These are default values that will be overriden by
    ; clients
    resend_limit = 18750
    land_limit = 29750
    wind_limit = 18750
    cloud_limit = 18750
    task_limit = 18750
    texture_limit = 55750
    asset_limit = 27500
    state_limit = 37000

    ; Configures how ObjectUpdates are aggregated. These numbers
    ; do not literally mean how many updates will be put in each
    ; packet that goes over the wire, as packets are
    ; automatically split on a 1400 byte boundary. These control
    ; the balance between responsiveness of interest list updates
    ; and total throughput. Higher numbers will ensure more full-
    ; sized packets and faster sending of data, but more delay in
    ; updating interest lists
    ;PrimUpdatesPerCallback = 100

    ; TextureSendLimit determines how many packets will be put on
    ; the outgoing queue each cycle. Like the settings above, this
    ; is a balance between responsiveness to priority updates and
    ; total throughput. Higher numbers will give a better
    ; throughput at the cost of reduced responsiveness to client
    ; priority changes or transfer aborts
    ;TextureSendLimit = 20

    ; Quash and remove any light properties from attachments not on the
    ; hands. This allows flashlights and lanterns to function, but kills
    ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps
    ; will also be affected.
    ;DisableFacelights = "false"

A few other notable changes with this release are  that you can now take Coalesced objects, meaning you can actually take multi-prim objects without linking them and have them be one object in your inventory, please note that if your region is hypergrid enabled this function does not work yet, but we do hope to address this issue soon, you can however rez coalesced objects in hypergrid enabled regions, you can just not take them yet.  Next notable thing is that Justin Clark-Casey has fixed sqlite for mac users, you no longer need to use the legacy driver for Mac OSX. here are the notes from Justin’s fix:

Bundle a built-from-source Mac OS X sqlite3 universal dylib with OpenSim and use this instead of the system one.

This means that Mac OS X users can now use the standard sqlite adaptor instead of the legacy one.
This is SQLite 3.7.5.  I configured the build with the line

CFLAGS="-Os -g -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -arch ppc7400 -DSQLITE_ENABLE_COLUMN_METADATA" LDFLAGS="-arch i386 -arch x86_64 -arch ppc7400" ./configure --disable-dependency-tracking

The SQLITE_ENABLE_COLUMN_METADATA flag exports the metadata symbols that modern Mono SQLite adaptors need.
The -Os removes debugging symbols (as per the sqlite3 source pkg README)
The other parts are to cross compile for x86_64, i386 and ppc.  On Mac OS X, Mono can actually only P/INVOKE 32-bit libraries even on 64 bit platforms so i386 is being used.  The dylib has not been tested on ppc.

Please note I have not been able to test the new sqlite adapter for Mac OSX as I do not have the proper equipment, if you do get a chance to test it please report how it went.

Thanks everyone, if you have any questions about these changes or would like to report any changes in performance you see please visit our IRC channel on freenode ( on #osgrid or click here for our webchat.  Thank you everyone and good luck.

Download New Update Here

Michael Emory Cerqoni
President – OSgrid Inc.