Files
factorio-clusterio/packages/lib/src/link/messages.ts
T
bbassieandClaude Fable 5.1 c997fd8ea7 Add save copying and start options when creating an instance
The create instance modal can now copy the active save of the instance
whose config is copied, optionally saving the running game first, and
start the new instance once the copy is done. The new instance is
assigned to the host of the source so the save can be transferred.

Saving a running game is a new InstanceSaveGameRequest handled by the
host through /server-save, which waits for the save to finish. It is
also exposed as clusterioctl instance save-game.

Closes #405

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-05 22:19:24 +00:00

144 lines
4.4 KiB
TypeScript

import * as core from "../data/messages_core";
import * as controller from "../data/messages_controller";
import * as host from "../data/messages_host";
import * as instance from "../data/messages_instance";
import * as mod from "../data/messages_mod";
import * as user from "../data/messages_user";
import * as role from "../data/messages_role";
import * as plugin from "../data/messages_plugin";
import * as subscriptions from "../subscriptions";
import type { RequestClass, EventClass } from "./link";
/**
* Event and Request payloads registered with the Link class. Used to decode
* the data payload of incomming requsts and event messages into instances of
* their proper classes.
* @internal
*/
export const dataClasses: (RequestClass<unknown, unknown> | EventClass<unknown>)[] = [
core.PingRequest,
core.AccountUpdateEvent,
controller.ControllerStopRequest,
controller.ControllerRestartRequest,
controller.ControllerUpdateRequest,
controller.ControllerConfigGetRequest,
controller.ControllerConfigSetRequest,
controller.ControllerConfigSetFieldRequest,
controller.ControllerConfigSetPropRequest,
controller.HostGenerateTokenRequest,
controller.HostConfigCreateRequest,
controller.GetFactorioCredentialsRequest,
controller.LogSetSubscriptionsRequest,
controller.LogQueryRequest,
controller.LogMessageEvent,
controller.SystemInfoRequest,
controller.SystemInfoUpdateEvent,
controller.DebugDumpWsRequest,
controller.DebugWsMessageEvent,
controller.FactorioVersionsRequest,
controller.LatestReleasesRequest,
subscriptions.SubscriptionRequest,
host.HostStopRequest,
host.HostRestartRequest,
host.HostUpdateRequest,
host.HostConfigGetRequest,
host.HostConfigSetRequest,
host.HostConfigSetFieldRequest,
host.HostConfigSetPropRequest,
host.HostListRequest,
host.HostInfoUpdateEvent,
host.HostUpdatesEvent,
host.HostMetricsRequest,
host.ControllerConnectionEvent,
host.PrepareControllerDisconnectRequest,
host.SyncUserListsEvent,
host.HostRevokeTokensRequest,
instance.InstanceDetailsGetRequest,
instance.InstanceDetailsListRequest,
instance.InstanceDetailsUpdatesEvent,
instance.InstanceCreateRequest,
instance.InstanceConfigGetRequest,
instance.InstanceConfigSetRequest,
instance.InstanceConfigSetFieldRequest,
instance.InstanceConfigSetPropRequest,
instance.InstanceAssignRequest,
instance.InstanceMetricsRequest,
instance.InstanceStartRequest,
instance.InstanceRestartRequest,
instance.InstanceSaveDetailsListRequest,
instance.InstanceSaveDetailsUpdatesEvent,
instance.InstanceCreateSaveRequest,
instance.InstanceSaveGameRequest,
instance.InstanceRenameSaveRequest,
instance.InstanceCopySaveRequest,
instance.InstanceDeleteSaveRequest,
instance.InstanceDownloadSaveRequest,
instance.InstanceTransferSaveRequest,
instance.InstancePullSaveRequest,
instance.InstancePushSaveRequest,
instance.InstanceLoadScenarioRequest,
instance.InstanceExportDataRequest,
instance.InstanceExtractPlayersRequest,
instance.InstanceStopRequest,
instance.InstanceKillRequest,
instance.InstanceDeleteRequest,
instance.InstanceDeleteInternalRequest,
instance.InstanceSendRconRequest,
instance.InstancesUpdateRequest,
instance.InstanceAssignInternalRequest,
instance.InstanceUnassignInternalRequest,
instance.InstanceInitialisedEvent,
instance.InstanceStatusChangedEvent,
instance.InstanceDetailsChangedEvent,
instance.InstanceBanlistUpdateEvent,
instance.InstanceAdminlistUpdateEvent,
instance.InstanceWhitelistUpdateEvent,
instance.InstancePlayerUpdateEvent,
mod.ModPackGetRequest,
mod.ModPackGetDefaultRequest,
mod.ModPackListRequest,
mod.ModPackCreateRequest,
mod.ModPackUpdateRequest,
mod.ModPackDeleteRequest,
mod.ModGetRequest,
mod.ModListRequest,
mod.ModSearchRequest,
mod.ModPortalGetAllRequest,
mod.ModDownloadRequest,
mod.ModDeleteRequest,
mod.ModPackUpdatesEvent,
mod.ModUpdatesEvent,
mod.ModPortalDownloadRequest,
mod.ModDependencyResolveRequest,
role.PermissionListRequest,
role.RoleListRequest,
role.RoleUpdatesEvent,
role.RoleCreateRequest,
role.RoleUpdateRequest,
role.RoleGrantDefaultPermissionsRequest,
role.RoleDeleteRequest,
user.UserGetRequest,
user.UserListRequest,
user.UserCreateRequest,
user.UserRevokeTokenRequest,
user.UserUpdateRolesRequest,
user.UserSetAdminRequest,
user.UserSetWhitelistedRequest,
user.UserSetBannedRequest,
user.UserDeleteRequest,
user.UserUpdatesEvent,
user.UserBulkImportRequest,
user.UserBulkExportRequest,
plugin.PluginListRequest,
plugin.PluginUpdateRequest,
plugin.PluginInstallRequest,
];