omsi-launcher | An Omsi instance manager 0.4.0

License Agreement
GNU General Public License v3.0
Website / Support
https://github.com/NyCodeGHG/omsi-launcher/issues
Recommended version of OMSI
Current v2.3.x
Prerequisite commercial expansions
None
Additional version notes
This is a beta release which is recommended for testing purposes only.

- Whilst it is unlikely to happen, Steam can break your instances when starting, so it is recommended to stop Steam before switching instances, this will be integrated into the UI soon
- It is currently impossible to edit your base instance, we will add that functionality soon

This tool allows you to have multiple Omsi instances, each with different Add-ons installed, to mitigate Omsi's poor fs optimizations, without taking up more storage space

# omsi-launcher


WIP OMSI 2 game launcher &

manager built using Kotlin

and Compose.


**WARNING: This is unstable software right now. Create Backups of your game files before you use

it.**


# Why use this?


Omsi is optimized extremely poorly for usage with a lot of AddOns, as a single AddOn doesn't exist

in a single location,

it exists in a lot of locations (maps, Vehicles, Sceneryobjects, Splines, Scripts), this combined

with OMSI seemingly

checking your entire OMSI folder each time some UI refreshes the game gets increasingly more laggy

the more addons/mods

you add.


A simple solution is to not have as many addons installed, or having multiple installations of the

game itself for

different groups of addons.


This tool helps you to create multiple installation, without taking up more storage by

symlinking common resources to a base installation of

the game, therefore

each individual instance just takes the space of the individual addons it has installed


# How to launch an instance


Whilst it is theoretically possible to launch Omsi through Steam, it is recommended to let the

launcher call Steam

instead.


# What is "omsi-launcher elevation helper" and why does it request admin permissions?


[code single]omsi-launcher elevation helper[/code] is a tool we use to temporarily launch

a elevated process

for some file system

operations, this is required as Windows decided that it is necessary to be an administrator in order

to create symlinks. People interested in source code can

click here


# How does this work?


When starting Omsi through Steam, Steam just calls [code single]<SteamLibrary>\OMSI 2\Launcher.exe[/code] it doesn't

care what that file

is.

So when starting an instance through the launcher it will create a symlink

at [code single]<SteamLibrary>\OMSI 2[/code] pointing to the

instance you want to launch, this way Steam will actually run [code single]<selected instance>\Omsi.exe[/code]



# Folder structure


Base game: When starting the launcher for the first time, it asks you to set up your "base game

folder", this will

contain the actual base game and addons you want to share between all other addons (OmniNavigation,

bus DLCs)


Individual Instance: Each instance of Omsi has its own installation folder, during the creation of

the instance, the

launcher will go through all contents of the base game folder and create a symlink pointing to the

base game. The

launcher will only symlink files and not directories, those will instead be created and their

contents will be

symlinked.

Using this method addon installers can write to base game locations, without writing their contents

to the base game

folders



More information can be found on GitHub

Images

  • 0.4.0

    Added

    - Tooltips (#23)

    - Context Menus (#24)

    - Add relink native executable (edfd472)

    - Add app manifest merging logic (ee8b73d)

    - Add vdf parser (d8b9ac4)

    - Add all instance options to creation UI (#26)

    - Show base game instance in instances view

    - Add Context Menu entry to show instance files (#29)

    - Show "Close Steam" dialog as well when switching instances (#27)


    Changed

    - Upgrade kotlinx-serialization-json to 1.3.3 (#17)

    - Upgrade lyricst to 1.2.1 (#19, #18)

    - Check whether directories are empty in setup

    and creation dialogs (#33)

    - Make launcher suggest directories based on instance names (#33)



    Fixed

    - Handle when Steam/OMSI is not installed (#20)

    - Log native executables correctly (#22)

    - Fix input boxes in instance creation dialog exceeding UI space (#33)

  • 0.3.0

    first release

  • Few bugs


    1. It seems to automatically create the symlinks before it can verify the folder or something, so it then complains the new folder I just created should be empty before i can add the new instance.


    2. Edit button does not work. I can't actually change whats in the instance.


    3. Settings appears to be blank.


    I'm not really sure what these last two icons mean?


    https://i.imgur.com/LRYDJdg.png


    Also surely better wording could be used when the user refuses UAC :p


    https://i.imgur.com/8iZdopd.png

    • 1. I'm not able to reproduce what you described. Instance Creation works fine. Feel free to open an issue on GitHub.


      2. There is no edit screen at the moment. Please note that this is a beta release and the launcher is currently not stable and things will break.


      3. Settings tab is just a placeholder at the moment.


      The first button there is for activating the instance, which means the symlink in SteamLibrary\steamapps\common\OMSI 2 then points to this instance when you click it.

      The icon next to the button shows if the instance uses the Tram or Bus Patch version of the game.


      We'll add tooltips to everything to make it easier and understandable.


      Yeah, that UAC text was also a placeholder, we'll change that.


      Thank you for trying out our first beta release :)

      Like 1
    • > 1. It seems to automatically create the symlinks before it can verify the folder or something, so it then complains the new folder I just created should be empty before i can add the new instance.


      I assume what happened here is that you clicked no in UAC, and the folder got created before UAC this is a bug we need to fix thx for noticing


      > 2. Edit button does not work. I can't actually change whats in the instance.

      > 3. Settings appears to be blank.


      Should have mentioned that somewhere, but this is intended for now, as this is a beta release a couple of UI is not implemented for now. As you figured out settings and edit is currently not implemented also the create instance menu is just the basics


      > I'm not really sure what these last two icons mean?


      We'll add tooltips soon but:

      - the button means activate, you click it if you want to download new steam DLCs to an instance (please stop steam first) the other represents the patch version (Bus = latest OMSI Release = bi atriculated bus Version) (train = "tram Version")


      > Also surely better wording could be used when the user refuses UAC :p

      ;)

      Like 1
  • When choosing the installation folder and choosing the Steam Common folder, then there comes this error:


    D:\Steam\steamapps\common\OMSI 2 -> D:\Steam\steamapps\common\game


    This also happens when i directly choose the Omsi folder.

    • You shouldn't choose either the Steam Common Folder, or the Game Folder directly. This should be a new Directory where you want the Launcher to store its files.


      We should make this clearer, there will be a notice in one of the next versions.


      Thank you for trying out our first beta release :)

Advertisement