//TCP client method sends tcp packet from server program to client program private void TCPClientMethod(Client client) { Packet packet; try { //while client is reading data while ((packet = client.TCPRead()) != null) { switch (packet.mPacketType) { //sends login packet to allow connection to server case PacketType.login: LoginPacket loginPacket = (LoginPacket)packet; client.mEndPoint = loginPacket.mEndPoint; foreach (Client onlineClient in clients) { onlineClient.TCPSend(packet); } break; } } } //if try catch fails send error message catch (Exception e) { Console.WriteLine("Error:" + e.Message); } //close client and remove from concurrent bag finally { client.Close(); clients.TryTake(out client); } }
private void VerifyLogin(Client client, LoginPacket loginPacket) { bool foundMatch = false; foreach (Client c in _clients) { if (c.Username == loginPacket.Username) { foundMatch = true; } } LoginVerificationPacket loginVP = new LoginVerificationPacket(); if (foundMatch) { loginVP.Granted = false; SendPacket(client, loginVP); } else { loginVP.Granted = true; client.Username = loginPacket.Username; client.ClientStatus = ClientStatus.Online; SendPacket(client, loginVP); ClientLoggedIn(client); Console.WriteLine(String.Format("Client({0}) logged in with name: {1}", client.ID, loginPacket.Username)); } }
public string CreateLoginPacket(string accountNumber) { IPacket packet = new LoginPacket(); packet.SetValue(accountNumber, (listenerPort.ToString())); return(packet.Body); }
public void OnLogin(LoginPacket packet) { var client = ServerTcpHandler.GetClient(packet.ClientId); try { var user = AccountService.Login(packet.Login, packet.Password); Log.Info("Sending Login Response"); client.Send(new LoginResponsePacket() { SessionId = user.SessionId, UserId = user.UserId, xLocation = user.X, yLocation = user.Y }); ServerEvents.Call(new PlayerLoginEvent() { Player = user, Client = client }); } catch (AccountError e) { Log.Info("Sending Login Error"); client.Send(new DialogPacket() { Message = e.ErrorMessage }); } }
public override async Task Process(LoginPacket packet, IPacketContext context) { var identityResult = await UserManager.AddLoginAsync(packet.Username, packet.Password); var errors = (identityResult.Errors != null) ? identityResult.Errors.ToArray() : new string[0]; var replyPacket = new LoginReplyPacket(identityResult.Success, errors); context.Sender.Send(replyPacket); if (replyPacket.Accepted) { var user = await UserManager.UserStorage.FindByNameAsync(packet.Username); var userConnection = TcpConnections.FindByEndpoint(context.Sender.EndPoint); userConnection.UserTag = user; NetPeer.OnClientConnected(user); this.NetPeer.Logger.LogInformation("User '{username}' authenticated ({address}).", packet.Username, context.Sender.EndPoint.ToString()); } else { this.NetPeer.Logger.LogInformation("User '{username}' failed to authenticated ({address}).", packet.Username, context.Sender.EndPoint.ToString()); } }
private void ReceiveData(IAsyncResult ar) { try { // Receive all data this.clientSocket.EndReceive(ar); // Initialise a packet object to store the received data LoginPacket receivedData = new LoginPacket(dataStream); // Update display through a delegate if (receivedData.ChatMessage != null) { this.Dispatcher.BeginInvoke(this.displayMessageDelegate, new object[] { receivedData.ChatMessage }); } // Reset data stream this.dataStream = new byte[1024]; // Continue listening for broadcasts clientSocket.BeginReceiveFrom(this.dataStream, 0, this.dataStream.Length, SocketFlags.None, ref epServer, new AsyncCallback(this.ReceiveData), null); this.displayMessageDelegate = new DisplayMessageDelegate(DisplayMessage); } catch (Exception e) { } }
public ResponseCode Login(string email, string pass) { LoginPacket packet = new LoginPacket() { Email = email, Password = pass }; UdpClient receiver = new UdpClient((int)Port.Client_ResponseReceive); SendPacket(Crypto.SimEncrypt(packet.BuildPacket())); string[] response = ReceiveResponse(receiver).Split('%'); receiver.Close(); switch (GetResponseCode(response[1])) { case ResponseCode.Login_Success: sessionID = response[2].Split('&')[0]; sessionLogin = response[2].Split('&')[1]; return(ResponseCode.Login_Success); case ResponseCode.Login_Fail_AccoundBanned: string banReason = response[2].Split('&')[0]; string banDate = response[2].Split('&')[1]; responseString = $"Login error. Account banned.\nReason: {banReason}\nDate: {banDate}"; return(ResponseCode.Login_Fail_AccoundBanned); default: return(GetResponseCode(response[1])); } }
//processes server responce private void TCPProcessServerResponse() { int numberOfBytes; //if connected to server while (isConnected == true) { //read data from server and deserialize if ((numberOfBytes = reader.ReadInt32()) != 0) { byte[] buffer = reader.ReadBytes(numberOfBytes); MemoryStream _stream = new MemoryStream(buffer); Packet recievedPackage = formatter.Deserialize(_stream) as Packet; //if packet type is... switch (recievedPackage.mPacketType) { //send message to all case PacketType.login: LoginPacket loginPacket = (LoginPacket)recievedPackage; break; } } } //close TCP connection reader.Close(); writer.Close(); tcpClient.Close(); }
public void SignUp(string email, string username, string password) { LoginPacket packet = new LoginPacket(email, password); packet.setUsername(username); Emit("createAccount", new JSONObject(JsonUtility.ToJson(packet))); }
static void Main() { CryptEngine.Initialize(new Byte[] { 00 }); LoginPacket.InitializeCryptoService(new Byte[] { 00, 00, 00, 00, 00, 00, 00, 00 }); /* var server = new AAAuthServer(); * server.Start(IPAddress.Any, 2106);*/ /*var client = new AAAuthClient("admin", "test123"); * client.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 2106)); * * while (true) * { * client.Process(); * System.Threading.Thread.Sleep(1500); * }*/ /*var server = new TRAuthServer(); * server.Start(IPAddress.Any, 2106);*/ /*var client = new TRAuthClient("admin", "test123"); * client.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 2106)); * * while (true) * { * client.Process(); * System.Threading.Thread.Sleep(1500); * }*/ Console.ReadLine(); }
private void LoginScreen_Loginbtn_event(string message) { this.ClientID = this.LoginScreen.IDboxString; if (this.ClientID.Length > 12) { MessageBox.Show("한글 6자 영문 12자 이상은 아이디로 사용하 실 수 없습니다."); return; } //this.indianPokerClient = new IndianPokerClient("127.0.0.1", 10000, this.ClientID); this.indianPokerClient = new IndianPokerClient("192.168.2.42", 10000, this.ClientID); if (this.indianPokerClient.ConnectedServer()) { LoginPacket loginPacket = new LoginPacket(); loginPacket.clientID = this.ClientID; loginPacket.isLogin = true; indianPokerClient.SendMessage(Header.Login, loginPacket, indianPokerClient.ao.WorkingSocket); } else { MessageBox.Show("서버와 연결이 되지 않습니다."); } }
// Update is called once per frame public void ConnectionToLoginServer() { StartCoroutine(Login()); LoginPacket NewLogin = new LoginPacket(); NewLogin.ChatName = username.text.ToString() + "\n" + "Password: "******"74.80.233.85"); server = new IPEndPoint(serverIP, 4546); epServer = (EndPoint)server; byte[] data = NewLogin.GetDataStream(); clientSocket.BeginSendTo(data, 0, data.Length, SocketFlags.None, epServer, new AsyncCallback(this.SendData), null); clientSocket.BeginReceiveFrom(this.dataStream, 0, this.dataStream.Length, SocketFlags.None, ref epServer, new AsyncCallback(this.ReceiveData), null); Debug.Log(server); Debug.Log(NewLogin.ChatName); }
private void LoginTile_Click(object sender, EventArgs e) { if (UsernameTextBox.Text.Length < 4 || PasswordTextBox.Text.Length < 4) { return; } LoginTile.Enabled = false; UsernameTextBox.Enabled = false; PasswordTextBox.Enabled = false; string authenticationToken = NetworkUtil.GetAuthenticationToken(UsernameTextBox.Text, PasswordTextBox.Text); if (authenticationToken == null) { LoginTile.Enabled = true; UsernameTextBox.Enabled = true; PasswordTextBox.Enabled = true; Notify("The username or password is incorrect."); return; } MapleConnection.Instance.Send(LoginPacket.Login(PasswordTextBox.Text, authenticationToken)); }
private void OnLogin(NetworkMessage netMsg) { LoginPacket packet = netMsg.ReadMessage <LoginPacket>(); if (packet != null) { if (packet.username == Program.username && packet.password == Program.password) { DbManager.AddUser(netMsg.conn.connectionId); var has = false; if (File.Exists(Program.path_to_firewall_up_org)) { lock (LockFile) { string firewall = File.ReadAllText(Program.path_to_firewall_up_org).Replace("#REPLACE_IP", netMsg.conn.IP); File.WriteAllText(Program.path_to_firewall_up, firewall); } has = true; } Log.Info("Client [" + netMsg.conn.IP + "] Logged in."); netMsg.conn.Send(NetworkConstants.LOGIN, new ReLogin() { response = (uint)(has ? SUCCESS : FAILURE) }); } else { netMsg.conn.Send(NetworkConstants.LOGIN, new ReLogin() { response = WRONG_LOGIN }); } } }
/// <summary> /// 登录 /// <remark>abu 2008-03-06 </remark> /// </summary> public void Login() { Check.Require(QQClient.LoginServerHost, "LoginServerHost", Check.NotNull); if (QQClient.LoginPort == 0) { if (QQUser.IsUdp) { QQClient.LoginPort = QQGlobal.QQ_PORT_UDP; } else { QQClient.LoginPort = QQGlobal.QQ_PORT_TCP; } } OutPacket outPacket = null; if (QQClient.QQUser.LoginToken == null) { outPacket = new RequestLoginTokenPacket(QQClient.QQUser); } else { outPacket = new LoginPacket(QQClient.QQUser); } QQClient.PacketManager.SendPacketAnyway(outPacket, QQPort.Main.Name); }
public static void CHECK_CHAR_NAME(MapleClient c, InPacket p) { var name = p.ReadMapleString(); var nameused = DatabaseHelper.CheckNameUsed(c, name); c.Send(LoginPacket.CharNameResponse(name, nameused)); }
protected void MsgLogin(BinaryReader reader) { var packet = new LoginPacket(); packet.Unserialize(reader); IPacket s; if (Server.ValidateLogin(this, packet.UserName, packet.Password, packet.Subscription, packet.CDKey)) { s = new LoginOkPacket { SessionId1 = SessionId1, SessionId2 = SessionId2 }; if (Server.OnConnect != null) { Server.OnConnect(this); } } else { s = new LoginFailPacket { ResultCode = 1 }; _disconnect = true; } var data = CreatePacket(s); Socket.BeginSend(data, 0, data.Length, EndSend, true); }
protected override void Initialize() { // TODO: Add your initialization logic here base.Initialize(); _networkClient = new NetworkClient("127.0.0.1", 7000); _networkClient.StartClient(); var packet = new LoginPacket() { MsgType = (byte)Packets.LoginPacket, Username = Encoding.UTF8.GetBytes("test"), Password = Encoding.UTF8.GetBytes("test") }; _networkClient.EnqueuePacket(packet); _networkClient.OnLoginResponsePacket += OnLoginResponsePacket; //_networkClient.OnNewPlayerPacket += OnNewPlayerPacket; //_networkClient.OnEntitySpawnPacket += OnEntitySpawnPacket; //// Send a login packet to server //var packet = new LoginPacket() //{ // MsgType = (byte)Packets.LOGIN_PACKET, // Username = "******".AsSpan(), // PlayerId = _networkClient.PlayerId //}; //_networkClient.EnqueuePacket(packet); }
public static void LOGIN_AUTH(MapleClient c, InPacket p) { var username = p.ReadMapleString(); var password = p.ReadMapleString(); var result = DatabaseHelper.Login(c, username, password); switch (result) { case DatabaseHelper.LoginResultCode.GenderNeeded: c.State = LoginStateType.WaitingForDetail; c.Send(LoginPacket.GenderNeeded(username)); break; case DatabaseHelper.LoginResultCode.Success: c.State = LoginStateType.LoggedIn; var userLogged = new List <int>(ServerSettings.ChannelCount); MasterServer.Instance.ChannelServers.ForEach(x => userLogged.Add(x.UserLogged)); c.Send(LoginPacket.AuthSuccess(username, c.Account.Id, c.Account.Gender != null && c.Account.Gender.Value)); c.State = LoginStateType.LoggedIn; c.Send(LoginPacket.ServerList(userLogged.ToArray())); c.Send(LoginPacket.ServerListEnd()); break; default: c.Send(LoginPacket.AuthAccountFailed((int)result)); break; } }
public static LoginPacket Parse(NetworkMessage message) { LoginPacket packet = new LoginPacket(); packet.Os = message.GetUInt16(); // OS packet.Version = message.GetUInt16(); // version message.RSADecrypt(); message.GetByte(); // should be zero packet.XteaKey = new uint[4]; packet.XteaKey[0] = message.GetUInt32(); packet.XteaKey[1] = message.GetUInt32(); packet.XteaKey[2] = message.GetUInt32(); packet.XteaKey[3] = message.GetUInt32(); packet.GmMode = message.GetByte(); packet.AccountName = message.GetString(); packet.CharacterName = message.GetString(); packet.Password = message.GetString(); message.SkipBytes(6); // 841 specific (according to OT) return(packet); }
/// <summary> /// Handles player logins and the according callbacks /// </summary> /// <param name="peer">connected peer</param> /// <param name="reader">Netpacket without 1st byte</param> private void HandlePlayerLogin(NetPeer peer, NetPacketReader reader) { LoginPacket loginPacket = new LoginPacket(reader); PlayerConnectedEventArgs args1 = new PlayerConnectedEventArgs(); switch ((LoginMsg)loginPacket.LoginMsgType) { case LoginMsg.INIT: args1.NetPeer = peer; args1.hasSelected = false; args1.PlayerFaction = (Faction)loginPacket.Faction; args1.PlayerName = loginPacket.PlayerName; break; case LoginMsg.FACTIONSELECT: args1.NetPeer = peer; args1.hasSelected = true; args1.PlayerFaction = (Faction)loginPacket.Faction; args1.PlayerName = loginPacket.PlayerName; break; } //TODO: Change Debug //Console Output //Console.WriteLine("Player {0} login successful. Faction: {1}", loginPacket.PlayerName, (Faction)loginPacket.Faction); //Invoke Event OnPlayerConnected(args1); }
public void UDPSendLocalEP(EndPoint clientEP) { UDPSocket.Connect(clientEP); Packet sendPacket = new LoginPacket(UDPSocket.LocalEndPoint); TCPSend(sendPacket); }
private void VerifyLogin(byte[] initialBuffer) { LoginPacket lp = (LoginPacket)ReadPacket(new LoginPacket(), initialBuffer); AccountDAO l = new AccountDAO(Server.ServerInstance.Database); if (l.VerifyLogin(lp.Username, lp.Password)) { Tuple <bool, bool> banStatus = l.BanStatus(lp.Username); if (banStatus.Item1) { SendPacket(banStatus.Item2 ? new LoginFailPacket(PermaBannedMessage) : new LoginFailPacket(TempBannedMessage)); return; } if (AuthQueue.Add(lp.Username, _sessionId)) { SendPacket(new LoginOkPacket(_sessionId)); } else { SendPacket(new LoginFailPacket(AlreadyLoggedInMessage)); } } else { SendPacket(new LoginFailPacket(WrongPasswordMessage)); } Disconnect("Completed"); }
public void SendLogInInfoToPlayer(NetPeer netConnection, string playerName, Faction[] factions) { LoginPacket packet = new LoginPacket(playerName, factions); NetDataWriter msg = new NetDataWriter(); packet.Encode(msg); SendMessageToConnection(netConnection, msg); }
public LoginPacket LoginPacket(EndPoint endPoint) { LoginPacket loginPacket = new LoginPacket(endPoint); loginPacket.type = PacketType.LOGIN; loginPacket.endPoint = endPoint; return(loginPacket); }
public static void SERVER_LIST_REQUEST(MapleClient c, InPacket p) { var userLogged = new List <int>(ServerSettings.ChannelCount); MasterServer.Instance.ChannelServers.ForEach(x => userLogged.Add(x.UserLogged)); c.Send(LoginPacket.ServerList(userLogged.ToArray())); c.Send(LoginPacket.ServerListEnd()); }
public void Login(LoginPacket packet) { var _packet = PacketFactory.requestMap(0); request(_packet); playerId = packet.movableId; IsRequestMapSent = true; }
private void SelectGameScreen_CloseGameEvent() { LoginPacket loginPacket = new LoginPacket(); loginPacket.clientID = this.ClientID; loginPacket.isLogin = false; indianPokerClient.SendMessage(Header.Login, loginPacket, indianPokerClient.ao.WorkingSocket); this.Close(); }
public static void OnGENDER_RESULT(MapleClient c, InPacket p) { var gender = p.ReadByte(); //00 男 01女 var username = p.ReadMapleString(); //username DatabaseHelper.ChangeGender(c, username, gender); c.Send(LoginPacket.GenderChanged(username, c.Account.Id.ToString())); c.Send(LoginPacket.LicenseRequest()); }
public static void CHARLIST_REQUEST(MapleClient c, InPacket p) { if (c.State == LoginStateType.LoggedIn) { c.WorldId = p.ReadByte(); c.ChannelId = p.ReadByte(); c.Send(LoginPacket.GetCharList(c)); } }