You are viewing a potentially older version of this package. View all versions.
giosuel-Imperium-0.1.4 icon

Imperium

A powerful and highly performant all-in-one debugging tool to test and explore game mechanics and functionality in Lethal Company.

Date uploaded 3 months ago
Version 0.1.4
Download link giosuel-Imperium-0.1.4.zip
Downloads 2181
Dependency string giosuel-Imperium-0.1.4

README

Imperium Logo

Imperium

Imperium is a powerful and highly performant all-in-one debugging tool to test and explore game mechanics and functionality in Lethal Company.

It is a client-side and server-side mod, meaning it works in singleplayer and multiplayer, as long as Imperium is also installed on the host.

Imperium was made with the intent to be a tool to test game functionality and provide more insight into the weird and wonderful mechanics of Lethal Company.

The Imperium team strongly stands against cheating and trolling in public lobbies. If you really want to cheat, at least put some effort into making your own hacked client!

Features

  • Modular and user-centered UI system.
  • In-game overlays and indicators for hitboxes of shotguns, shovels, landmines, etc.
  • Customizable 3-axis freecam with built-in teleportation, night vision and custom FOV settings.
  • Visualization of game object hitboxes, spawn locations, tile borders and much more.
  • Entity, scrap and map hazard; spawning, de-spawning and teleportation.
  • Ability to kill and revive players including the yourself.
  • Entity spawn prediction powered by the Oracle Prediction Algorithm.
  • Easy adjustment of game variables such as credits, quota deadline, spawn rates and many more.
  • Player tweaks such as god mode, infinite sprint, infinite battery, night vision, invisibility, custom movement speed, custom jump height, and many more.
  • Player teleportation via coordinate input or interactive location picking alongside a waypoint manager.
  • Noise detection overlay that marks recently played noises with temporary markers.
  • Option to toggle the employee HUD overlay.
  • Enabling / Disabling of various render layers, post-processing effects, render passes and more.
  • Built-in save file editor for save files (Level options, Furniture location, Player XP, etc.)
  • Allows bypassing of the loading screen and instantly loading a save file on start-up.
  • Fully compatible with Unity Explorer (Including mouse look fix).
  • Fully compatible with the public beta v50 of Lethal Company.

UI System and Keybinds

Imperium is divided into 5 separate main interfaces that can be opened separately with the functional keys F1 - F6. One UI can be opened at a time and opening another UI will result in the others being closed. This also works with the Unity Explorer. Many of the UIs consist of separate windows that can be collapsed if needed. It is currently not possible to re-bind any Imperium keybinds.

Keybind Action
F1 Opens the Imperium control center and the object explorer.
F2 Opens the object spawning menu.
F3 Opens the teleportation interface and the waypoint manager.
F4 Opens the weather forecaster.
F5 Opens the Oracle spawn prediction.
F6 Opens the ship navigator.
T Opens the interactive teleportation indicator.
F Toggles the Imperium freecam.
X Toggles the Imperium minicam / picture-in-picture mode.
Z Toggles the employee HUD.

Imperium Control Panel

The Main Control Panel allows you to change game and player settings as well as enabling and disabling the various overlays and gizmos Imperium offers. The control panel also allows access the Moon Settings, Render Settings, Imperium Settings, Save File Editor and the Object Settings menu.

imperium-control-center

  • Casting Indicators: Raycast and physics collision indicators (client-side).
  • Gizmos: In-game objects that visualize spawn indicators and timers (client-side).
  • Colliders: Collider visualization of predefined game objects by tag or layer (client-side).
  • Overlays: Various in-game overlays for path-finding, spawn locations, etc. (client-side).
  • Player Settings: Player tweaks and adjustments (client-side).
  • Game Settings: General game settings and adjustments (client-side).
  • Time Settings: Time-related settings (client- and server-side).

Object Explorer

The object explorer allows you to easily manage the various game objects currently loaded in a scene.

  • Items and Scrap (Despawn, Drop, Teleport To)
  • Entities (Despawn, Respawn, Teleport To)
  • Players (Kill, Revive, Teleport To, Teleport Player)
  • Map Hazards (Despawn, Teleport To)

Moon Settings

The moon settings interface lets you view and change settings and variables of the current moon. Challenge moon information is always provided, even on non-challenge save files.

All the moon settings, including the min spawns, max power, weather variables and spawn lists are not persistent and reset every time a new game is loaded.

moon-settings

Render Settings

The render settings interface allows you to activate / deactivate render layers and objects that make up the scene. Many of the settings are only used when on a moon. It is also possible to change the resolution of the game in real-time.

render-settings
  • Lighting: Contains light and sub objects.
  • Volumetrics: Contains global and local volumes.
  • Frame Settings: HDRP-specific camera settings for all the cameras in the scene except the map.
  • Post Processing: Screen-space post-processing camera layers.
  • Player Overlays / Filters: Contains various employee overlays and filters.

Due to the nature of buffering and rendering of unity cameras, a new render texture has to be generated every time the resolution is changed. The slider has a debounce timer to make sure the game doesn't crash but changing the resolution still lags the game for a few seconds.

Save File Editor

Imperium's built-in save file editor can edit any non-vector data fields from the general save file (LCGeneralSaveData) and the individual game saves (LCSaveFileX).

save-file-editor

It is not recommended to use the save file editor unless you know what you are doing.

To provide maximum control over the save files, Imperium doesn't implement any input validation, meaning it is very easy to screw up the saves and render the game completely unplayable!

Always make sure to have a backup before changing anything!

Imperium Freecam

Imperium comes with a built-in freecam that can be activated with F. The freecam camera is an exact copy of the player's gameplay camera with the exception of the culling layers that can be toggled in the layer selector. The layer selector can be toggled with L and is activated by default.

freecam

The freecam can be moved with WASD controls and Q and E for up and down movement.

Keybind Action
UpArrow Moves layer selection up in layer selector.
DownArrow Moves layer selection down in layer selector.
Space Toggles selected layer in layer selector.
LeftArrow Increases freecam field of view.
RightArrow Descreases freecam field of view.
ScrollUp Increases freecam movement speed.
ScrollDown Decreases freecam movement speed.
R Resets the freecam's position, FOV and movement speed.
T Teleports the player model to the freecam.
L Toggles layer selector.

Spawning Console

Tha spawning console allows you to spawn entities, scrap and map hazards into the scene.

There are three different spawn categories; Entites, Items and Map Hazards. The spawn category can be changed with Tab. To spawn the first entity in the autocomplete list, press Return.

Category Command Syntax
Entity entityName [amount] [health]
Item itemName [amount] [value]
Map Hazard mapHazardName [amount]

spawning-ui

Imperium Settings

The Imperium settings interface provides access to various preferences of Imperium.

Logging

Imperium uses message boxes to provide more user-friendly logs; these message boxes can be turned off by unchecking General Logging.

Oracle uses these message boxes to log spawn predictions, meaning, it generates a message box every time the prediction is updated.

It is recommended to keep Oracle logging turned off when not needed, for performance reasons.

Quickload

When enabled, Quickload will skip the start-up screen and / or the game menu.

If the menu is skipped, the number of the save file that will be loaded can be provided in the input box. If Clean File is selected, the save file will be deleted every time a game is loaded.

If Reload On Quit is selected, the game will instantly be reloaded after you exit a game via the quickmenu (Esc).

Other Settings

  • Optimize Logs: Adds harmony patches to verbose LC functions to reduce logs and increase the overall game performance and log readability.
  • UE Mouse Fix: If turned on, the Unity Explorer UI will capture the cursor and disable head rotation.
  • Notifications: Activates / Deactivates the different in-game notifications.
imperium-settings

Oracle Spawn Prediction

Oracle is an algorithm developed by the Imperium team to predict indoor, outdoor and daytime entity spawns over the course of the day.

Oracle predicts daytime, outdoor and indoor entities including their spawn times and spawn positions. Clicking the position text in an oracle entry teleports you to the spawn point.

Entities spawned with Imperium do not count towards current level power or their max count, meaning, they do not influence the entity spawning.

Oracle is currently in beta stage and is therefore not guaranteed to always work properly.

imperium-oracle

Prediction Restrictions

Entity spawns in Lethal Company are dependent on a lot of factors. Since v47 everything became more strictly dependent on the map seed and while this made things a lot easier, there are still a few exceptions in the code that mess up entity spawning. Oracle accounts for all these changes, meaning the spawn predictions can changaAAAAAAASe if one of the following events occur:

  • An entity dies (Affects all spawn cycles).
  • An eyeless dog kills an employee.
  • A masked (entity) is searching for a place to walk to.
  • A forest giant is grabbing a player / reaching it's targeted AI node during roaming.
  • A bunker spider attempts to place a web.

While Oracle notifies you for most of these prediction adjustments, due to the frequent nature of some of them (e.g. masked searching for a node) it is just not feasible to spam notifications. Make sure to regularly check the Oracle UI for changes if there are masked or bunker spiders present on the map as the prediction can shift a lot.

Bug Reports and Feature Requests

Feel free to submit bug reports or feature requests asissues on Imperium's Github page. Please include your BepInEx log file or an excerpt to make our life easier.

Credits

Imperium was designed and implemented by the Imperium team (giosuel).

Various icons were provided by FlatIcon.

Special Thanks To

CHANGELOG

Changelog

Imperium v0.2.0 [Beta] - The Interface Update

This update is a huge one and mainly aimed at the rework of the UI system as well as the integration of new visualizers and debug options for the new update v55! As the previous UI solution was quite static and hard to maintain and expand, I decided to switch from static views with frozen windows to a more dynamic approach with floating windows! I also decided to finally integrate InputUtils, as a lot of people have requested. Imperium keybinds can now be re-bound in the settings.

Besides that, I re-wrote the whole internal networking and switched form manual RPCs to using the LethalNetworkAPI for all network communication in Imperium. This should provide more stability when using Imperium in multiplayer and reduce client de-syncs when changing game variables at runtime.

Finally, I also expanded the Imperium API and added a lot of new functionality, including being able to synchronously spawn items and entities as well as enabling and disabling core functionality such as god mode or flight.

Added Stuff

  • Merged most of the smaller windows into a large Imperium UI that supports floating windows.

    • Windows can be dragged and resized with the mouse cursor.
    • Holding Alt and dragging an window results in the window being resized.
  • Added tooltips to several buttons and Imperium settings to serve as in-game help with the interface.

  • Added InputUtils integration to make keybinds changeable in the settings.

  • Merged the navigator window and ship settings into a new Ship Control UI.

  • Moon settings were merged with the moon control center into a new Moon Control UI.

  • The teleport UI and the waypoint manager were merged into a new Teleportation UI.

  • Added support for modded weathers in the Moon Control UI.

  • Added scrap, entity and map hazard spawning functions to the Imperium API.

  • Added steam valves as new map hazard in the object explorer and spawn UI.

  • Added new custom visualizer for Nutcrackers.

  • Added new custom visualizer for Hoarding Bugs.

  • Added an option to permanently enable the drunk effect from the TZP-Inhalant.

  • Added new custom visualizer for the Kidnapper Fox.

  • Added an option to spawn Vain Shrouds from the SpawningUI.

  • Added a new visualizer for Vain Shrouds.

  • Added a new visualizer for Vain Shroud attraction points.

  • Added an option to spawn the Company Cruiser from the SpawningUI.

  • Added default insights for the Company Cruiser.

  • Added a slider to change the push control for the Company Cruiser.

Changes

  • Small Object Explorer functionality rework.
    • Toggling objects in the object explorer is now synced with other clients.
    • Disabling entities now results in them being frozen instead of deactivated.
    • Toggling turrets and landmines now results in them being enabled / disabled as if an employee would do it from the terminal instead of the object itself being enabled / disabled.
    • Toggling breaker boxes now results in all the switches being flipped instead of the object itself being enabled / disabled.
    • Toggling steam valves will burst / repair them.
  • Merged the amazing shotgun visualizer rework by digger1213.
  • Pausing time is now possible from space.

QoL Improvements

  • Adjusted all themes to better match the new overlapping window style.
  • Modded weather and moons now show up correctly in the respective UIs.
  • Freecam flight controls were changed to match with the creative flying controls.
    • Default: Ctrl -> Descend, Space -> Ascend, Return -> Toggle the selected layer.
  • The zoom slider in the Map UI now uses a logarithmic scale.
  • Various small changes to the Oracle UI including new formatting of the vectors.
  • Added a way to highlight entity ghost spawns for indoor entities (Caused by a bug in the game).
  • Disabling the flying option now disables flight.
  • Added aliases for Insight class names to simplify class identification.
  • Changed the trigger, collider and navmesh surface visualizer's material.

Internal Fixes

  • Fixed a bug where it was not possible to join an Imperium lobby without having Imperium installed.
  • Fixed the animation skipping options Interact and InteractHold.
  • Fixed a typo in a function signature in the Imperium API.
  • Fixed a bug where players could die in orbit when god mode was off.
  • Changed it so insight generators are executed in LateUpdate for consistency.
  • Fixed player invisibility and made it more consistent across all entities.
  • Fixed a bug where the ship would always land instantly, even after disabling the option.
  • Fixed a bug where Nutcrackers were affected by infinite ammo and full auto shotgun.
  • Added various functions to the log silencer feature of Imperium.

Imperium v0.1.9 [Beta] - The API Update

As so many of you have requested more advanced debugging functionality that can be accessed by other mods, I have started to implement an API that can be used either in the UE console or by other mods.

I also started writing a wiki that should cover the basics on how to use Imperium as well as information for devs that want to work with Imperium or contribute to Imperium.

Added Stuff

  • Added the Imperium API and a wiki for it.
  • Added minecraft-like creative flight.
  • Added options for the ship to instantly land, take off and travel betwen planets.
  • Added an option that removes the hold time on interact triggers (e.g. ship lever or main entrance).
  • Added new custom visualizer for Old Birds.
  • Added new custom visualizer for Baboon Hawks.
  • Added a moon indicator to the minimap.

QOL Changes

  • I had to limit the possible quota deadline to 3 days as deadlines above 4 were actually breaking the game. Instead, I added an option to completely disable the quota deadline for testing.
  • Turning on god mode now restores health to full and removes the damage overlay.

Internal Fixes

  • Fixed a bug where spawned entities would sometimes be placed below the ground.

Known Issues

  • Switching between Unity Explorer and a Imperium UI directly breaks the cursor.

    • To fix, just open and close Unity Explorer once.
  • Scanner overlays are broken at higher texture resolutions.

  • There are currently some issues with multiplayer. Mostly, when someone without Imperium is trying to join an Imperium lobby.

Compatibility

This version is compatible with the v50 update of Lethal Company (Imperium Mod Compatibilities).

Imperium v0.1.8 [Beta] - The Visualizer Update

I reworked the whole visualizer system and added a lot of new visualizers and indicators, including indicators for entity LOS and noise detection.

There is a new UI from which all visualizers can be managed!

Added

  • Added many new visualizers for various game objects and layers.
  • Added a new notification type for access control and spawning notifications.
  • Added a new interface to manage all the visualizers in one place.
  • Added entity LOS, proximity and noise detection visualizations.
  • Added an option to disable out-of-bounds triggers.
  • Added an option to unlock all unlockable items in the terminal shop.
  • Added a scaling option for the minimap in the minimap settings.

QOL Changes

  • Entity and Player info panels are now rendered in screen-space, resulting in higher resolution.
  • The size of the visualizers for indoor and outdoor nodes has been decreased.
  • Clamped the freecam movement speed between 1 and 200.

Internal Fixes

  • Fixed a bug where Imperium client access would lock the host out.
  • Fixed a bug where the render pipeline changed the aspect ratio of some screens.
  • Fixed an issue where not all notifcations were toggleable.
  • Fixed a bug where the map camera clipping would not adjust when in unlocked mode.

Known Issues

  • Switching between Unity Explorer and a Imperium UI directly breaks the cursor.

    • To fix, just open and close Unity Explorer once.
  • Scanner overlays are broken at higher texture resolutions.

Compatibility

This version is compatible with the v50 update of Lethal Company. (Imperium Mod Compatibilities)

Imperium v0.1.7 [Beta] - Hotfix

Internal Fixes

  • Removed unnecessary debug statements.
  • Fixed a bug where items would fall through the ground when teleporting them.
  • Fixed a bug where the version wouldn't display correctly.
  • FIxed a big where spawned items would fall through the ground.

Imperium v0.1.6 [Beta] - The Map Update

Imperium now has its own isometric map and minimap!

Besides that, Imperium's UI got a complete overhaul with new components, better and more consistent alignment and brand new interface skins! There are currently 8 different interface skins to pick from.

I also reworked the night vision system to be more uniform and comfortable to use.

Compatibility

This version is compatible with the v50 update of Lethal Company (Imperium Mod Compatibilities).

Added

  • Added a hybrid 2D/3D isometric map - Open with F8.

    • Added minimap - Open with M.

    • LMB - Look, RMB - Move, MMB - Zoom, R - Reset

  • Added an option to prevent the ship from leaving automatically.

  • Added eight new interface skins to pick from.

  • Added option for host to allow or disallow Imperium commands from clients.

  • Added visualization for interact triggers.

Changes

  • Completely overhauled the look and feel of the Imperium interface.
  • Reworked night vision to be more uniform and comfortable to use.
  • The custom welcome message can now be turned off in the settings.

Internal Fixes

  • Multiplayer works again!
  • Security doors now correctly open and close.
  • Fixed a bug where changing weathers was causing an exception on certain moons.
  • Fixed the freecam teleport button in the Teleport UI.
  • Fixed a bug where Oracle crashed when a vent was overwritten.

QOL Changes

  • Teleport Indicator can now be toggled with T.
  • The "Vent" category in the object explorer can now be collapsed properly.

Known Issues

  • Switching between Unity Explorer and a Imperium UI directly breaks the cursor.

    • To fix, just open and close Unity Explorer once.
  • Scanner overlays are broken at higher texture resolutions.

Imperium v0.1.5 [Beta] - The Compat Update

I re-wrote the entity and item management system to improve the compatibility with mods that add items and entities with LethalLib.

In general, using Imperium in existing v50 modpacks should now work a lot better, but I still can't guarantee that it doesn't break with certain mods.

Compatibility

This version is compatible with the v50 update of Lethal Company.

Changes

  • Completely rewrote the Spawning UI and entity handling system to be more robust.
  • Added support for modded items and entities.
  • Items, scrap and spider webs can now be teleported from the Object Explorer.
  • Added indoor spawning vents to the Object Explorer.
  • Added breaker boxes to the Object Explorer.

Internal Fixes

  • Changing the weather in real-time is now fully implemented.
  • FOV transitions are now smooth (e.g. when sprinting).
  • Fixed a bug that caused freecam inputs to go through when the UI was open.
  • Fixed the BepInEx dependency.
  • Fixed a bug that caused problems when spawning entities with a space in their name.

QOL Changes

  • Entity spawn location can now be picked interactively when in freecam.
  • Freecam now spawns above the player when opened for the first time.
  • More overlays now correctly look at freecam when its active.

Known Mod Incompatibilities

  • Minimap by Tyzeron - Conflicts with the cursor locking

Imperium v0.1.4 [Beta] - The Noise Update

Compatibility

This version is compatible with the v50 rev.4 update of Lethal Company.

Added Features

  • Added picture-in-picture mode for freecam (Shortcut: X).
  • Added keybind to toggle the Player HUD (Shortcut: Z).
  • Added visualization of the outdoor spawn denial points.
  • Added night vision to the freecam.
  • Added noise markers to indicate nearby noises.

Internal Fixes

QOL Changes

  • Dead entities are now marked as dead in the object explorer.

Imperium v0.1.3 [Beta] - Hotfix

Compatibility

This version is compatible with the v50 rev.3 update of Lethal Company.

Buxfixes

  • Adjusted Oracle predictions as the daytime entity bug was fixed.
  • Updated README with new images.