/ game-server / source / loginService / ServerStatus.ts
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  }