Advertisement
fm3d

Example unionfs-fuse mount script for KSP 0.24.2

Nov 1st, 2014
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 11.72 KB | None | 0 0
  1. #!/bin/bash
  2. KSPPREFIX="$(basename -s .sh $0)" # name of the KSP prefix to use
  3. KSPDIR="${HOME}/ksp" # where the whole darn tree lives
  4. KSPDIR_MOUNTS="${KSPDIR}/mount-points" # where UnionFS mountpoints are
  5. KSPDIR_STORAGE="${KSPDIR}/unionfs-storage" # where UnionFS write directories are
  6. KSPDIR_MODS="${KSPDIR}/overlay-mods" # where mods live
  7. KSPDIR_SCRIPTS="${KSPDIR}/scripts" # where these mount scripts live
  8. KSPDIR_BASES="${KSPDIR}/app-templates" # where stock copies of KSP and their associated settings.cfg overrides live
  9. KSPDIR_LOCAL="${KSPDIR}/local-overlays" # local empty-file overrides live here to avoid confusing them w/ actual mods
  10.  
  11. ## where unionfs writes changes. This is NOT the mountpoint, setting it to the mountpoint causes an infinite loop!. Must be the only RW entry.
  12. KSPPATH="${KSPDIR_STORAGE}/${KSPPREFIX}=RW"
  13.  
  14. ### LOCAL TEXTURES & FIXES
  15. KSPPATH+=":${KSPDIR_LOCAL}/NoModStatistics=RO" # disable ModStatistics
  16. KSPPATH+=":${KSPDIR_LOCAL}/shsls_flags=RO" # SHSLS flags
  17. KSPPATH+=":${KSPDIR_LOCAL}/shsls_kspi_tweaks=RO" # Pumpable reactor fuel (for probes), expensive VAB-loadable Karborundum (for RCS balancing and TWR checks)
  18. ## bugged, don't know why or how to fix
  19. #KSPPATH+=":${KSPDIR_LOCAL}/RPM Patch - Kerbonov=RO" # RasterPropMonitor integration for the Kerbonov pack's 3-seat crop duster cockpit
  20. #KSPPATH+=":${KSPDIR_LOCAL}/dromoman-fix=RO" # locally=-applied fix for nothke's DROMOMAN parts - can't be applied via ModuleManager
  21. #KSPPATH+=":${KSPDIR}/local-overlays/thermal-fixes=RO" # KSPI thermal fixes for Kosmos SSPP
  22.  
  23. ### THIRD-PARTY CRAFT FILES
  24. KSPPATH+=":${KSPDIR_LOCAL}/o-dock_odin-crafts_2014-09-05=RO" # O-Dock ODIN spacecraft
  25.  
  26. ### TEXTURE REDUCTION PACKS
  27. ##KSPPATH+=":${KSPDIR_MODS}/KSO_low_resolution_v113=RO" # Kerbin Shuttle Orbiter System 1.13
  28.  
  29. ### KSOS goes here since it includes a custom RasterPropMonitor menu set
  30. #KSPPATH+=":${KSPDIR_MODS}/KSOS_v307LE/Limited Edition Livery=RO" # official limited-edition corporate textures :D
  31. #KSPPATH+=":${KSPDIR_MODS}/KSOS_v307LE/Base=RO" # version bump from v208; fixes animation bugs w/ 1.6m shuttle & adds 2.5m KSO Block III jumbo shuttle
  32.  
  33. # B9 r5.x goes here since it has so many mandatory bundled dependencies (most of which have probably been patched by the B9 Pack devs)
  34. KSPPATH+=":${KSPDIR_MODS}/B9_Aerospace_Pack_R5-2-4=RO"
  35.  
  36. ### PLUGINS WITHOUT PARTS
  37. KSPPATH+=":${KSPDIR_MODS}/AmbientLightAdjustment-1.2.0=RO" # because I already lag badly enough without additional lighting parts...
  38. KSPPATH+=":${KSPDIR_MODS}/ATM-3-4-x64-Release-basic=RO" # should fix CTDs after installing B9
  39. KSPPATH+=":${KSPDIR_MODS}/NEAR_v1_1_1=RO" # dep for v5.2 of B9 (can also use FAR)
  40. KSPPATH+=":${KSPDIR_MODS}/AnimatedDecouplers.x64_2014_08-15=RO" # dep for SDHI
  41. KSPPATH+=":${KSPDIR_MODS}/Fusebox_1_0a=RO" # Electric Charge Tracker and Build Helper
  42. KSPPATH+=":${KSPDIR_MODS}/ActionGroupsExtended118=RO" # didn't read the changelog...
  43. KSPPATH+=":${KSPDIR_MODS}/ModuleFixer-3=RO" # fix expanding parts in VAB/SPH parts list
  44. KSPPATH+=":${KSPDIR_MODS}/PartCatalog3.0_RC7=RO" # sort stuff
  45. KSPPATH+=":${KSPDIR_MODS}/AdaptiveDockingNode-1-5=RO" # better universal docking ports - not crew-traversable, but they shouldn't wobble anywhere near as much...
  46. KSPPATH+=":${KSPDIR_MODS}/Kerbal_Joint_Reinforcement-v2.4.3=RO" # make "Emery Reindeer" ultraheavy lifter less explosion-prone
  47. KSPPATH+=":${KSPDIR_MODS}/GoodspeedPump-2.14.1=RO" # make xenon flow behave like LFO instead of monoprop
  48. KSPPATH+=":${KSPDIR_MODS}/SelectRoot_0.24_Jul18=RO" # Installed for orientation control Eve landers
  49. KSPPATH+=":${KSPDIR_MODS}/RealChute v1.2.4=RO" # Installed for orientation control on Eve landers & landing assistance on Canada Spark SSTO
  50. KSPPATH+=":${KSPDIR_MODS}/HyperEdit-1.2.4.2=RO" # Installed for testing Eve landers
  51. KSPPATH+=":${KSPDIR_MODS}/Toolbar-1.7.6=RO" # load the latest Toolbar plugin, with support for multiple toolbars
  52. KSPPATH+=":${KSPDIR_MODS}/EditorExtensions_v1.3=RO" # Editor Extensions, fixes many annoying editor issues
  53. KSPPATH+=":${KSPDIR_MODS}/RCSBuildAid_v0.5.0=RO" # RCS Build Aid, makes balancing RCS easier
  54. KSPPATH+=":${KSPDIR_MODS}/ShipManifest.24.2_3.3.2_09282014=RO" # now Toolbar and CLS compatible
  55. KSPPATH+=":${KSPDIR_MODS}/KerbalAlarmClock_2.7.8.2=RO" # suggested for CactEye occultation experiment
  56. KSPPATH+=":${KSPDIR_MODS}/TacFuelBalancer_2.4.0.3=RO" # suggested for CactEye occultation experiment
  57. KSPPATH+=":${KSPDIR_MODS}/ModuleManager-2.4.4=RO" # split from new Pizza and Aerospace
  58. KSPPATH+=":${KSPDIR_MODS}/Kronal-VV-0.0.4.hf1=RO" # this is the version for 0.24.2, the 0.25.0 version follows a different naming convention
  59.  
  60. ### PLUGINS WITH PARTS
  61. KSPPATH+=":${KSPDIR_MODS}/Hooligan Labs Airships V2.6.0=RO" # Build 3-seat Eve SSTOs, or colonize Jool
  62. KSPPATH+=":${KSPDIR_MODS}/CactEye_v1.1=RO" # CactEye Space Telescopes
  63. KSPPATH+=":${KSPDIR_MODS}/BoxSat vA.02a=RO" # Modular satellites
  64. KSPPATH+=":${KSPDIR_MODS}/ExpPack_0.2.1=RO" # USI Exploration Pack
  65. KSPPATH+=":${KSPDIR_MODS}/US_KAS-0.8.3.12=RO" # Universal Storage KAS extension
  66. KSPPATH+=":${KSPDIR_MODS}/US_Core-0.8.4.22=RO" # Universal Storage
  67. KSPPATH+=":${KSPDIR_MODS}/Interstellar.Lite.v0.12.3=RO" # WaveFunctionP's fork
  68. KSPPATH+=":${KSPDIR_MODS}/KPlus_0.2.1=RO" # More Karbonite parts
  69. KSPPATH+=":${KSPDIR_MODS}/Karbonite_0.4.1=RO" # Karbonite, a Kethane substitute with a friendly license
  70. KSPPATH+=":${KSPDIR_MODS}/Bahamuto_Dynamics_Parts_pack_v1.1-v1.1.1=RO" # deps for HGR + a few cool parts
  71. KSPPATH+=":${KSPDIR_MODS}/SCANsat.v6.1=RO" # yet another mapping satellite; less laggy than ISA MapSat, but works w/ a predrawn map instead of a height measurement beam.
  72. ## remember: 6.2 > 6.11 due to a typo (I forgot the "." between the "1"s)
  73. KSPPATH+=":${KSPDIR_MODS}/Firespitter-6.3.5=RO" # Firespitter (plugin needed for Kosmos, see plugins-w/o-parts section)
  74. KSPPATH+=":${KSPDIR_MODS}/NRAP v1.5.0.1=RO" # procedural test weights
  75. KSPPATH+=":${KSPDIR_MODS}/Karbonite-EPL-Converstion16-7=RO" # use Karbonite instead of Kethane
  76. KSPPATH+=":${KSPDIR_MODS}/Extraplanetary_Launchpads_v4.2.3=RO" # Extraplanetary Launch Pads, an alternative to Orbital Construction (installed for the recycling bin part)
  77. KSPPATH+=":${KSPDIR_MODS}/XTLandertron07c=RO" # Project Hajile-style landing retrorocket
  78. KSPPATH+=":${KSPDIR_MODS}/SM-Pulse-Det-0.23=RO" # make "Canada Spark" SSTO load
  79. KSPPATH+=":${KSPDIR_MODS}/MKS_0.21.1=RO" # Modular Kolonization Systems/Orbital Kolonization Systems
  80. KSPPATH+=":${KSPDIR_MODS}/BobCat-HOME2_2014-06-11=RO" # HOME3 parts
  81. KSPPATH+=":${KSPDIR_MODS}/BobCat-HOME_2014-06-11=RO" # legacy HOME and HOME2 parts
  82. KSPPATH+=":${KSPDIR_MODS}/BobCat-Soyuz_2014-06-11=RO"
  83. KSPPATH+=":${KSPDIR_MODS}/MOARdV-FASAGemini-2.0=RO" # MOARdV's RasterPropMonitor retrofit for Gemini
  84. KSPPATH+=":${KSPDIR_MODS}/FASA-4.972=RO" # FASA (8-seat Big Gemini & ultralight fuel tanks)
  85. KSPPATH+=":${KSPDIR_MODS}/HGR_V1.0=RO" # 1.875m parts
  86. KSPPATH+=":${KSPDIR_MODS}/KAS_0.4.8=RO" # KospY is back!
  87. KSPPATH+=":${KSPDIR_MODS}/Engineer-Redux-0.6.2.10=RO" # MechJeb only calculates for the current SOI
  88. KSPPATH+=":${KSPDIR_MODS}/MechJeb2-2.3.1.0=RO" # load MechJeb2
  89. KSPPATH+=":${KSPDIR_MODS}/ORDA_1.0.9.6=RO" # ORDA is needed to dock APAS-69 ports correclty
  90. KSPPATH+=":${KSPDIR_MODS}/ProcFairings_3.09=RO" # Procedural Fairings (plugin needed for Kosmos fairings)
  91. KSPPATH+=":${KSPDIR_MODS}/Habitat_Pack_0.4=RO" # Porkjet's WIP inflatable habs
  92. KSPPATH+=":${KSPDIR_MODS}/SpaceplanePlus v1.3=RO" # additional spaceplane parts by Porkjet
  93. KSPPATH+=":${KSPDIR_MODS}/Taverios_Pizza__Aerospace-1.7_stripped=RO" # Taverio's Pizza and Aerospace (new parts only)
  94.  
  95. # reminder: all NFP 2.x packs are save-breaking and craft-breaking from v1.x!
  96. KSPPATH+=":${KSPDIR_MODS}/NearFutureConstruction0_2_3=RO" # structural trusses
  97. KSPPATH+=":${KSPDIR_MODS}/NearFutureElectrical0_2_2=RO" # batteries & fission reactors
  98. KSPPATH+=":${KSPDIR_MODS}/NearFutureExampleShips0_2_1=RO"
  99. KSPPATH+=":${KSPDIR_MODS}/NearFuturePropulsion0_2_3=RO" # may now ship correct plugins
  100. KSPPATH+=":${KSPDIR_MODS}/NearFutureSolar0_2_2=RO" # big solar panels
  101. KSPPATH+=":${KSPDIR_MODS}/NearFutureSpacecraft0_2_1=RO" # NFPP pods
  102. KSPPATH+=":${KSPDIR_MODS}/NearFutureTechnology0_2_2=RO" # NFPP tech tree
  103.  
  104. ## All Klockheed Martian packs must inherit from the Klockheed Martian base pack
  105. KSPPATH+=":${KSPDIR_MODS}/Klockheed_Martian_SSE_2.1.2=RO" # engines for asymmetric payloads
  106. KSPPATH+=":${KSPDIR_MODS}/Klockheed_Martian_SmartParts_2.1.1=RO" # staging -> actiongroup tools + jet flameout detector
  107. KSPPATH+=":${KSPDIR_MODS}/Klockheed_Martian_Special_2.1.2=RO" # dep for SDHI
  108. KSPPATH+=":${KSPDIR_MODS}/Klockheed_Martian_2.1.2=RO" # base
  109.  
  110.  
  111.  
  112. ### PURE PARTS PACKS
  113. KSPPATH+=":${KSPDIR_MODS}/CoffeeIndustries_CockpitsEngine._WIP-WIP-1.0=RO" # KN-12 turboprop
  114. KSPPATH+=":${KSPDIR_MODS}/Launchers Pack V2=RO" # SpaceX Falcon 1
  115. KSPPATH+=":${KSPDIR_MODS}/Tantares Release [9.1]=RO" # Stockalike 2-seat Soyuz & various resupply craft
  116. KSPPATH+=":${KSPDIR_MODS}/TLV Release [1.2]=RO" # Tantares Launch Vehicles
  117. KSPPATH+=":${KSPDIR_MODS}/Sauron Rockets_2014-09-10=RO" # craft files for next line
  118. KSPPATH+=":${KSPDIR_MODS}/SauronParts_2014-09-10=RO" # Parts inspired by Sauron's Concept Rockets thread
  119. KSPPATH+=":${KSPDIR_MODS}/ENERGIA 1.2=RO" # DECQ's Energia, depends on Klockheed Martian Space Shuttle Engines
  120. KSPPATH+=":${KSPDIR_MODS}/EDEnginesv1.11=RO" # NohArk's Pick n' Pull - Expansion-Deflection engines
  121. KSPPATH+=":${KSPDIR_MODS}/Retro-Future_Planes-1.5=RO" # NohArk's Pick n' Pull - Retro-Future Airplanes v1.2 (broken w/ Karbonite 0.3.3)
  122. KSPPATH+=":${KSPDIR_MODS}/ksp_sdhi_sms_v2_2_1=RO" # SDHI Serivce Modules, needed for my Duna lander
  123. KSPPATH+=":${KSPDIR_MODS}/UDKLD_Large_Structural_Components-2013-06-14=RO" # udk_lethal_d0se's 2.5m station hubs & parts (b/c Cpt. Kipard's minimalistic ones went down w/ Spaceport)
  124. KSPPATH+=":${KSPDIR_MODS}/UniversalDockingPorts-0.9.4=RO" # models that go quite well w/ the AdaptiveDockingNode plugin
  125. KSPPATH+=":${KSPDIR_MODS}/RLA_Stockalike-v11.2=RO" # new 0.24.2-rated version of RLA Stockalike
  126. KSPPATH+=":${KSPDIR_MODS}/KAX_v2.2.1=RO" # turboprop engines & heavy landing gear
  127. KSPPATH+=":${KSPDIR_MODS}/SXT-17-pre=RO" # Lack's new stockalike pack, THIS MAY NEED AN UPDATE!
  128. KSPPATH+=":${KSPDIR_MODS}/ftmn_pack_24feb2014=RO" # Kommitz Nucleonics FTmN Atomic Rockets
  129. KSPPATH+=":${KSPDIR_MODS}/Kerbonov_7-29-14=RO" # Kerbonov parts, incl. 3-seat 1.25m airplane cockpit (locally versioned)
  130. KSPPATH+=":${KSPDIR_MODS}/AIES_Aerospace151=RO" # AIES Aerospace, useful for satellites & landers
  131. KSPPATH+=":${KSPDIR_MODS}/LLL-12-2=RO" # Full version of Lack Luster Labs
  132. KSPPATH+=":${KSPDIR_MODS}/6sSerCom_v1.2=RO" # Nothke's 6S service module tubes (he's right, they're addictive)
  133. KSPPATH+=":${KSPDIR_MODS}/Kosmos_R4.7.2=RO" # Kosmos SSPP, because space stations are cool
  134. KSPPATH+=":${KSPDIR_MODS}/KW Release Package v2.6c=RO" # KW Rocketry (used in the SHSLS FRX)
  135. KSPPATH+=":${KSPDIR_MODS}/AN-JPLV-0.20=RO" # Japanese Launch Vehicle Pack (used for FRX first-stage & second-stage engines
  136. KSPPATH+=":${KSPDIR_MODS}/NovaPunch2.06=RO"
  137.  
  138. ### BASE GAME & TWEAKS
  139. KSPPATH+=":${KSPDIR_LOCAL}/binpatch-024_2=RO" # offsets have changed again
  140. KSPPATH+=":${KSPDIR_BASES}/KSP_linux_0.24.2=RO" # apply all the previous lines to this base...
  141.  
  142. cd "${KSPDIR}" # chdir into the instroot
  143.  
  144. mkdir -p "${KSPDIR_STORAGE}/${KSPPREFIX}" \
  145.     "${KSPDIR_MOUNTS}/${KSPPREFIX}" # make the required directories if they don't exist, otherwise continue
  146.  
  147. /usr/bin/unionfs -o default_permissions,use_ino,noatime \
  148.     -o cow,statfs_omit_ro \
  149.     "${KSPPATH}" \
  150.     "${KSPDIR_MOUNTS}/${KSPPREFIX}" # ...and mount it here (must NOT be the same as the read-write prefix!)
  151.  
  152. cd "${KSPDIR_MOUNTS}/${KSPPREFIX}" # chdir into the mount
  153.  
  154. # start bumblebee if the initscript returns 3, continue if it returns 0, raise an error & halt if it returns anything else
  155.  
  156. #optirun --no-failsafe -b virtualgl ./KSP.x86_64 # run KSP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement