Project Hamac

A technology demonstrator for multi-user orbital mechanics simulation using Martin Schweiger's Orbiter as a rendering engine, with an eye to the future Kosmos project.


Project Hamac was intended to demonstrate that a space simulator run on a central server could successfully render on remote machines in such a way as users could interact whilst travelling at normally lag-time prohibited speeds.

Consequently Hamac consisted of three parts:

What all this means is that Orbits runs on a central server and users of Hamac.dll in Orbiter connect to it. At present Orbits only works in orbit landing is not supported as Orbiter would interfere with the central physics server too much. Equally only orbits around The Moon are simulated. Orbits has the capacity for simulating the solar system, but as a technology demonstrator, this was not required.

Please Note.

Project Hamac has been a success in developing rock-solid multiplayer interaction whilst in orbit. It doesn't seek to address ground-area multiplay, which will require another investigation and is not possible with the current rendering engine available.

Work on Hamac is therefore suspened until the availability of Kosmos. No new developments should be expected for Orbiter.

Download, install and setup.

Binary packages are available for download for Orbiter on Win32, plus the server Orbits in Win32 and Linux libc6 formats.

Source packages are available under the terms of the GNU GPL. Project files for MinGWStudio and MSVCC are included where appropriate.

Installation for Orbiter

To install, insert the hamac.dll in your Orbiter plugin directory and place a file named hamac.ini in the Orbiter installation directory containing a single line with the hostname or IP address of the machine which will be running the Orbits server.

Upon startup, Hamac will contact the Orbits server and register itself. Orbiter will terminate if this step fails.

Load any scenario that includes the moon and switch to your automatically created DG in lunar orbit. Other users will be named systematically and viewable in the ship list.

Installation of the Orbits server

Simply run orbits.exe (win32) or ./orbits (Linux). You must ensure client are able to contact your server on TCP port 1977, and UDP connections are allowed in and out. If you don't understand this, talk to your network administrator. If you are your network administrator, get someone else to run the server for you, or only use it on your internal network.

Caveats and limitations

Orbiter is a Newtonian Gravity simulator and simulates a whole solar system in a standalone format. Orbits tries to do the same. At some point they'll disagree and in some areas Orbiter won't allow certain things to happen. That's life. Kosmos, the intended rendering engine for Project Hamac won't have this problem.


Project Hamac concept, design and development: D Henderson.

Ideas, suggestions, testing and code contributions:

Project Hamac is an open-source experimental project and is protected from inclusion in other projects without full disclosure of source code for the whole project by the terms of the GNU GPL.

AIBS Orbiter Fan Site AIBS Copyright 2002-5