import { IsString, IsInt, Min, Max, MinLength } from 'class-validator'; import { ApiProperty } from '@nestjs/swagger'; export class DeployServerDto { @ApiProperty({ example: 'My Rust Server', description: 'Server hostname' }) @IsString() server_name: string; @ApiProperty({ example: 100, description: 'Maximum player slots' }) @IsInt() @Min(1) @Max(500) max_players: number; @ApiProperty({ example: 4000, description: 'World size (1000-8000)' }) @IsInt() @Min(1000) @Max(8000) world_size: number; @ApiProperty({ example: 12345, description: 'Map seed' }) @IsInt() seed: number; @ApiProperty({ example: 28015, description: 'Server game port' }) @IsInt() @Min(1024) @Max(65535) server_port: number; @ApiProperty({ example: 28016, description: 'RCON port' }) @IsInt() @Min(1024) @Max(65535) rcon_port: number; @ApiProperty({ example: 'changeme', description: 'RCON password (min 6 chars)' }) @IsString() @MinLength(6) rcon_password: string; }