Skip to content

InstanceController ​

InstanceController exposes instance CRUD to the frontend. It stays limited to DTO conversion and feature invocation.

  • Methods: 11
  • Referenced types: 7

Methods ​

CloneInstance ​

CloneInstance creates a new managed instance by copying an existing instance.

Go ​

go
CloneInstance(request CloneInstanceRequest) (InstanceDTO, error)

TypeScript ​

ts
CloneInstance(request: CloneInstanceRequest): Promise<InstanceDTO>

Parameters ​

NameType
requestCloneInstanceRequest

Returns ​

Go typeTypeScript type
InstanceDTOInstanceDTO

Example ​

ts
const cloneInstance = await CloneInstance({ sourceId: "source-id", name: "Example" })

Source ​

internal/transport/wails/instance_controller.go:290

CreateInstance ​

CreateInstance creates an isolated game instance using the requested version and launch settings.

Go ​

go
CreateInstance(request CreateInstanceRequest) (InstanceDTO, error)

TypeScript ​

ts
CreateInstance(request: CreateInstanceRequest): Promise<InstanceDTO>

Parameters ​

NameType
requestCreateInstanceRequest

Returns ​

Go typeTypeScript type
InstanceDTOInstanceDTO

Errors ​

  • validation_error: the name, game client, directory, or environment variables are invalid
  • game_version_not_found: the requested game version is not installed
  • account_not_found: the selected account does not exist
  • instance_directory_conflict: the directory already belongs to another instance
  • data_folder_busy: a data-folder relocation is in progress

Example ​

ts
const createInstance = await CreateInstance({ name: "Example", description: "", gameVersionId: "gameversion-id", gameClient: "", directory: "/path/to/directory", launchArguments: [], environmentVariables: {} })

Source ​

internal/transport/wails/instance_controller.go:231

DeleteInstance ​

DeleteInstance removes an instance and optionally deletes its data directory.

Go ​

go
DeleteInstance(id string, deleteFiles bool) error

TypeScript ​

ts
DeleteInstance(id: string, deleteFiles: boolean): Promise<void>

Parameters ​

NameType
idstring
deleteFilesbool

Example ​

ts
await DeleteInstance("id", false)

Source ​

internal/transport/wails/instance_controller.go:282

DetectExistingVintageStoryData ​

DetectExistingVintageStoryData finds existing Vintage Story data that can be imported as an instance.

Go ​

go
DetectExistingVintageStoryData() ([]MigrationCandidateDTO, error)

TypeScript ​

ts
DetectExistingVintageStoryData(): Promise<MigrationCandidateDTO[]>

Returns ​

Go typeTypeScript type
[]MigrationCandidateDTOMigrationCandidateDTO[]

Example ​

ts
const detectExistingVintageStoryData = await DetectExistingVintageStoryData()

Source ​

internal/transport/wails/instance_controller.go:117

GetInstance ​

GetInstance returns one managed instance with its current mod and playtime summary.

Go ​

go
GetInstance(id string) (InstanceDTO, error)

TypeScript ​

ts
GetInstance(id: string): Promise<InstanceDTO>

Parameters ​

NameType
idstring

Returns ​

Go typeTypeScript type
InstanceDTOInstanceDTO

Example ​

ts
const getInstance = await GetInstance("id")

Source ​

internal/transport/wails/instance_controller.go:218

InspectExistingVintageStoryData ​

InspectExistingVintageStoryData validates a selected data directory and describes its importable contents.

Go ​

go
InspectExistingVintageStoryData(path string) (MigrationCandidateDTO, error)

TypeScript ​

ts
InspectExistingVintageStoryData(path: string): Promise<MigrationCandidateDTO>

Parameters ​

NameType
pathstring

Returns ​

Go typeTypeScript type
MigrationCandidateDTOMigrationCandidateDTO

Example ​

ts
const inspectExistingVintageStoryData = await InspectExistingVintageStoryData("/path/to/file")

Source ​

internal/transport/wails/instance_controller.go:127

ListInstances ​

ListInstances returns all launcher instances visible in the library.

Go ​

go
ListInstances() ([]InstanceDTO, error)

TypeScript ​

ts
ListInstances(): Promise<InstanceDTO[]>

Returns ​

Go typeTypeScript type
[]InstanceDTOInstanceDTO[]

Example ​

ts
const listInstances = await ListInstances()

Source ​

internal/transport/wails/instance_controller.go:186

SelectInstanceCover ​

SelectInstanceCover prompts for an image to use as an instance cover.

Go ​

go
SelectInstanceCover() (string, error)

TypeScript ​

ts
SelectInstanceCover(): Promise<string>

Returns ​

Go typeTypeScript type
stringstring

Example ​

ts
const selectInstanceCover = await SelectInstanceCover()

Source ​

internal/transport/wails/instance_controller.go:142

SetInstancePinned ​

SetInstancePinned changes whether an instance is pinned in the library.

Go ​

go
SetInstancePinned(id string, pinned bool) (InstanceDTO, error)

TypeScript ​

ts
SetInstancePinned(id: string, pinned: boolean): Promise<InstanceDTO>

Parameters ​

NameType
idstring
pinnedbool

Returns ​

Go typeTypeScript type
InstanceDTOInstanceDTO

Example ​

ts
const setInstancePinned = await SetInstancePinned("id", false)

Source ​

internal/transport/wails/instance_controller.go:276

StartExistingDataImport ​

StartExistingDataImport begins importing discovered game data into a managed instance.

Go ​

go
StartExistingDataImport(request MigrationImportRequest) (OperationDTO, error)

TypeScript ​

ts
StartExistingDataImport(request: MigrationImportRequest): Promise<OperationDTO>

Parameters ​

NameType
requestMigrationImportRequest

Returns ​

Go typeTypeScript type
OperationDTOOperationDTO

Example ​

ts
const startExistingDataImport = await StartExistingDataImport({ sourcePath: "/path/to/file", name: "Example", description: "", gameVersionId: "gameversion-id" })

Source ​

internal/transport/wails/instance_controller.go:133

UpdateInstance ​

UpdateInstance applies editable metadata, account, version, and launch settings to an instance.

Go ​

go
UpdateInstance(request UpdateInstanceRequest) (InstanceDTO, error)

TypeScript ​

ts
UpdateInstance(request: UpdateInstanceRequest): Promise<InstanceDTO>

Parameters ​

NameType
requestUpdateInstanceRequest

Returns ​

Go typeTypeScript type
InstanceDTOInstanceDTO

Example ​

ts
const updateInstance = await UpdateInstance({ id: "id", name: "Example", description: "", gameVersionId: "gameversion-id", launchArguments: [] })

Source ​

internal/transport/wails/instance_controller.go:251