info.toml reference
The info.toml
file specifies important metadata for a plugin. It has a number of possible options you can set. The format of this file is toml.
Meta table
The required [meta]
table contains basic metadata information about the plugin.
Key | Type | Required | Description |
---|---|---|---|
version |
String | Yes | The version of the plugin. Openplanet will read this as 1.0 when not provided, but it is required for successful submission on the website. |
name |
String | Recommended | The name of the plugin. When not provided, this defaults to the identifier of the plugin. |
author |
String | Recommended | The author of the plugin. |
category |
String | Recommended | The category of the plugin. When not provided, this defaults to Uncategorized . It's recommended to use category names that other plugins are also using, so that they can be grouped together in a nice way. |
blocks |
String array | A list of plugin identifiers to block from loading if this plugin is loaded. You shouldn't include this if you don't need to block any plugins. This is useful when a plugin needs to block an older version of a plugin with a different identifier. | |
perms |
String | (Deprecated) Permissions required to run this plugin. This is mostly an older value that should be avoided. You should use the Permissions API instead. Possible values for this setting are free , paid , and full . |
|
siteid |
Integer | The ID for this plugin on the Openplanet website. This is used to check for updates. You don't have to manually add this to your file, as the review process will do this automatically for you. |
Game table
The optional [game]
table contains game-specific options for the plugin.
Key | Type | Description |
---|---|---|
min_version |
String | The minimum version of the game that is required to use this plugin. The format must be either a date or full date & time. For example, 2022-02-03 will match any game build from February 3rd, 2022. A specific time may also be provided in 24 hour format, for example: 2022-02-03 18:03 will only match game builds made on or after 6:03 PM UTC, builds made before that time are not matched. |
max_version |
String | The maximum version of the game that is required to use this plugin. See min_version for format. |
Script table
The optional [script]
table configures the script runtime for the plugin.
Key | Type | Description |
---|---|---|
timeout |
Integer | The timeout time for callback execution in milliseconds. Set this to 0 to disable the timeout, which will also remove the overhead of keeping track of execution time. When disabled, the plugin can potentially cause infinite loops when coded incorrectly. It's recommended to set this to 0 only if you need a bit more performance and if you're certain you're not causing infinite loops. Sometimes loading big fonts or textures can cause script timeouts as well, in which case this value can be increased or set to 0. |
imports |
String array | Script filenames to include into the plugin module, located in Openplanet's Scripts folder. You can find a list of scripts shipped with Openplanet here. |
exports |
String array | List of files to export to dependent plugins. These exported scripts will be compiled into dependent plugins, but not this plugin. See also the plugin dependencies tutorial. |
shared_exports |
String array | List of files to export to dependent plugins. This is the same as exports , except these scripts are also compiled into this plugin. See also the plugin dependencies tutorial. |
dependencies |
String array | List of plugin identifiers to depend on. These plugins are required dependencies, meaning if they are not installed, the plugin won't load. See also the plugin dependencies tutorial. |
export_dependencies |
String array | List of plugin identifiers that are being depended on and should also be exported to any plugin depending on this plugin. For example, A depends on B depends on C, where B's exports contains types from C. |
optional_dependencies |
String array | List of plugin identifiers to depend on. These plugins are optional dependencies, meaning if they are not installed, the plugin will still load, but without including exported scripts or the DEPENDENCY_x define. See also the plugin dependencies tutorial. |
defines |
String array | A list of preprocessor options to have defined during compilation. This can be useful during development. See also the preprocessor. |
module |
String | Forces a specific module name. When this is not provided, the plugin identifier is used as the module name. This is only important when you intend to export functions to dependent plugins. |