rfc1920
Load custom images to signs from a remote URL

Supported Games

Note: The code that handles the resizing requires gdiplus.dll. This should be present on Windows machines. But, on Linux, you will most likely have to install the package libgdiplus. Because this library depends on mono you will also have to add the mono repository to your system. Please refer to the FAQ to see how to do this.

This plugin allows players with the appropriate permission to use images from the internet to display on signs.

Configuration

Default configuration values:

{
  "Time in seconds between download requests (0 to disable)": 0,
  "Maximum concurrent downloads": 5,
  "Maximum distance from the sign": 3,
  "Maximum filesize in MB": 1.0,
  "Enforce JPG file format": false,
  "JPG image quality": 0,
  "Enable logging file": false,
  "Enable logging console": false
}

A few notes about some config values:

  • Maximum concurrent downloads is also used for a separate restore queue, so the plugin will never try to restore more signs at the same time than the value entered here.
  • JPG image quality is a numeric value between 0 and 100 (inclusive) that defines the jpeg image quality when the image is saved to storage.

Commands

Chat Commands

  • /sil <url> [raw]
    Download the image from the url to the server and display it on the sign you are currently looking at. Specifying the `raw` argument allows you to ignore jpeg enforcement if that is enabled in the config file.
  • /silt <message> [<fontsize: number>] [<color: hex value>] [<bgcolor: hex value>] [raw]
    Downloads a generated image with the given text and optional fontsize, color, bgcolor to be displayed on the sign you are currently looking at. Specifying the raw argument allows you to ignore jpeg enforcement if that is enabled in the config file.
  • /silrestore [all] [raw]
    Restores an image on the sign that was broken during the last Rust update. Specifying the all argument will restore all signs on the server. Specifying the raw argument allows you to ignore jpeg enforcement if that is enabled in the config file.
    (Keep in mind, if the sign is from a copy/pasted building you will have to save it again to correctly save the files for copy/paste for future use, unless you want to restore after every paste ;) )

Console Commands

These console commands do the exact same thing as the chat commands and can only be executed from the ingame console. They were added to allow input (long urls and such) that can't be send through chat.

  • sil <url> [raw]
  • silt <message> [<fontsize: number>] [<color: hex value>] [<bgcolor: hex value>] [raw]

Examples

Load from URL
/sil https://assets.umod.org/images/umod-gray-nomargin.png

Load from local file
/sil file:///C:/Windows/test.png/sil file:///c:\img\test.png (might work better). On Windows, be sure to work in a directory that's not restricted for some reason, e.g. C:\Windows.

Permissions

  • signartist.url
    Allows the player to use the /sil command
  • signartist.text
    Allows the player to use the /silt command
  • signartist.restore
    Allows the player to use the /silrestore command
  • signartist.ignoreowner
    Allows the player to use the /sil and /silt commands when he does not have building permissions
  • signartist.ignorecd
    Allows the player to use the /sil and /silt commands without trigger a cooldown.
  • signartist.raw
    Allows the player to specify the raw argument to ignore the jpeg enforcement when it is enabled in the config
  • signartist.restoreall
    Allows the player to specify the all argument for /silrestore to restore all signs at once.

    For Server Owners:

    Do not use unlicensed code because an unlicensed plugin is dangerous to your server's feature availability.

    For Developers:

    Do not integrate with unlicensed code as it is possible your integrations will break permanently without recourse.

    Download

    12.2K downloads
    490 watchers

    imported