MultiOrb -- a second generation multiplayer plugin for Martin Schweiger's Orbiter.


Please Note

MultiOrb is no longer under active development. There is a third generation system presently being worked upon, and unless this fails to materialise, I shall probably not re-start work on MultiOrb.


MultiOrb is a second generation multiplayer plugin for Martin Schweiger's Orbiter (for an example of a third generation multiplayer plugin, see Project Hamac). It manifests itself as an MFD that you activate via the launchpad as per normal and may select with SHIFT-2. From this point on, it connects to the Orbiter IRC network (orbiterirc.no-ip.com:6667) and automatically sends and receives telemetry from other online Orbiteers.

Getting Started

Important information and instructions

Some DOs and DON'Ts:

General Instructions
Keys
SHIFT-2Activate MultiOrb
SHIFT-5Force Telem Send -- useful after docking/undocking (use sparingly!)
SHIFT-8Request global update -- forces everyone else to report telemetry (use very sparingly!)
SHIFT-9Ignore local references and retreive only global positions for the next vessel to update (experimental)
SHIFT-VChange sent vessel to the current ship (otherwise MultiOrb will continue to send data for whatever ship was the focus at startup -- experimental)
SHIFT-QClose MultiOrb window (MultiOrb will contine to function, only quitting the game [CTRL-Q] closes the connection)
Subtle Caveats
MultiOrb is a second generation multiplayer client for Orbiter. Toni Ylisirnio's IRCMFD was the first which needed manual refreshes and only referenced the nearest vessel. MultiOrb is backwards compatible with IRCMFD, adds extra functionality but doesn't support IRC chat. Because it's second gen, there are still some limitations that affect how the users may operate. It is hoped the third gen multiplayer tools will erode these problems still further.

MultiOrb works by sending periodic telemetry to other users which they then use to draw your ship on their system. Their physics engine then takes over and extrapolates your movement until the next update. This means if one user timeaccelerates or thrusts (rotation, linear or indeed main and retro), there will be an inherant error on both the users' machines until they can exchange information again. MultiOrb therefore sends telemetry at the end of every burn or manoevre, but not at the end of every time acceleration.

However, whilst manoevering, the other users aren't aware of your position, so MultiOrb has to ignore their updates, otherwise they will be refernced as being your old distance away! This has two effects -- hard manoevering will lead to the other users unaware of where you are, with your error (reported in brackets in the status window) rising and having to be re-set every update, and, more importantly, if two approaching craft are manoevering, they won't read each others' data and it will be impossible to dock!

Therefore, in orbital encounters, it's imperative once withing the relative-reporting horizon of 15km, one user sits still during any manoevres.

If the errors all get too much due to both users manoevering, you might find you need to request a position reset. Issue a SHIFT-9 -- the next telemetry you receive will be global, as opposed to relative to you. Simply repeat this until you are happy all errors are in acceptable (<5km) limits.

Because of variable time acceleration across the multiple players, intercepts become somewhat different to conventional orbital operations, unless you act out the intercept in real-time! Of course, when you get within the relative reporting horizon of another craft (15km at present) you must use 1x acceleration, else you will induce errors in the other ship's position that will cause it to reset... normally just as you're trying to dock!

Orbiter allows no way to set your date and time (MJD) from within the simulation itself. This means you may be docking with someone not just in a different timezone, but in a different year! If you're going over India, he might well think he's over Australia. Additionally, those on interplanetary cruises might look like they're going in completely the wrong direction. Don't panic, however, when they get within range of their target planet, they will automatically be referenced to that planet in your system so you can easily blast off in Apollo 11 and meet the Lunarstation despite it being in 2004 and you in 1969.

Sightseeing from Brighton Beach
It's intended that we will try to keep a Lunar Station in retrograde orbit around the moon at the inclination of Brighton Beach. Your first port of call should be here to make sure you have understood how the telemetry extrapolation issues affect your craft when manoevering towards an inert target, and practice your variously-time-accelerated interceptions.

Bug Reports

This is a beta release. That means this is not finished code and that it needs testers to locate the bugs. There are a few known issues that should not be reported (listed below) otherwise bug reports are encouraged to be informally presented to orbiter@aibs.org.uk.
Please note: MultiOrb is not presently under active development.
Known Issues
Cannot use spacecraft.dll shipCLOSEDNo action, unresolvable
Cannot use custom addon XCLOSEDNo action -- custom addon bugs should be reported to the author
Cannot affect the ship I'm docked toPENDING
Ships that have quit multiplay still show up on my sessionACTIVE There is a problem with the code that deletes these ships -- it's causing a CTD, so it is disabled for the time being


Some sample images

Multiplayer gallery.



Back to AIBS Orbiter Fan Site AIBS Copyright 2002-4