ServerStatus.ts
1 export const enum ServerAvailabilityStatus { 2 STATUS_AUTO = 0x00, 3 STATUS_GOOD = 0x01, 4 STATUS_NORMAL = 0x02, 5 STATUS_FULL = 0x03, 6 STATUS_DOWN = 0x04, 7 STATUS_GM_ONLY = 0x05, 8 } 9 10 export const enum ServerAgeStatus { 11 All = 0x00, 12 Age15AndUp = 0x0F, 13 Age18AndUp = 0x12, 14 } 15 16 export const enum ServerType { 17 None = 0, 18 Normal = 0x01, 19 Relaxed = 0x02, 20 Testing = 0x04, 21 Unlabeled = 0x08, 22 RestrictedEntry = 0x10, 23 EventOnly = 0x20, 24 FreeForAll = 0x40, 25 } 26 27 export function getServerListType( line : string ) : ServerType { 28 if ( !line ) { 29 return ServerType.Normal 30 } 31 32 return line.split( ',' ).reduce( ( result: ServerType, currentType ) => { 33 switch ( currentType.toLowerCase() ) { 34 case 'normal': 35 result |= ServerType.Normal 36 break 37 case 'relax': 38 result |= ServerType.Relaxed 39 break 40 case 'test': 41 result |= ServerType.Testing 42 break 43 case 'nolabel': 44 result |= ServerType.Unlabeled 45 break 46 case 'restricted': 47 result |= ServerType.RestrictedEntry 48 break 49 case 'event': 50 result |= ServerType.EventOnly 51 break 52 case 'free': 53 result |= ServerType.FreeForAll 54 break 55 default: 56 result |= ServerType.Normal 57 break 58 } 59 60 return result 61 }, ServerType.None ) 62 }