diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 662b897..f45168c 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -5,6 +5,8 @@ import { ConfigComponent } from "./pages/config/config.component"; import { QuestsComponent } from "./pages/config/quests/quests.component"; import { GridComponent } from "./pages/config/grid/grid.component"; import { DbsComponent } from "./pages/config/dbs/dbs.component"; +import { ServersComponent } from "./pages/config/servers/servers.component"; +import { ServerComponent } from "./pages/config/servers/server/server.component"; const routes: Routes = [ @@ -16,6 +18,8 @@ const routes: Routes = [ {path: 'grid', component: GridComponent}, {path: 'dbs', component: DbsComponent}, {path: 'quests', component: QuestsComponent}, + {path: 'servers', component: ServersComponent}, + {path: 'server/:index', component: ServerComponent} ] } ]; diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 22caf36..789188a 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -17,6 +17,8 @@ import { TextComponent } from './components/form/text/text.component'; import { PasswordComponent } from './components/form/password/password.component'; import { DbsComponent } from './pages/config/dbs/dbs.component'; import { CheckboxComponent } from './components/form/checkbox/checkbox.component'; +import { ServersComponent } from './pages/config/servers/servers.component'; +import { ServerComponent } from './pages/config/servers/server/server.component'; @NgModule({ declarations: [ @@ -30,7 +32,9 @@ import { CheckboxComponent } from './components/form/checkbox/checkbox.component TextComponent, PasswordComponent, DbsComponent, - CheckboxComponent + CheckboxComponent, + ServersComponent, + ServerComponent ], imports: [ BrowserModule, diff --git a/src/app/models/atlasData/server.model.ts b/src/app/models/atlasData/server.model.ts index fc2b7c2..198476a 100644 --- a/src/app/models/atlasData/server.model.ts +++ b/src/app/models/atlasData/server.model.ts @@ -2,16 +2,18 @@ import { Deserialize } from "../util/deserialize.model"; import { ServerSublevelModel } from "./serverSublevel.model"; export class ServerModel implements Deserialize { + // General Settings + name: string; gridX: number; gridY: number; - MachineIdTag: string; + isHomeServer: boolean; + + // Connection Settings ip: string; - name: string; port: number; gamePort: number; seamlessDataPort: number; - isHomeServer: boolean; - AdditionalCmdLineParams: string; + OverrideShooterGameModeDefaultGameIni: object; floorZDist: number; utcOffset: number; @@ -31,9 +33,7 @@ export class ServerModel implements Deserialize { serverIslandPointsMultiplier: number; lastModified: string; lastImageOverride: string; - islandLocked: boolean; - discoLocked: boolean; - pathsLocked: boolean; + extraSublevels: string[]; totalExtraSublevels: string[]; islandInstances; @@ -43,6 +43,17 @@ export class ServerModel implements Deserialize { sublevels: ServerSublevelModel[]; + // Irrelevant, used internally by Grapeshot + //MachineIdTag: string; + // Probably also irrelevant + //AdditionalCmdLineParams: string; + + // Used by ServerGridEditor + //islandLocked: boolean; + //discoLocked: boolean; + //pathsLocked: boolean; + + deserialize(input: any): this { Object.assign(this, input); this.sublevels = this.sublevels.map(i => new ServerSublevelModel().deserialize(i)); diff --git a/src/app/pages/config/config.component.html b/src/app/pages/config/config.component.html index a00ef9c..2f5021a 100644 --- a/src/app/pages/config/config.component.html +++ b/src/app/pages/config/config.component.html @@ -3,6 +3,7 @@ +
{{ cell | json }}
+| # | +{{ x }} | +
|---|---|
| {{ y }} | +{{ serverLookup[x][y] }} | +