77 lines
No EOL
2 KiB
TypeScript
77 lines
No EOL
2 KiB
TypeScript
import { Deserialize } from "../util/deserialize.model";
|
|
import { ServerSublevelModel } from "./serverSublevel.model";
|
|
import { IslandInstanceModel } from "./island-instance.model";
|
|
|
|
export class ServerModel implements Deserialize {
|
|
// General Settings
|
|
name: string;
|
|
gridX: number;
|
|
gridY: number;
|
|
isHomeServer: boolean;
|
|
utcOffset: number;
|
|
|
|
// Connection Settings
|
|
ip: string;
|
|
port: number;
|
|
gamePort: number;
|
|
seamlessDataPort: number;
|
|
|
|
// Gameplay Settings
|
|
floorZDist: number;
|
|
transitionMinZ: number;
|
|
serverIslandPointsMultiplier: number;
|
|
|
|
// Colour & Style Settings
|
|
waterColorR: number;
|
|
waterColorG: number;
|
|
waterColorB: number;
|
|
skyStyleIndex: number;
|
|
|
|
// Override Settings
|
|
OceanDinoDepthEntriesOverride: string;
|
|
oceanFloatsamCratesOverride: string;
|
|
treasureMapLootTablesOverride: string;
|
|
OverrideShooterGameModeDefaultGameIni: object;
|
|
|
|
//Dont render if default/empty
|
|
GlobalBiomeSeamlessServerGridPreOffsetValues: string;
|
|
GlobalBiomeSeamlessServerGridPreOffsetValuesOceanWater: string;
|
|
oceanEpicSpawnEntriesOverrideTemplateName: string;
|
|
NPCShipSpawnEntriesOverrideTemplateName: string;
|
|
regionOverrides: string;
|
|
|
|
|
|
lastImageOverride: string;
|
|
|
|
extraSublevels: string[];
|
|
totalExtraSublevels: string[];
|
|
islandInstances: IslandInstanceModel[];
|
|
discoZones;
|
|
spawnRegions;
|
|
|
|
// Dont render if default/empty
|
|
serverTemplateName: string;
|
|
|
|
sublevels: ServerSublevelModel[];
|
|
|
|
// Irrelevant, used internally by Grapeshot
|
|
//MachineIdTag: string;
|
|
// Probably also irrelevant
|
|
//AdditionalCmdLineParams: string;
|
|
|
|
// Used by ServerGridEditor
|
|
//islandLocked: boolean;
|
|
//discoLocked: boolean;
|
|
//pathsLocked: boolean;
|
|
|
|
// Editing time for ServerGridEditor
|
|
//lastModified: string;
|
|
|
|
|
|
deserialize(input: any): this {
|
|
Object.assign(this, input);
|
|
this.sublevels = this.sublevels.map(i => new ServerSublevelModel().deserialize(i));
|
|
this.islandInstances = this.islandInstances.map(i => new IslandInstanceModel().deserialize(i));
|
|
return this;
|
|
}
|
|
} |