Difference between revisions of "OXP"

From Elite Wiki
m (Miscellaneous)
(Installing an OXP)
 
(66 intermediate revisions by 18 users not shown)
Line 1: Line 1:
== What are OXPs? ==
 
 
 
[[Image:oolite-oxp-icon.png|128px|right|OXP icon]]
 
[[Image:oolite-oxp-icon.png|128px|right|OXP icon]]
An '''OXP''' (Oolite eXpansion Pack) is an enhancement to the game [[Oolite]]. Typically, an OXP is downloaded as a ZIP file, which is expanded and placed in Oolite's AddOns folder. On the Mac the OXP is a shown as an application, which takes the form of the icon shown here. On Windows the OXP appears as a normal folder ending ".oxp". An OXP could be a new game object (such as a ship, space station or a moon), a mission, or a combination of several elements. OXPs can use all of the facilities of Oolite, including some that are not used in the standard, unexpanded game. Whatever your OS, you need to move the OXP into Oolite's AddOns folder. Oolite will only read an OXP if you move the .oxp folder (or Application on the Mac) into Oolite's AddOns folder.
+
An '''OXP''' ('''O'''olite e'''X'''pansion '''P'''ack) is an enhancement to the game [[Oolite]]. An OXP could be a new game object (such as a ship, space station or a moon), a mission, or a combination of several elements. OXPs can use all of the facilities of Oolite, including some that are not used in the standard, unexpanded game. Please note that if you run Oolite in 'Strict Play' mode (set via pressing F2 when docked or paused and then selecting 'Reset to Strict play'), OXPs are not loaded.
   
Most OXPs are not placed on this site itself but hosted externally. This means when you have problems downloading from a certain host, other OXPs might download without problems. Additionally many of the [[Oolite_Missions|Mission OXPs]] will contain lots of other ships, stations or weapons that are not listed here.
 
  +
An '''OXZ''' is an OXP in a particular '''Z'''ipped format to make it easier for Oolite to process and for players to install - to find out what's inside one, use your unzipping tool of choice on it.
 
Some older OXPs can also be found at [http://oosat.alioth.net The Oolite Satellite Resource Site] (Oosat2) or the older [http://capnhack.com/hosting/oolite/Oolite/OoSat.html Captain Hack OoSat Site] (Oosat1). Please note however that neither of these sites have been updated for a long time, nor will they be. This means that most of the oxps hosted there will simply not work with current Oolite versions!
 
   
 
== Finding OXPs ==
 
== Finding OXPs ==
  +
=== OXP's ===
  +
*The '''[[OXP List]]''' provides the most comprehensive list of Oolite OXP expansion packs.
  +
*[[Guide to Unlisted OXPs]] has 100 or so (which are not listed elsewhere).
  +
=== OXZ's ===
  +
*The [http://www.oolite.org/oxps/ '''OXZ List'''] provides the most comprehensive list of Oolite OXZ expansion packs (but only those uploaded to the in-game Expansions Manager).
  +
*Just for fun, the [[Index of artefacts]] provides the most comprehensive analysis of these Oolite OXZ expansion packs...
  +
*there are just a handful of oxz's (mostly experimental, but including some excellent ones by phkb) not listed on the Expansions Manager/OXZ List. They are mostly in the [[Guide to Unlisted OXPs]] mixed in with everything else.
  +
=== Old versions ===
  +
For purely historical purposes (or a touch of nostalgia if you've been around Oolite for a long time) you might want to look at [http://oosat.alioth.net The Oolite Satellite Resource Site] ('''Oosat2''', quite broken but still accessible, 2006-11-04 until 2007-03-03) or the even older [http://capnhack.com/hosting/oolite/Oolite/OoSat.html Captain Hack OoSat Site] ('''Oosat1''', beginning until 2006-10-14). Oosat may have originally been hosted here on Alioth.net, as was '''Oldsat'''. They had a tendency to go off-line or to crash, losing all information. Search on the BB if you are curious!
   
Information regarding Oolite's expansion packs, and the latest OXP download links.
 
  +
For your curiosity and maybe one or the other odd find there is also the [[OXP Attic]] which houses derelict OXPs from times long past. Also see [http://www.aegidian.org/bb/viewtopic.php?f=2&t=20721 Recovering Lost Oxp's].
   
=== [[OXP_Enhancements|Enhancements]] ===
 
  +
== OXPs suitable for new players ==
[[OXP_Enhancements|Enhancements]] are for improvements to the visuals of the core game that have no impact on gameplay eg. Ship Sets, Objects, Scenery, HUDs, Sounds or combinations thereof.<br>
 
  +
<!--
  +
It is suggested that players new to the game should be careful when choosing OXPs. The basic game is extremely well-balanced and has stood the test of time, but many OXPs change the balance and dynamics of the game.
   
=== [[OXP_Expansions|Expansions]] ===
 
  +
To make an informed choice as to what OXPs you might want, you do need to understand the way the standard game works first, so it is recommended that new players should consider playing Oolite without game-changing OXPs for a while.
[[OXP_Expansions|Expansions]] are for additions to the core game that affect gameplay in some way eg. Missions, Equipment, Weaponry, Characters, Organisations, Dockables, Environment, Training, Activities or combinations thereof.<br>
 
   
=== [[Oolite_Ships|Ships]] ===
 
  +
However, many OXPs will just enhance eye-candy and ambience - they make the game look better, or add features which make the Oolite experience more enjoyable without affecting the way the game plays.
[[Oolite_Ships|Ships]] is for new Ships.<br>
 
   
=== [[OXP_Miscellaneous|Miscellaneous]] ===
 
  +
To help, a [[OXP_List_for_New_Players| list of suitable OXPs for newcomers]] has been compiled. These are OXPs that will not affect gameplay but are worthwhile additions for the new player who wants a diverse and visually exciting Ooniverse.
[[OXP_Miscellaneous|Miscellaneous]] is a catch-all header for the things which don't fit anywhere else including Utilities, Development and International.<br>
 
  +
-->
  +
  +
Everyone has their own idea of what OXPs should be in a starter pack, or which are just best. There are several threads on the Forum on this topic, perhaps the best-balanced and most useful for newcomers being [http://oolite.aegidian.org/bb/viewtopic.php?f=2&t=11885 this one].
   
=== Correct Categorising ===
 
  +
== Suitability for simpler or for more difficult/advanced gaming ==
If you are unsure how to categorise your OXP or if you wish to update the details of an OXP for an author who has disappeared, please seek advice on the [[http://www.aegidian.org/bb/viewforum.php?f=4 Oolite Forums]] before proceeding. Put your OXP in one category only.<br><br>
 
  +
There exists a way of marking an OXP's difficulty level according to the author's belief. You can find the [[OXP_Levelindicators|level indicators]] on the wiki.
In the sortable tables, each OXP's row should fit on one line for screen resolution widths >= 1280.<br><br>
 
  +
An auto-generated alphabetic list is available here: [[http://wiki.alioth.net/index.php/Category:Oolite_expansion_packs Alphabetic List of OXPs]]
 
  +
Another system in progress is [[Template:IconOXP]].
  +
  +
==Player recommendations==
  +
These commanders have put together lists of their personal favourites:
  +
*[[User:Cpt|Cpt]] (2013)
  +
*[[User:JazHaz|JazHaz]] (2013)
  +
*[[User:Zireael|Zireael]] (2014)
  +
*[[User:Norby#Recommended_OXPs|Norby]] (2015-7): includes packages of recommended OXPs for new players, the more experienced ''etc''.
  +
*[[User:CaptSolo|CaptSolo]] (2020)
  +
  +
== Help with OXPs ==
  +
  +
Information on OXPs can also be found on the [http://www.aegidian.org/bb/viewforum.php?f=4 Expansion Pack Forum], the Friendliest Board This Side of Riedquat. The helpful people there will be happy to assist you with any questions you have about OXPs.
  +
  +
== Tweaking your OXPs ==
  +
Do you prefer a louder ''beep'' for audible docking clearance? Would you rather your Commander's Log also recorded purchases & repairs? Do you want your Laser Booster to activate automatically upon launch?
  +
  +
You will find recipes for modifying some of the OXPs [http://www.aegidian.org/bb/viewtopic.php?p=216177#p216177 here].
   
 
== Installing an OXP ==
 
== Installing an OXP ==
Unzip the OXP and place it in the folder named '''AddOns'''. Sometimes the zipped files contain several folders, make sure you only copy the folder -or file for Macintoshes- ending with '''.oxp''' into the AddOns folder. This folder is found in different locations, depending on the platform:
 
  +
  +
OXPs are installed to the folder or directory ('folder' and 'directory' are synonyms) named '''AddOns'''. Read on, we will also tell you where to find that folder.
  +
  +
=== In OXZ format ===
  +
Download the OXZ file, and save it to your AddOns folder.
  +
  +
Many OXZ format expansion packs can also be downloaded and installed for you from the [[Expansions Manager]] in Oolite. These will be placed in a separate folder which Oolite manages ('''ManagedAddOns''') - any you download yourself should go in the '''AddOns''' folder so that Oolite doesn't accidentally overwrite them.
  +
  +
If you want to inspect an OXZ you've downloaded with the expansion pack manager, copy it out of the '''ManagedAddOns''' folder first, then open it with your unzipping program. Some versions of the Expansions Manager can do this for you when you press the ''x'' key.
  +
  +
=== In OXP format ===
  +
Typically, an OXP is downloaded as a ZIP file though occasionally other compression tools such as 7z or rar have been used. Unzip it to find a folder with a name ending .oxp
  +
  +
After unzipping the file, make sure that it is ''only'' the OXP folder that put into the AddOns directory - some zipped OXPs can contain a top level folder with a readMe file, and the actual OXP folder is a level further down. If this is the case, move the folder with the '''.oxp''' extension into the AddOns folder.
  +
  +
Sometimes the zipped files contain several folders, make sure you only copy the folder -or file for Macintoshes- ending with '''.oxp''' into the AddOns folder. This folder is found in different locations, depending on the platform.
  +
  +
If you have followed these instructions and OXPs are not being recognised by the game make sure that your commander is a normal game. If you started your commander using the "Strict Mode" starting option, no OXPs will ever be used.
  +
  +
== Locating your AddOns folder ==
   
 
=== Mac OS X ===
 
=== Mac OS X ===
Line 38: Line 80:
   
 
'''Troubleshooting:''' If you get an error saying "The item could not be moved because "AddOns" cannot be modified", that can happen if you weren't the user that installed Oolite.
 
'''Troubleshooting:''' If you get an error saying "The item could not be moved because "AddOns" cannot be modified", that can happen if you weren't the user that installed Oolite.
The solution is to put the OXP's of your choice in '''~/Library/Application&nbsp;Support/Oolite/AddOns/''' instead (you may need to create this folder).
+
The solution is to put the OXPs of your choice in '''~/Library/Application&nbsp;Support/Oolite/AddOns/''' instead (you may need to create this folder).
 
The error could also be triggered because you’re running from the disk image, you’ll need to copy the game somewhere else. Having done so, if you still get the error, use the Get Info command on the AddOns folder, open the Ownership & Permissions pane and check that it says You Can: Read & Write.
 
The error could also be triggered because you’re running from the disk image, you’ll need to copy the game somewhere else. Having done so, if you still get the error, use the Get Info command on the AddOns folder, open the Ownership & Permissions pane and check that it says You Can: Read & Write.
   
 
=== Linux ===
 
=== Linux ===
The OXP directory can be found in '''$HOME/.Oolite/AddOns.''' for all current versions of OOlite
 
  +
The location of the AddOns folder will depend on whether you chose to install Oolite to 'Home' or 'System'.
   
=== Windows ===
 
  +
If you chose the 'Home' installation, the AddOns directory is located in '''~/GNUstep/Applications/Oolite/AddOns'''. The AddOns folder should be in the top level of the Oolite install directory (at the same level as the oolite.app folder) You may have to create it.
If the installable package was used (post Jan 06) then the AddOns folder needs to be created in '''C:\Programs Files\Oolite'''. Note that this applies if the default installation location is used. If the install location is changed then use the path to the Oolite folder that corresponds to your installation.
 
If the GNUStep dedicated versions (pre-Jan 2006) is used, then the AddOns folder must be created in the oolite.app folder.
 
   
After unzipping the file, make sure that it is ''the'' OXP folder that put into the AddOns directory - some zipped OXPs can contain a top level folder with a readMe file, and the actual OXP folder is a level further down. If this is the case, move the item with the '''.oxp''' extension into the AddOns folder.
 
  +
If you chose the 'System' installation, the AddOns directory will be '''~/.Oolite/Add-ons'''. You may have to create it. Note that this is a 'hidden' directory, and so you may have to turn on 'Show hidden files' in your file manager before you can see it.
  +
  +
An alternative location for a 'System' installation is the '''/opt/Oolite/AddOns''' directory, but most users find this less convenient than '''~/.Oolite/Add-ons'''.
  +
  +
=== Windows ===
  +
The AddOns folder should be in the top level of the Oolite install directory (at the same level as the oolite.app folder). Historical: if you are using the GNUStep dedicated versions (pre-Jan 2006), then the AddOns folder must be created inside the oolite.app folder.
   
 
== Caveats ==
 
== Caveats ==
 
If you purchase a ship that is an OXP ship and save the game, you will only be able to load that commander as long as this OXP is installed in AddOns. If it's not, Oolite will give you an error instead of trying to load the commander.
 
If you purchase a ship that is an OXP ship and save the game, you will only be able to load that commander as long as this OXP is installed in AddOns. If it's not, Oolite will give you an error instead of trying to load the commander.
  +
  +
== Managing a stable of OXPs ==
  +
Nowadays we download OXZs through the in-game Expansions Manager - and it manages them for us. But if we tweak one, it usually becomes an OXP and must then be kept in the AddOns folder. Some older oxps have yet to be turned into OXZs and some experimental OXPs are in a similar position.
  +
  +
So, if you have large numbers of these oxps, see the following threads from the BB.
  +
*Issues with [http://www.aegidian.org/bb/viewtopic.php?p=273473#p273473 single OXPs]
  +
*Issues with [http://www.aegidian.org/bb/viewtopic.php?p=273490#p273490 multiple OXPs]
  +
*Issues with different copies of the game on the [http://www.aegidian.org/bb/viewtopic.php?p=272073#p272073 same hard drive]
  +
  +
== Diagnostics ==
  +
With some OXPs installed, the directory structure will look something like this:<br>
  +
:'''...\AddOns\Basic-debug.oxp'''<br>
  +
:'''...\AddOns\Cabal_Common_Library1.5.1.oxp'''<br>
  +
:'''...\AddOns\Explorers'_Club_1.3.1_2012-01-21.oxp'''<br>
  +
:'''...\AddOns\halsis.oxp'''<br>
  +
:'''...\AddOns\Material Test Suite v1.2.oxp'''<br>
  +
with other directories and files under each of the .oxp directories. You should only find .oxp directories immediately under a \AddOns directory.
  +
  +
If none of your OXPs are working, are you playing in Strict Mode? Try starting a new commander from the Normal Start and see if the OXPs work then.
  +
  +
If you edit the contents of one of your OXPs and cannot see the change, restart Oolite holding down <Shift> to force Oolite to re-read all the OXP files.
  +
  +
If an OXP you installed is not working or is misbehaving, check [[Oolite_FAQ#Diagnosing_Problems|the Latest.log file]] - you should see a list of the OXPs you have installed. You should see a trend in the names which will tell you if you have installed an OXP within another OXP (move it) or two versions of an OXP (remove the older one) or it is absent suggesting you put it in the wrong place or did not get the .oxp directory extension correct (did you unzip the OXP?).
  +
  +
If you know how, a system-wide search for any directory ending in ".oxp" should pull up the OXPs you have installed and they should only appear immediately beneath a '''\AddOns''' directory and never inside another .oxp directory (this is an easily-done error when extracting a zip file).
  +
  +
Note that an OXP in the AddOns folder ''trumps'' an 'identical' OXZ in the ManagedAddOns folder. So if the OXP is an older version, it will [http://www.aegidian.org/bb/viewtopic.php?p=218632#p218632 disable] the newer OXZ.
  +
  +
=== AppleMacs ===
  +
... Strict semicolon parsing is a Mac thing. Windows and Linux use GNUstep to parse plists and that apparently is more relaxed syntax-wise than whatever it is that the Mac uses.
  +
::[[User:Another_commander|Another_commander]] from [http://www.aegidian.org/bb/viewtopic.php?p=262814#p262814 A possible solution?] (2018).
  +
  +
... the libraries in the Mac seems to be less tolerant of some things than the GNUStep libraries on Linux:
  +
:*lists are enclosed in '<font color="Red">'''('''</font>' '<font color="Red">''')'''</font>' with items separated by '<font color="Red">''','''</font>' and there must ''not'' be a comma after the last item in the list.
  +
:*objects are enclosed in '<font color="Red">'''{'''</font>' '<font color="Red">'''}'''</font>' and consist of pairs: <key> = <value>.
  +
:*Each key/value pair must have a '<font color="Red">''';'''</font>' at the end, even the last pair in the object
  +
:*''if'' the object is a value in a key/value pair in another object, it's closing '<font color="Red">'''}'''</font>' must be followed by a '<font color="Red">''';'''</font>'.
  +
::lifted from a PM from [[User:Dybal|Dybal]] (2020)
   
 
== Creating an OXP ==
 
== Creating an OXP ==
It is intended to be easy to create expansion packs. With a few simple [[List_of_software|tools]], a player can make small or big changes, and customize the gaming experience.
+
It is intended to be easy to create expansion packs. Take a look at the [[OXP howto|How to make OXPs]] page for more information.
  +
  +
'''Context''': [http://www.aegidian.org/bb/viewtopic.php?p=275434#p275434 What can OXP's ''not'' change?] (2021)
  +
  +
Older OXPs (from [[User:Aegidian|Aegidian]]'s day were written in [[Legacy Scripting]]. Modern OXPs are written in JavaScript. Specifically oolite.jsVersion 185, an Oolite specific variant of '''ECMAv5'''. It is the same Spidermonkey version (1.8.5 - March 2011) that Firefox 4 shipped with many years ago, but it is a special build for Oolite. This is the version that we have almost always had and it has not changed between versions of the game. It is unlikely to change in the future (due to the [http://aegidian.org/bb/viewtopic.php?p=256623#p256623 immense amount of work] involved in tampering with it!).
  +
  +
[[File:Plist-XML-ASCII-ill.png|thumb|right|702px|XML (left) & OpenStep (right)]]
  +
Legacy script comes in two versions: XML & OpenStep.
  +
  +
=== OXP resources ===
  +
*Here is an [[index of artefacts]] already created in OXPs.
  +
*[[Documenting your artefacts]] (OXP, ships and equipment)
  +
*[[OXP howto]]
  +
*[[Publishing your OXP]]
  +
  +
== Loading Order of OXPs ==
  +
OXPs loaded after other OXPs will "trump" the earlier OXPs in terms of their effects on the game. It is a similar situation with the vanilla game code, where the OXPs trump or overwrite the relevant sections of the basic oolite game. <br>
  +
The loading order under Macs and Windows is alphabetical, while Linux is unpredictable. There is no solution for Linux load ordering as yet ([http://aegidian.org/bb/viewtopic.php?p=261821#p261821 Svengali 2018]).
  +
  +
*[http://www.aegidian.org/bb/viewtopic.php?p=189416#p189416 Nested OXP's in AddOns folder] (2012)
  +
  +
== OXP Lists ==
  +
*[http://www.oolite.org/oxps/ Expansion Manager OXZ list] - orderable
  +
*[[OXP List]] - orderable
  +
*[[Guide to Unlisted OXPs]] - with links at the bottom to older lists
   
* [[OXP howto|How to make OXPs]]
 
  +
*[[Brilliant but broken...]] great oxp's that need updating/fixing... (do you have the skills?)
   
 
[[Category:Oolite expansion packs]]
 
[[Category:Oolite expansion packs]]
 
[[Category:Factual]]
 
[[Category:Factual]]
<br><br><br><br>
 
Deprecated OXP Pages
 
{{Navbox OXP}}
 

Latest revision as of 07:33, 29 December 2021

OXP icon

An OXP (Oolite eXpansion Pack) is an enhancement to the game Oolite. An OXP could be a new game object (such as a ship, space station or a moon), a mission, or a combination of several elements. OXPs can use all of the facilities of Oolite, including some that are not used in the standard, unexpanded game. Please note that if you run Oolite in 'Strict Play' mode (set via pressing F2 when docked or paused and then selecting 'Reset to Strict play'), OXPs are not loaded.

An OXZ is an OXP in a particular Zipped format to make it easier for Oolite to process and for players to install - to find out what's inside one, use your unzipping tool of choice on it.

Finding OXPs

OXP's

  • The OXP List provides the most comprehensive list of Oolite OXP expansion packs.
  • Guide to Unlisted OXPs has 100 or so (which are not listed elsewhere).

OXZ's

  • The OXZ List provides the most comprehensive list of Oolite OXZ expansion packs (but only those uploaded to the in-game Expansions Manager).
  • Just for fun, the Index of artefacts provides the most comprehensive analysis of these Oolite OXZ expansion packs...
  • there are just a handful of oxz's (mostly experimental, but including some excellent ones by phkb) not listed on the Expansions Manager/OXZ List. They are mostly in the Guide to Unlisted OXPs mixed in with everything else.

Old versions

For purely historical purposes (or a touch of nostalgia if you've been around Oolite for a long time) you might want to look at The Oolite Satellite Resource Site (Oosat2, quite broken but still accessible, 2006-11-04 until 2007-03-03) or the even older Captain Hack OoSat Site (Oosat1, beginning until 2006-10-14). Oosat may have originally been hosted here on Alioth.net, as was Oldsat. They had a tendency to go off-line or to crash, losing all information. Search on the BB if you are curious!

For your curiosity and maybe one or the other odd find there is also the OXP Attic which houses derelict OXPs from times long past. Also see Recovering Lost Oxp's.

OXPs suitable for new players

Everyone has their own idea of what OXPs should be in a starter pack, or which are just best. There are several threads on the Forum on this topic, perhaps the best-balanced and most useful for newcomers being this one.

Suitability for simpler or for more difficult/advanced gaming

There exists a way of marking an OXP's difficulty level according to the author's belief. You can find the level indicators on the wiki.

Another system in progress is Template:IconOXP.

Player recommendations

These commanders have put together lists of their personal favourites:

  • Cpt (2013)
  • JazHaz (2013)
  • Zireael (2014)
  • Norby (2015-7): includes packages of recommended OXPs for new players, the more experienced etc.
  • CaptSolo (2020)

Help with OXPs

Information on OXPs can also be found on the Expansion Pack Forum, the Friendliest Board This Side of Riedquat. The helpful people there will be happy to assist you with any questions you have about OXPs.

Tweaking your OXPs

Do you prefer a louder beep for audible docking clearance? Would you rather your Commander's Log also recorded purchases & repairs? Do you want your Laser Booster to activate automatically upon launch?

You will find recipes for modifying some of the OXPs here.

Installing an OXP

OXPs are installed to the folder or directory ('folder' and 'directory' are synonyms) named AddOns. Read on, we will also tell you where to find that folder.

In OXZ format

Download the OXZ file, and save it to your AddOns folder.

Many OXZ format expansion packs can also be downloaded and installed for you from the Expansions Manager in Oolite. These will be placed in a separate folder which Oolite manages (ManagedAddOns) - any you download yourself should go in the AddOns folder so that Oolite doesn't accidentally overwrite them.

If you want to inspect an OXZ you've downloaded with the expansion pack manager, copy it out of the ManagedAddOns folder first, then open it with your unzipping program. Some versions of the Expansions Manager can do this for you when you press the x key.

In OXP format

Typically, an OXP is downloaded as a ZIP file though occasionally other compression tools such as 7z or rar have been used. Unzip it to find a folder with a name ending .oxp

After unzipping the file, make sure that it is only the OXP folder that put into the AddOns directory - some zipped OXPs can contain a top level folder with a readMe file, and the actual OXP folder is a level further down. If this is the case, move the folder with the .oxp extension into the AddOns folder.

Sometimes the zipped files contain several folders, make sure you only copy the folder -or file for Macintoshes- ending with .oxp into the AddOns folder. This folder is found in different locations, depending on the platform.

If you have followed these instructions and OXPs are not being recognised by the game make sure that your commander is a normal game. If you started your commander using the "Strict Mode" starting option, no OXPs will ever be used.

Locating your AddOns folder

Mac OS X

Found in the folder that contains the Oolite application.

Alternatively you can also have the AddOns folder in your user area at ~/Library/Application Support/Oolite/AddOns/. When both places contain an AddOns folder, both contents are read with the content in the user libraries loading last.

Troubleshooting: If you get an error saying "The item could not be moved because "AddOns" cannot be modified", that can happen if you weren't the user that installed Oolite. The solution is to put the OXPs of your choice in ~/Library/Application Support/Oolite/AddOns/ instead (you may need to create this folder). The error could also be triggered because you’re running from the disk image, you’ll need to copy the game somewhere else. Having done so, if you still get the error, use the Get Info command on the AddOns folder, open the Ownership & Permissions pane and check that it says You Can: Read & Write.

Linux

The location of the AddOns folder will depend on whether you chose to install Oolite to 'Home' or 'System'.

If you chose the 'Home' installation, the AddOns directory is located in ~/GNUstep/Applications/Oolite/AddOns. The AddOns folder should be in the top level of the Oolite install directory (at the same level as the oolite.app folder) You may have to create it.

If you chose the 'System' installation, the AddOns directory will be ~/.Oolite/Add-ons. You may have to create it. Note that this is a 'hidden' directory, and so you may have to turn on 'Show hidden files' in your file manager before you can see it.

An alternative location for a 'System' installation is the /opt/Oolite/AddOns directory, but most users find this less convenient than ~/.Oolite/Add-ons.

Windows

The AddOns folder should be in the top level of the Oolite install directory (at the same level as the oolite.app folder). Historical: if you are using the GNUStep dedicated versions (pre-Jan 2006), then the AddOns folder must be created inside the oolite.app folder.

Caveats

If you purchase a ship that is an OXP ship and save the game, you will only be able to load that commander as long as this OXP is installed in AddOns. If it's not, Oolite will give you an error instead of trying to load the commander.

Managing a stable of OXPs

Nowadays we download OXZs through the in-game Expansions Manager - and it manages them for us. But if we tweak one, it usually becomes an OXP and must then be kept in the AddOns folder. Some older oxps have yet to be turned into OXZs and some experimental OXPs are in a similar position.

So, if you have large numbers of these oxps, see the following threads from the BB.

Diagnostics

With some OXPs installed, the directory structure will look something like this:

...\AddOns\Basic-debug.oxp
...\AddOns\Cabal_Common_Library1.5.1.oxp
...\AddOns\Explorers'_Club_1.3.1_2012-01-21.oxp
...\AddOns\halsis.oxp
...\AddOns\Material Test Suite v1.2.oxp

with other directories and files under each of the .oxp directories. You should only find .oxp directories immediately under a \AddOns directory.

If none of your OXPs are working, are you playing in Strict Mode? Try starting a new commander from the Normal Start and see if the OXPs work then.

If you edit the contents of one of your OXPs and cannot see the change, restart Oolite holding down <Shift> to force Oolite to re-read all the OXP files.

If an OXP you installed is not working or is misbehaving, check the Latest.log file - you should see a list of the OXPs you have installed. You should see a trend in the names which will tell you if you have installed an OXP within another OXP (move it) or two versions of an OXP (remove the older one) or it is absent suggesting you put it in the wrong place or did not get the .oxp directory extension correct (did you unzip the OXP?).

If you know how, a system-wide search for any directory ending in ".oxp" should pull up the OXPs you have installed and they should only appear immediately beneath a \AddOns directory and never inside another .oxp directory (this is an easily-done error when extracting a zip file).

Note that an OXP in the AddOns folder trumps an 'identical' OXZ in the ManagedAddOns folder. So if the OXP is an older version, it will disable the newer OXZ.

AppleMacs

... Strict semicolon parsing is a Mac thing. Windows and Linux use GNUstep to parse plists and that apparently is more relaxed syntax-wise than whatever it is that the Mac uses.

Another_commander from A possible solution? (2018).

... the libraries in the Mac seems to be less tolerant of some things than the GNUStep libraries on Linux:

  • lists are enclosed in '(' ')' with items separated by ',' and there must not be a comma after the last item in the list.
  • objects are enclosed in '{' '}' and consist of pairs: <key> = <value>.
  • Each key/value pair must have a ';' at the end, even the last pair in the object
  • if the object is a value in a key/value pair in another object, it's closing '}' must be followed by a ';'.
lifted from a PM from Dybal (2020)

Creating an OXP

It is intended to be easy to create expansion packs. Take a look at the How to make OXPs page for more information.

Context: What can OXP's not change? (2021)

Older OXPs (from Aegidian's day were written in Legacy Scripting. Modern OXPs are written in JavaScript. Specifically oolite.jsVersion 185, an Oolite specific variant of ECMAv5. It is the same Spidermonkey version (1.8.5 - March 2011) that Firefox 4 shipped with many years ago, but it is a special build for Oolite. This is the version that we have almost always had and it has not changed between versions of the game. It is unlikely to change in the future (due to the immense amount of work involved in tampering with it!).

XML (left) & OpenStep (right)

Legacy script comes in two versions: XML & OpenStep.

OXP resources

Loading Order of OXPs

OXPs loaded after other OXPs will "trump" the earlier OXPs in terms of their effects on the game. It is a similar situation with the vanilla game code, where the OXPs trump or overwrite the relevant sections of the basic oolite game.
The loading order under Macs and Windows is alphabetical, while Linux is unpredictable. There is no solution for Linux load ordering as yet (Svengali 2018).

OXP Lists