public override void CallGameClientState(GameClientState oldState, GameClientState newState) { switch (newState) { case GameClientState.None: break; case GameClientState.Connected: Register(_accountName, ""); break; case GameClientState.Registered: break; case GameClientState.Queued: break; case GameClientState.Placed: break; case GameClientState.Invited: break; case GameClientState.InGame: break; } }
public override void CallGameClientState(GameClientState oldState, GameClientState newState) { switch (newState) { case GameClientState.None: break; case GameClientState.Connected: Register(_accountName, ""); break; case GameClientState.Registered: if (oldState != GameClientState.InGame) { Thread.Sleep(200); Queue(GameType.Normal, "AAEBAQcCrwSRvAIOHLACkQP/A44FqAXUBaQG7gbnB+8HgrACiLACub8CAA=="); //Queue(); // [EU Legend #1 Tempo Mage] AAEBAf0ECnH2Ar8D7AW5BuwHuQ36Dp4QixQKwwG7ApUD5gSWBfcNgQ6HD4kPkBAA } else { Disconnect(); } break; case GameClientState.Queued: break; case GameClientState.Invited: break; case GameClientState.InGame: break; } }
public override void CallGameClientState(GameClientState oldState, GameClientState newState) { switch (newState) { case GameClientState.None: break; case GameClientState.Connected: break; case GameClientState.Registered: break; case GameClientState.Queued: break; case GameClientState.Invited: break; case GameClientState.InGame: break; default: throw new ArgumentOutOfRangeException(nameof(newState), newState, null); } }
public void Finish() { if (this == NoClient) { return; } // in case ready event was not used, we need to reset it manually readyEvent.Reset(); if (PlayerState != null) { PlayerState.isFinished = true; } state = GameClientState.Waiting; if (!isLocal) { //stateContainer.CheckConsistency(); // DEBUG // send changes to server and update local object ids with global id System.IO.Stream buf = stateContainer.GetChanges(1); Burntime.Platform.Debug.SetInfoMB("sync out message size client #" + player, (int)buf.Length); buf = server.SendChanges(buf); stateContainer.UpdateIds(buf); //stateContainer.CheckConsistency(); // DEBUG } FinishedEvent.Set(); }
internal void Activate() { state = GameClientState.Ready; TravelDays = 0; //set ready event readyEvent.Set(); }
void IEndTurnControl.NotifyOnGameClientStateChange(GameClientState gameClientState) { this.lastGameClientState = gameClientState; if (this.GameClientStateChange != null) { this.GameClientStateChange(this, new GameClientStateChangeEventArgs(gameClientState)); } }
public override void CallGameClientState(GameClientState oldState, GameClientState newState) { base.CallGameClientState(oldState, newState); if (_controller != null) { _controller.ProccessGameClientState(oldState, newState); } }
public void Connect() { CheckAuthenticated(); CheckNotConnected(); protocolHandler = protocolHandlerFactory.Create(); protocolHandler.Dispatcher = messageBroker; protocolHandler.Connect(config.GameServerAddress, sessionId, sessionCookie); this.state = GameClientState.Connected; }
public GameClient( GameClientConfig config, IAuthHandlerFactory authHandlerFactory, IProtocolHandlerFactory protocolHandlerFactory) { this.config = config; this.authHandlerFactory = authHandlerFactory; this.protocolHandlerFactory = protocolHandlerFactory; this.messageBroker = new MessageBroker(); this.state = GameClientState.Initial; }
private static void Client_StateChanged(GameClient client, GameClientState state) { if (state == GameClientState.Queued || state == GameClientState.Invited || state == GameClientState.InGame) { return; } client.StateChanged -= Client_StateChanged; client.Disconnect(); Console.WriteLine($"client[{client.AccountName}]: disconnected."); }
internal void Activate(System.IO.Stream stateChanges) { Burntime.Platform.Debug.SetInfoMB("sync in message size client #" + player, (int)stateChanges.Length); //stateContainer.CheckConsistency(); // DEBUG stateContainer.Update(stateChanges); stateContainer.MonitorChanges(); state = GameClientState.Ready; TravelDays = 0; // set ready event readyEvent.Set(); }
public AuthResult Authenticate(string userName, byte[] token) { CheckNotConnected(); using (var authHandler = authHandlerFactory.Create()) { authHandler.Connect(config.AuthServerAddress); var result = authHandler.TryToken(userName, token); if (result.IsSuccessful) { this.userName = userName; this.sessionId = result.SessionId; this.sessionCookie = result.SessionCookie; this.state = GameClientState.Authenticated; } return(result); } }
public AuthResult Authenticate(string userName, string password, bool requestToken) { CheckNotConnected(); using (var authHandler = authHandlerFactory.Create()) { authHandler.Connect(config.AuthServerAddress); var result = authHandler.TryPassword(userName, password); if (result.IsSuccessful) { this.userName = userName; this.sessionId = result.SessionId; this.sessionCookie = result.SessionCookie; this.state = GameClientState.Authenticated; var token = requestToken ? authHandler.GetToken() : null; return(new AuthResult(true, result.SessionId, result.SessionCookie, token)); } return(result); } }
public L2Packet handlePacket(byte[] rawPacket, bool fromServer) { if (rawPacket.Length < 3) // Valid data? { return(null); } if (fromServer) { serverCrypt.decrypt(rawPacket, 2, rawPacket.Length); } else { clientCrypt.decrypt(rawPacket, 2, rawPacket.Length); } ByteBuffer binPacket = new ByteBuffer(rawPacket); binPacket.ReadBytes(2); // Read 2 bytes ahead int opcode = binPacket.ReadByte(); int secondOpCode = -1; switch (state) { case GameClientState.CONNECTED: // Vom Server (ServerPacket) if (fromServer) { switch (opcode) { case 0x2e: // KeyPacket (Contains key, NOT Encrypted xD ) this.onKeyPacket(binPacket); break; case 0x09: // CharSelectionInfo this.state = GameClientState.AUTHED; break; } } // Vom Clienten else { } break; case GameClientState.AUTHED: if (fromServer) { switch (opcode) { case 0x73: this.state = GameClientState.IN_GAME; //Console.Out.WriteLine(Util.printData(binPacket)); break; } } else { switch (opcode) { case 0x0d: // get secondOpCode and set secondOpCode = binPacket.ReadInt16(); break; case 0x12: // CharacterSelect break; } } break; case GameClientState.IN_GAME: if (fromServer) { switch (opcode) { case 0xfe: // get secondOpCode secondOpCode = binPacket.ReadInt16(); break; case 0x0b: //CharSelected this.onCharSelected(binPacket); break; } } else { switch (opcode) { case 0x1f: break; case 0xd0: // get secondOpCode secondOpCode = binPacket.ReadInt16(); break; } } break; } if (fromServer) { return(new GameServerPacket(binPacket)); } else { return(new ClientPacket(binPacket)); } }
public L2Packet handlePacket(byte[] rawPacket, bool fromServer) { if (rawPacket.Length < 3) // Valid data? return null; if (fromServer) serverCrypt.decrypt(rawPacket, 2, rawPacket.Length); else clientCrypt.decrypt(rawPacket, 2, rawPacket.Length); ByteBuffer binPacket = new ByteBuffer(rawPacket); binPacket.ReadBytes(2); // Read 2 bytes ahead int opcode = binPacket.ReadByte(); int secondOpCode = -1; switch (state) { case GameClientState.CONNECTED: // Vom Server (ServerPacket) if (fromServer) { switch (opcode) { case 0x2e: // KeyPacket (Contains key, NOT Encrypted xD ) this.onKeyPacket(binPacket); break; case 0x09: // CharSelectionInfo this.state = GameClientState.AUTHED; break; } } // Vom Clienten else { } break; case GameClientState.AUTHED: if (fromServer) { switch (opcode) { case 0x73: this.state = GameClientState.IN_GAME; //Console.Out.WriteLine(Util.printData(binPacket)); break; } } else { switch (opcode) { case 0x0d: // get secondOpCode and set secondOpCode = binPacket.ReadInt16(); break; case 0x12: // CharacterSelect break; } } break; case GameClientState.IN_GAME: if (fromServer) { switch (opcode) { case 0xfe: // get secondOpCode secondOpCode = binPacket.ReadInt16(); break; case 0x0b: //CharSelected this.onCharSelected(binPacket); break; } } else { switch (opcode) { case 0x1f: break; case 0xd0: // get secondOpCode secondOpCode = binPacket.ReadInt16(); break; } } break; } if (fromServer) return new GameServerPacket(binPacket); else { return new ClientPacket(binPacket); } }
internal void ProccessGameClientState(GameClientState oldState, GameClientState newState) { Debug.Log($"{oldState} -> {newState}"); _newClientState = true; }
public void Die() { state = GameClientState.Dead; }
public void Close() { protocolHandler.Close(); this.state = GameClientState.Initial; }