Skip to content

A GEM package is a single file that contains the client and server executables (and any necessary data) that GEM needs to operate the specified show. It is distributed to operators to deliver new experiences, or experience updates.

Format

The format of the GEM Package file is the zip format. Technically, another compression/archive format can be used since the operator is expected to unzip the file before installing it. However, since most people, technical and not, are familliar with zip files, it is best to stick with zip format.

Name

The name of the file is not restricted to any specific pattern but it should include the extension (e.g. ".zip") that indicates the format of the file.

Although the name of the zip file can be anything, it is considered a best practice to have the name clearly identify the following pieces of information:

  • Appname
  • Variant (e.g. Ship, Debug)
  • Version

The GEM packages generated by Wevr always use the following format: "__version.zip". For example: Emperor_Ship_197843_v2.zip

Contents

The required content of the GEM package zip files is as follows: - The gem_manifest.yaml file - The executables referenced by the gem_manifest.yaml file - All data needed by the executables included in the package - All avatar images referenced by the gem_manifest.yaml file - All auxiliary data files referenced by the gem_manifest.yaml file

Content Structure

The only requirement for the internal structure of the GEM package is that the gem_manifest.yaml file be at the root. All references in the gem_manifest.yaml file to executables or other files are relative to the root of the package and the internal structure must be consistent with the references. However, other than this internal consistency, the developer is free to choose the organization best for their needs.