/ login-server / source / packets / manager / RequestServerList.ts
RequestServerList.ts
 1  import { SessionKeyHelper, SessionKeyProperties } from '../../service/SessionKey'
 2  import { ServerList } from '../send/ServerList'
 3  import { LoginFail, LoginFailReason } from '../send/LoginFail'
 4  import { L2LoginClient } from '../../service/L2LoginClient'
 5  import { ReadableClientPacket } from '../ReadableClientPacket'
 6  
 7  export function RequestServerList( client: L2LoginClient, data: Buffer ) {
 8      let packet = new ReadableClientPacket( data, 1 )
 9      let loginOk1 = packet.readD()
10      let loginOk2 = packet.readD()
11  
12      if ( SessionKeyHelper.compareKeys( client.getSessionKey(), { loginOk1, loginOk2 } as SessionKeyProperties ) ) {
13          client.enableServerListUpdates = true
14          return ServerList( client )
15      }
16  
17      return LoginFail( LoginFailReason.accessFailed )
18  }