Promise and Problems of TribalNet

I first learned about TribalNet by reading a post on UgoTrade’s blog. As UgoTrade explains, TribalNet is a new web application based on OpenSim and which introduces a key innovation: the decentralized grid. The end users bring their own computing power to a grid made up of whoever happens to be connected at the moment, in the spirit of peer-to-peer.

This may seem very idealistic, but TribalNet has in fact been developed by a company, Tribal Media BA, located in Gothenberg, Sweden. The Tribal Media Team includes Darren Guard, who was also the original founder of the OpenSim project, and Stefan Andersson, who was one of the first to join Darren on the OpenSim project.

The goal of the project is for any average computer user to be able to connect their own sim to TribalNet, after downloading and installing a software package that contains some new back end protocols for OpenSim. This package works just fine for a certain number of users. But for other users, including myself, the process gets hung up on the complexity of the user’s Local Area Network (LAN). There is a LAN wherever several computers are connected a single router that communicates with Internet for all of them. My attempt to resolve the LAN problems took me on a voyage of discovery into the inner workings of internet communications, and prepared me for future steps in the implementation of OpenSim, but I failed to overcome the problem. My efforts and experiences might nonetheless be of use to others, so I document them below.

Installing TribalNet and Entering the Grid

I discovered TribalNet when I was working on getting OpenSim to run in Standalone Mode, which I have described here. All I did at first was to log in to Tribal Net and visit a few sims. I only went on to the next steps on Tribal Net after I had learned to run OpenSim in Standalone Mode.

At the TribalNet website you go first to the Join panel. You register your avatar, and then you download the software.

I downloaded version 0.9.0.1 (which has since been replaced by version 0.9.1.2). The installation process was similar to that of using any pre-package installer, and took only a few minutes.

When you start TribalNet, it opens a small rectangle called the Launch Pad, into which you enter your user name and password, in order to log in. Once you are logged in, the Launch Pad displays three buttons, labelled as follows:

* Enter Tribal Net
* Build Region
* Publish Region

Pressing the “Enter Tribal Net” button launches the Second Life viewer into an online TribalNet region, apparently picked at random. The inworld experience is similar to that on any of the other OpenSim grids, which I have described here.

You will at first find yourself in the default Ruth avatar. To edit the avatar, you must open inventory and right click on body parts or clothing, then select “create new,” and then “wear” the new body part or clothing item to be able to edit it. An advantage of TribalNet over some of the other OpenSim grids however is that when you come inworld the next time you will be wearing all of the edited body parts and clothing, instead of having to open inventory and put them back on one by one.

Opening the map, you will see a handful of sims, rarely more than ten, with spaces between them, so that no two sims touch. It is easy to teleport between these sims, but there is rarely anyone in-world.

Entering the TribalNet grid is thus easier than entering any other OpenSim grid. There is no need to create a shortcut to the viewer, as with the other OpenSim grids, because the TribalNet package automatically opens an appropriate viewer connected to the grid. To leave the grid, you merely quit the viewer, as you do when quitting Second Life.

After you have quit the grid, the Launch Pad is still open. You can either push another button, to build a region or to publish one, or close the Launch Pad by clicking on the cross in the upper right hand corner.

Building your sim

When you click on the “Build Region” button on the Launch Pad, another small window opens next to the Launch Pad, called the “Region [Building]” window. This window displays the following information:

* Region Name: MyRegion
* UDP Port: 9000
* IP Address: 127.0.0.1

You now have your own sim running, but which only you can visit. The Region Name is the one you selected when you first registered. The above UDP Port and IP Address indicate that the sim is running on your own PC.

When the “Region [Building]” window opens, the top button on the Launch Pad changes from “Enter Tribal Net” to “Start Building,” and the other two buttons are disabled.

Clicking on “Start Building” will launch the Second Life viewer into your private sim, starting a private building session open to you alone. The Second Life viewer opens onto a flat sim, stretching empty in all directions. Before launching “Build Region” on TribalNet, I had run OpenSim in Standalone mode (as described here, which starts on a small round island, surrounded by water. In TribalNet, not only does the flat terrain stretch to the borders of the sim, but terraforming is enabled (which suggests that the sim has been configured to run with a more elaborate database than the default SQLite database).

I tried terraforming the land, but found that the commands make the land rise up too sharply. I would have liked to return to the starting point by using the command “terrain fill 25″ as I did in OpenSim standalone, but the console seems inaccessible. I built a big green box in order to easily recognize my own sim, and felt ready to publish my region.

Publishing the sim, and the problem of Nat Bounce

“Publishing” your sim means connecting it to the public TribalNet grid. This involves connecting the sim, which is on your own computer, to a peer-to-peer network, through an elaborate exchange of internet protocols. For some people it is very easy, and for others it turns out to be very hard if not impossible, depending on the configuration on your internet service, your router and your firewalls.

When you quit the building session, the three buttons on the Launch Pad all become active again. To publish your region on the internet, by connecting it to Tribal Net, you press the “Publish Region” button. Clicking on this button again opens a new window next to the Launch Pad, which is this time called the “Region [Published]” window. This window displays the following information:

* Region UDP Port: 9000
* HTTP Port: 9000
* Remoting Port: 8895

To the right of the window is an insert which says “Use UPnP for automatic port forwarding,” with a small box to click to select this option. UPnP means Universal Plug and Play , which is a set of computer network protocols to allow devices to connect seamlessly to networks, in the same way that traditional plug-and-play allows dynamically attaching devices directly to a computer.

I tried to connect a first time without clicking on the UPnP option, and the connection failed. I then clicked on the UPnP option, and that failed also. I went to the TribalNet website and found the page that discusses Publishing a Region. This page states that one solution to connection failure may be to manually configure your router to forward the ports to your computer, which probably will also require you to assign a static IP Address to your computer.

Port forwarding is explained on the Port Forwarding Help Page. This page in turn refers to an external website which specializes in port forwarding, and which gives a comprehensive list of routers and guides on how to configure port forwarding for them.

Following the instructions given on the portforward website, I assigned a static IP Address to my PC and configured my router to forward the ports to it. I will describe how I did this in a separate blog post.

I then clicked on the “Publish Region” button, and was thrilled to see the connection go through. I logged in, and saw my sim on the map, although I had landed on a different one. But it proved impossible to teleport to my sim. I met inworld a couple of TribalSim residents, named Mickey Herouin and Kilare Balnarring, and asked them if they were able to teleport to my sim. Kilare tried, and came back reporting that she had had no problem, and had seen the big green box that I had left in the middle of my sim.

This problem is known as NAT Bounce. When Network Address Translation (NAT) works properly, traffic from the internet is translated to the Local Area Network (LAN) and then to specific computers within the LAN.

Some router models however fail to distribute the traffic properly within the LAN, with the effect that people outside of your network can connect to your sim, but you cannot connect to it yourself.

The hosted sim alternative

If NAT Bounce cannot be solved with alternate router configurations, there remain two options. One is to change the router to a more capable one, and the other is to sign up for a hosted region.

TribalNet offers sim hosting subscriptions, as described on the Region Hosting Help page (you must login to view this page). Hosting provides you a sim on a distant network server, as when you rent a sim from any of the other grids. At 30 USD per month the price is quite modest, but you lose the specific charm of TribalNet, which is the decentralized, P2P network.

Personal reflections on TribalSim

TribalSim is an interesting concept, in that it aims to provide a decentralized virtual world grid, made up of the PCs of the users participating in it. But the variety and complexity of router configurations defeats the goal of allowing any and all users to connect easily to this decentralized grid. The sim hosting solution is unsatisfactory, because it merely returns to the standard practice of all of other OpenSim grids that offer rental of distant sim servers.

TribalSim lead me through an interesting exercise in trying to configure my router, during which I learned much about Internet communications. As I’ve explained on my blog in a post about tools, I’m interested in approaches which give the user the greatest possible hands-on contact with the inner workings of the technology. TribalNet goes towards this goal in as far as it tries to decentralize the grid, but moves away from it in trying to provide a Plug-and-Play approach, which hits the stumbling block of NAT Bounce. OpenSim in particular, and digital technology in general, should be made more accessible by helping the average user to penetrate into its depths, rather than by adding additional layers between the user and those depths.

1 comment so far ↓

#1 C Leon Phillips on 08.13.08 at 1:08 am

Danton, are you still experimenting with Tribal Net?

Current software version is at 0.9.13, soon to be upgraded, 0.9.2 is due (hopefully) this week.
Admittedly there were a few “bugs” in the first version, very quickly rectified at 0.9.13. your misgivings about the “charm” being lost in the hosted regions are misdirected, in my opinion.
Why?

I currently run 3 (r) 3 regions from behind a NAT router (Billion 6404 VoIP). One region home hosted from my home LAN server (also serves out an 8 region OpenSim internal grid in standalone mode), one is my wifes region run from her machine, and I personally have a region hosted by Tribal Net. OK, two from home, one with Tribal.
I also log, direct to my hosted region, using the new Hippo-Opensim-Viewer, (no need to run the Launchpad for hosted regions).
Nice work, sorry I forget the maker’s name, but nice work.

Additional regions on the single connection require a redirection of the 3 comms ports used, exactly in the same manner additional regions require different ports in the “other” OpenSim systems.

For access to the region server console (in peer to peer mode) you simply click the “view” tab on the Region Server Window, and select “show console”, and you have the full OpenSim server console at your finger tips. Granted, an earlier “svn” set, the founders are not secure within themselves, about the security and stability of some later iterations of their work, so slow as she goes is the safest way forward.
So, in world you will not find a clone of Second Life, at present scripts are disabled for home user security, I know a lot of creators hate this, want virus attacks instead? I don’t. However the crew are working a way around this with a system of regional modular controls.
Have the region server control the region not a stranger with a script.
And limited scripting will be available for hosted regions, again in the interests of user security, this will at first be limited to Tribal hosted regions.
Tribal Net employees also now keep regular office hours, you will find them at region Tribal One, zulu time zone, London office hours.
The “Tribal Dude” is Darren Guard himself, and “Terrible Destiny” is Stefan Andersson.

Me? I’m the crash test dummy, Av name Shortdog Philbin, owner of SD’s regions.

Have fun.

Leave a Comment