The Nimbus Launcher helps players to quickly add, swap, and run variable client configurations for the game LEGO® Universe, which was discontinued as of January 2012. Per-server patch configurations are also available to allow players to automatically update local client configurations. More information can be found below.
This program DOES NOT include a LEGO® Universe client and/or its contents. Players must already have a client located on their system and configure the launcher to point to the client's directory.
Due to the LEGO Group's wishes, LEGO® Universe servers ARE NOT (and should not be) publicly available. The Nimbus Launcher is NOT a server browser. All server configurations managed by the launcher should be sent to players privately.
Binaries for the current version of the launcher will be available under the Releases tab. Releases will be labeled with the current launcher version followed by the target platform (i.e. v1.0.0-win.zip
). The zip
file will include an assets
folder and a copy of the compiled executable. The structure of the zip
file's contents should be as follows:
launcher/
|-- LICENSE
|-- nimbus-launcher.exe
The executable is NOT SIGNED. Your operating system may prompt you that the application is blocked. If you are not comfortable overriding the block, you will need to Build or Run the application from source.
Running the executable will generate a settings folder. If you move the executable to a different folder, make sure to bring the settings folder with it.
Since the Client Startup functionality has not yet been implemented for Mac, the only available releases are for Linux and Windows. Building and/or running the launcher from source, however, will still work as normal just with the missing functionality.
If you have Go installed on your system, you may follow the instructions the Building or Running from Source section.
When you first run the launcher, you may need to ensure that your client configurations are properly set. Clicking the gear icon will reveal the Settings window with two tabs: Servers and Launcher. The Servers tab is where you can Add, Edit, and Remove server configurations. The Launcher tab includes some launcher specific settings and patching settings, as well as client settings. If your launcher's play button is disabled, make sure that your Client Directory is configured to your client's folder (the folder that contains the res/
directory and the exe
file), and your Client Name is configured to the name of the client exectuable (this will most likely be legouniverse.exe
and will probably never change).
Once you are happy with your configurations, close the settings window and use the server selector to choose which server you would like to boot into. Server IP info for your currently selected server will be clearly labeled within the launcher. When you are ready, you can press the Play
button.
Two main phases occur when you press the Play
button:
settings/client_cache.sqlite
database) which were replaced through patches, are copied over to their original locations irrespective of whether the resources are original or not.settings/client_cache.sqlite
database) which were added through patches, are removed.boot.cfg
file for the currently selected server is copied over into the client directory.settings/client_cache.sqlite
database.settings/client_cache.sqlite
database../legouniverse.exe
where the current directory is the configured Client Directory
.{latest-proton-version}/proton run ./legouniverse.exe
where the current directory is configured to Client Directory
and the environment variables are:
WINEDLLOVERRIDES="dinput8.dll=n,b"
PROTON_USE_WINED3D=1
STEAM_COMPAT_DATA_PATH="{client-directory}/.proton"
STEAM_COMPAT_CLIENT_INSTALL_PATH="{steam-directory}"
client/run_linux.go
for more details.If you would like to build or run the launcher from the source code, you will need both go
and gcc
installed on your system. While this program does not directly use gcc
, its dependency, fyne.io, uses it for compiling OpenGL. After these tools have been set up, you can use either the go run
or go build
commands to run or compile the launcher.
go run .
Or:
go build .
./nimbus-launcher
If you build or run the launcher from source on MacOSX, you may run into a compiler issue along the lines of:
error: function does not return NSString
If this is the case, you can use the mac_run_fix.sh
or mac_build_fix.sh
scripts instead of the go run
or go build
commands, respectively.
If, as a server owner, you decide to use the patch server capabilities, DO NOT distribute any resources that were used by, or packaged by, the LEGO® Universe client while it was in operation.
Using the patch server functionality allows automatic updating of both launcher configurations and client resources on a server-configuration by server-configuration basis. For example, a local server and a friend's server can be both run with different applied client resources, i.e., having a custom grass texture on the local server and the normal texture on the friend's server. Or for instance, if the AUTHSERVERIP changes for a given server, the launcher can detect a change in patch versions, and then pull and update the boot.cfg
file for the out of date server.
For non server owners, always approach patches with EXTREME CAUTION. Never accept an update from a server you do not trust. By default, the Review Patch Before Update
setting is enabled. While on, this settings will display the fetched patch.json
file in a separate window with options to Accept the update, Cancel the update, or Reject the update.
Subject to change with between versions 0.*.* and 1.0.0
Configuring the launcher to point to a patch server is done through both the boot.cfg
file and the local server configuration.
When updating or creating a local server configuration within the settings window, select one of the options for the Patch Protocol field:
The selected option will determine which protocol the launcher will make requests to the patch server with. Selecting (None) will disable all patch server configurations.
Both http and https follow the TPP Protocol
For the boot.cfg
file, modify the following fields:
PATCHSERVERIP
: Configured server IPPATCHSERVERPORT
: Configured server portPATCHSERVERDIR
: The patch server directory where patch resources are located
http://127.0.0.1:3000
and PATCHSERVERDIR
is patches
, the launcher will make requests to http://127.0.0.1:3000/patches
To set up a patch server, you need an HTTP/HTTPS server which complies with the TPP Protocol.
Whenever the launcher makes a patch server request, if the Patch Token
setting is not empty, it will include a custom header which complies with the TPP Protocol. The patch server should verify that the token is valid before sending any patch contents.
The patch token should be included within the exported server.xml
file, but it can still be changed by editing the local server configuration through the settings window.