Packages
General information
All packages are located in the packages/ folder in the main game folder.
Each package is in its own folder. The package ID is written in the .info file. Package resources are divided into two main sections based on usage principles.
Directory | Description |
---|---|
global | Resources in the 'global' section are applied once upon application launch and when enabling/disabling packages in the game settings. The following resources are located in this section:
|
scene | Resources in the 'scene' section are applied before scene loading, when creating a new session or when connecting to a session. |
Localization
Packages support localization. Localizable resources are placed in the .lang/ folders ("lang" is the language code, usually two characters).
Package property settings
Package properties are defined by parameters in the .info file, located at the root of the package folder.
Parameter | Description |
---|---|
id | Unique Package Identifier. This identifier is essential for distinguishing packages. If the package is related to Steam DLC or Steam Workshop, Steam automatically assigns the identifier. For packages created via the Settings interface, a unique identifier is automatically assigned. In all other scenarios, it is advisable to use a suitable GUID generator to create the identifier (for example, http://www.guidgen.com/). |
legacy_id | During the assignment of a Steam DLC ID or Workshop ID to a package, the 'id' parameter is substituted with 'legacy_id'. The value for 'legacy_id' is sourced from the original 'id'. This substitution ensures that older references, such as save game links, continue to correctly identify the package. |
name | Package Name. This is an optional parameter. If the package name is not specified, the system will use the name of the folder containing the package as the default. In the case of Steam downloadable content (DLC), this parameter is ignored. |
author | Package author. Optional parameter. Displayed in the package properties. |
order | Order in the list of packages. The value can be either positive or negative and influences the sequence in which packages are displayed in the settings. By default, the order is set to 0, positioning the package at the top of the list. |
default_disabled | This option indicates that the package is disabled by default and remains so until the player enables it in Game Settings. If this option is not set, the package is considered enabled upon installation. |
hidden | This parameter determines whether the package is visible in the game settings window. If it is not specified, the package will be visible by default. |
dependency <package id> | Dependency on another package. The dependency parameter block can be repeated to establish multiple dependencies. Packages are processed in the order that the dependency blocks are specified. |
incompatible <package id> | Used to specify the IDs of packages that are incompatible with this package. The game will disable any package with the specified ID when this package is activated. |
min_core_version | The minimum game version with which the package is compatible. If this parameter is not specified, the corresponding check is absent. |
max_core_version | The maximum game version with which the package is compatible. If this parameter is not specified, the corresponding check is absent. |
delete_global | List of virtually deleted resources when the 'global' section is activated. |
delete_scene | List of virtually deleted resources when the 'scene' section is activated. |
always_activate_scene | Always activate the 'scene' section of this package if the 'global' section is active. By default, the 'scene' section is activated if a map from the 'global' section of this package is loaded. |
always_activate_global | This parameter indicates that the package modifies global game settings. When this package is enabled, it is consistently marked in the list for creating a host, in game saves, and other relevant areas. |
client_only | The package content is available only on the client, it is not loaded on the server and does not affect gameplay. |
obsolete | Allows hiding package resources (objects and textures) in the lists of available resources in the editor. |
hash | The hash parameter value allows for pre-determining that the package content is the same among different users and on the server when playing together. The hash parameter value is automatically updated when the package is published in the Workshop. |
sign | Digital signature. Only for packages released by Best Way. Packages with such a signature do not allow any modification. If the signature is not verified, the package is considered corrupted and not loaded. |
token_count | The number of tokens that this package provides. Tokens can only be assigned to packages released by Best Way. |
token_sign | Digital signature for tokens. If authenticity is not verified, the tokens are ignored. |
Conflicts and their resolution
Conflict arises when the same resource is modified by more than one package.
Conflict resolution occurs by specifying the necessary sequence of package activation using blocks with the dependency parameter.
The result of resource modification depends on the order in which the packages are applied.
Specifying incompatible package IDs and the minimum/maximum game version compatible with the package ensures that any potential conflicts are resolved before they affect gameplay.
Examples of package property parameters
Example block | Explanations | Additional |
---|---|---|
| Lower the package in the package list by 100 points | |
| Raise the package higher in the package list by 4000 points | |
| Default state is disabled | the same as |
| The package is displayed in the package list | |
| The package is not visible in the package list | the same as |
| The package depends on the package with ID "b86c6020-9b25-4659-bcdf-53b12715a0a1" | |
| When loading the global section the folder /map/single/2-fra and file /video/menu.avi are ignored | |
| When loading the scene section the entity "flag" from the folder /entity/service/ is ignored. |
Last updated