Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | 1x 1x 1x 4x 4x | import { Game } from './game';
import { Model } from './model';
import { Queue } from './queue';
export namespace IGameServer {
export const Cpu = [
{ label: '0.1', value: 0.1 },
{ label: '0.25', value: 0.25 },
{ label: '0.5', value: 0.5 },
{ label: '1', value: 1 },
];
export const Memory = [
{ label: '100 MB', value: 100 * 1000 * 1000 },
{ label: '250 MB', value: 250 * 1000 * 1000 },
{ label: '500 MB', value: 500 * 1000 * 1000 },
{ label: '1 GB', value: 1 * 1000 * 1000 * 1000 },
{ label: '2.5 GB', value: 2.5 * 1000 * 1000 * 1000 },
{ label: '5 GB', value: 5 * 1000 * 1000 * 1000 },
];
export interface Endpoints {
tcp?: string;
udp?: string;
websocket?: string;
}
export interface Status {
endpoints?: Endpoints;
nodes?: StatusNode[];
phase: string;
version?: string;
}
export interface StatusNode {
_id: string;
displayName: string;
phase: string;
}
}
export class GameServer extends Model {
public authorizedUserIds: string[];
public buildId: string;
public cpu: number;
public currentUserIds: string[];
public description: string;
public game: Game;
public gameId: string;
public memory: number;
public metadata: any;
public name: string;
public namespaceId: string;
public persistent: boolean;
public preemptible: boolean;
public queue: Queue;
public queueId: string;
public restartedAt: Date;
public status: IGameServer.Status;
constructor(params: Partial<GameServer> = {}) {
super(params);
this.game = this.game ? new Game(this.game) : null;
}
public static isRestartRequired(fields: string[]) {
const immutableFields = ['buildId', 'cpu', 'memory', 'preemptible', 'restartedAt'];
return immutableFields.some((i) => fields.includes(i));
}
}
|