Skip to content
Header background
October Update
posted by Raul on Wednesday, October 1, 2025
carboncontrolcuirust
Rust CUI updates, meta shift, bug fixes, Web Control Panel accounts.
Image credit: files.facepunch.com

CUI

With this update, various long anticipated community curated PRs have been finally merged into the game, allowing plugin developers and CUI designers to expand on the possibilities of what they can do!

Draggables


Introduced by Kulltero in PR #55, drag & drop allows us to mark a panel as draggable & listening to its movements when dragged by the player, opening up a whole new way of player interaction.

RectTransform Rotation

Introduced by 0xF in PR #69 (nice), you're now able to rotate any UI elements you're creating.

Sources

Image credit: files.facepunch.com

Extra Community Features

With this update, Jake continued adding a few new awesome features in addition to the CUI changes.

Custom Vitals

Introduced by Jake Rich in commit, in Protobuf format you're now able to add entirely custom player vital elements with very high customisation, allowing you to change the following:

cs
public Color backgroundColor;
public Color leftTextColor;
public Color rightTextColor;
public Color iconColor;
public string leftText;
public string rightText;
public string icon;
public bool active;
public int timeLeft;

WARNING

Be sure to manage the list of CustomVitalInfo and CustomVitals instance properly by using Facepunch.Pool.Get and Free as they are pooled objects.

Time Left

To use TimeLeft, you must also assign rightText with a similar format such as the following: "{timeleft:ss}". When the countdown reaches zero, nothing will happen, it's just a client-side visual countdown.

Icons

The icon field is a string but it actually takes in a FileStorage CRC value.

Entity Scaling

You can now change the scale of entities. And it's fairly easy too, as well as optimal on the network. The scale only gets networked if the BaseEntity.networkEntityScale is set to true. To actually update and sync the change, you just update the transform.localScale and run entity.SendNetworkUpdate().

INFO

You can also use ent scale <value> to rescale an entity. Use ent scale 1 to revert back to the original size.

Custom Item Icons

You can now assign custom item icons by using item.itemImageId which is a FileStorage CRC uint value. Make sure to mark the item dirty with item.MarkDirty() to see it update immediately.

Non-Moddable Improvements

There are a few modding-related supported changes, such as the following:

  • Dropped item names will show custom names now
  • Modified Drone tax will now show up correctly
  • Have the ability to make previously throwable melee weapons as non-throwable
  • Modified player max. health will now properly scale on the client
Image credit: files.facepunch.com

Web Control Panel

While you're still able to use the WebControlPanel using Rust's default WebRCon with one defined password granting the ability to execute owner-level commands, we're introducing Accounts with this brand new update!

INFO

Due to browser limitations, if you're using the WebControlPanel tool with secured connection, aka https:// mode, you're required to set up a SSL certificate on your Rust WebRCon connection. To use an insecure connection (bypass the certificate), switch to http://.

Carbon Bridge

A new mode will be available on the panel, named Bridge. Once configured on your server, it will start a new RCon-like TCP connection which is entirely buffer-based (relative to Rust's WebRCon JSON-based communication) running under Carbon's Bridge system.

Accounts

As the name might tell, with the introduction of the brand new Bridge connection, you're now able to have multiple passwords for the Bridge connection, which grant the people with access different permissions, opposite to granting them the rights to execute any owner-level commands.

How to set up?

The location of the brand new WebPanel config is at <root>/carbon/config.webpanel.json by default. Depending on the viewing permissions, once accounts log in, they will only see and access the tabs that they have permission to.

The config can be reloaded on the fly as well as the Bridge server connection and port can be changed when reloading the config. Here're the available relevant commands:

  • c.webpanel.loadcfg: Reloads the config, (re)starting the connection.
  • c.webpanel.savecfg: Saves the config in case any changes haven't saved.
  • c.webpanel.setenabled: Changes on-the-fly the status of the server if was previously configured to be enabled.
  • c.webpanel.clients: Prints a table list of all connected web clients.
  • c.webpanel.connected: Is a readonly Carbon variable which lets you know if the Bridge server is broadcasting.

INFO

Whenever the config gets reloaded and new permission changes apply, all currently connected web clients will be disconnected, requiring them to reconnect with fresh account permissions.

json
{
  "Enabled": true,
  "BridgeServer": {
    "Ip": "localhost",
    "Port": 28608
  },
  "WebAccounts": [
    {
      "Name": "owner",
      "Password": "BMjgFMH",
      "Permissions": {
        "console_view": true,
        "console_input": true,
        "chat_view": true,
        "chat_input": true,
        "players_view": true,
        "players_ip": true,
        "players_inventory": true,
        "entities_view": true,
        "entities_edit": true,
        "permissions_view": true,
        "permissions_edit": true
      }
    },
    {
      "Name": "guest",
      "Password": "guest",
      "Permissions": {
        "console_view": false,
        "console_input": false,
        "chat_view": true,
        "chat_input": true,
        "players_view": true,
        "players_ip": false,
        "players_inventory": false,
        "entities_view": false,
        "entities_edit": false,
        "permissions_view": false,
        "permissions_edit": false
      }
    }
  ]
}

Changelog

Join us!

Feel free to join us on our official Discord server if you have any other questions!

Read More

There's more where that came from! Choose what you wanna learn about next.

Released under the MIT License. Feel free to help us improve!