private void btnSave_Click(object sender, EventArgs e) { DataUpdatePacket p = new DataUpdatePacket(this.lblPlayer.Text, this.lblServer.Text, this.txtNotes.Text, this.txtInfractions.Text, this.getViolationLevel(), this.playerId); p.sendData(Client.getClient().getConnection()); this.Close(); }
private void SocketObj_OnDataInvoke(BasePacket basePacket) { switch (basePacket.packetType) { case PacketType.CamReceived: if (SendCamTexture == true) { StartCoroutine(SendCamDataWithDelay()); } break; case PacketType.CamResolutionReq: CamResolutionReqPacket crrp = (CamResolutionReqPacket)basePacket; if (1 <= crrp.Resolution && crrp.Resolution <= 16) { CamQuality = crrp.Resolution; clientSender.SendPacket(new CamResolutionPacket(CamQuality)); } break; case PacketType.CamConfig: CamConfigPacket ccp = (CamConfigPacket)basePacket; switch (ccp.camaraConfigType) { case CamaraConfigType.ChangeCamara: camManager.SwitchCam(); break; case CamaraConfigType.SendFrame: if (ccp.enable) { SendCamTexture = true; StartCoroutine(SendCamDataWithDelay()); } else { SendCamTexture = false; } break; default: break; } break; case PacketType.CarStatusChangeReq: CarStatusChangeReqPacket cscrp = (CarStatusChangeReqPacket)basePacket; if (cscrp.ReqCarDevice.RF_LEDChanged) { baseCarDivice.rf_LED = cscrp.ReqCarDevice.RF_LED; } if (cscrp.ReqCarDevice.LF_LEDChanged) { baseCarDivice.lf_LED = cscrp.ReqCarDevice.LF_LED; } if (cscrp.ReqCarDevice.RB_LEDChanged) { baseCarDivice.rb_LED = cscrp.ReqCarDevice.RB_LED; } if (cscrp.ReqCarDevice.LB_LEDChanged) { baseCarDivice.lb_LED = cscrp.ReqCarDevice.LB_LED; } if (tracerObj.gPSMover.EnableTraceMode == false) { if (cscrp.ReqCarDevice.R_motorDIRChanged) { baseCarDivice.r_motorDIR = cscrp.ReqCarDevice.R_motorDIR; } if (cscrp.ReqCarDevice.L_motorDIRChanged) { baseCarDivice.l_motorDIR = cscrp.ReqCarDevice.L_motorDIR; } if (cscrp.ReqCarDevice.R_motorpowerChanged) { baseCarDivice.r_motorpower = cscrp.ReqCarDevice.R_motorpower; } if (cscrp.ReqCarDevice.L_motorpowerChanged) { baseCarDivice.l_motorpower = cscrp.ReqCarDevice.L_motorpower; } } break; case PacketType.CarStatusReceived: StartCoroutine(SendCarDataWithDelay()); break; case PacketType.CarGPSSpotStatusChangeReq: CarGPSSpotStatusChangeReqPacket cgscrp = (CarGPSSpotStatusChangeReqPacket)basePacket; switch (cgscrp.GPSSpotManagerChangeType) { case GPSSpotManagerChangeType.AddSpot: tracerObj.gPSMover.GPSSpotManager.AddPos(cgscrp.GPSPosition); clientSender.SendPacket(new CarGPSSpotStatusPacket(GPSSpotManagerChangeType.AddSpot, cgscrp.GPSPosition)); break; case GPSSpotManagerChangeType.RemoveSpot: tracerObj.gPSMover.GPSSpotManager.RemovePos(cgscrp.Index); clientSender.SendPacket(new CarGPSSpotStatusPacket(GPSSpotManagerChangeType.RemoveSpot, cgscrp.Index)); break; case GPSSpotManagerChangeType.SetCurrentPos: tracerObj.gPSMover.GPSSpotManager.CurrentMovePosIndex = cgscrp.Index; clientSender.SendPacket(new CarGPSSpotStatusPacket(GPSSpotManagerChangeType.SetCurrentPos, cgscrp.Index)); break; case GPSSpotManagerChangeType.OverWrite: tracerObj.gPSMover.ChangeSpotManager(cgscrp.GPSMover); clientSender.SendPacket(new CarGPSSpotStatusPacket(GPSSpotManagerChangeType.OverWrite, cgscrp.GPSMover)); break; default: break; } break; case PacketType.UpdateDataReq: DataUpdatePacket dup = (DataUpdatePacket)basePacket; switch (dup.modeType) { case ModeType.AutoDriveMode: tracerObj.gPSMover.EnableTraceMode = true; baseCarDivice.HalfManualMode = false; break; case ModeType.ManualDriveMode: tracerObj.gPSMover.EnableTraceMode = false; baseCarDivice.HalfManualMode = false; break; case ModeType.HaifManualDriveMode: tracerObj.gPSMover.EnableTraceMode = false; baseCarDivice.HalfManualMode = true; break; default: break; } clientSender.SendPacket(new DataUpdatedPacket(dup.modeType)); break; default: break; } }
public string GetPacketMembers(BasePacket basePacket) { StringBuilder PacketMembers = new StringBuilder("("); switch (basePacket.packetType) { case PacketType.ConnectionStat: ConnectionPacket cp = basePacket as ConnectionPacket; PacketMembers.Append("IsConnecting: "); PacketMembers.Append(cp.IsConnecting); PacketMembers.Append(", IsBot: "); PacketMembers.Append(cp.IsBot); PacketMembers.Append(", HasError: "); PacketMembers.Append(cp.HasError); break; case PacketType.CamFrame: CamPacket cap = basePacket as CamPacket; PacketMembers.Append("CamFrame: "); PacketMembers.Append(cap.CamFrame); break; case PacketType.CamConfig: CamConfigPacket cacc = basePacket as CamConfigPacket; PacketMembers.Append("camaraConfigType: "); PacketMembers.Append(cacc.camaraConfigType.ToString()); PacketMembers.Append(", enable: "); PacketMembers.Append(cacc.enable); break; case PacketType.CamResolutionReq: CamResolutionReqPacket crqr = basePacket as CamResolutionReqPacket; PacketMembers.Append("Resolution: "); PacketMembers.Append(crqr.Resolution); break; case PacketType.CamResolution: CamResolutionPacket crr = basePacket as CamResolutionPacket; PacketMembers.Append("Resolution: "); PacketMembers.Append(crr.Resolution); break; case PacketType.CamReceived: CamPacketRecived cpr = basePacket as CamPacketRecived; break; case PacketType.CarStatus: CarStatusPacket csp = basePacket as CarStatusPacket; PacketMembers.Append("cardevice: "); PacketMembers.Append(csp.cardevice); PacketMembers.Append(", position: "); PacketMembers.Append(csp.position); PacketMembers.Append(", rotation: "); PacketMembers.Append(csp.rotation); break; case PacketType.CarStatusReceived: CarStatusRecivedPacket csrp = basePacket as CarStatusRecivedPacket; break; case PacketType.CarGPSSpotStatus: CarGPSSpotStatusPacket cgpsssp = basePacket as CarGPSSpotStatusPacket; PacketMembers.Append("GPSMover: "); PacketMembers.Append(cgpsssp.GPSMover); PacketMembers.Append(", GPSPosition: "); PacketMembers.Append(cgpsssp.GPSPosition); PacketMembers.Append(", GPSSpotManagerChangeType: "); PacketMembers.Append(cgpsssp.GPSSpotManagerChangeType); PacketMembers.Append(", Index: "); PacketMembers.Append(cgpsssp.Index); break; case PacketType.CarStatusChangeReq: CarStatusChangeReqPacket cscrp = basePacket as CarStatusChangeReqPacket; PacketMembers.Append("ReqCarDevice: "); PacketMembers.Append(cscrp.ReqCarDevice); break; case PacketType.CarGPSSpotStatusChangeReq: CarGPSSpotStatusChangeReqPacket cgpssscrp = basePacket as CarGPSSpotStatusChangeReqPacket; PacketMembers.Append("GPSMover: "); PacketMembers.Append(cgpssscrp.GPSMover); PacketMembers.Append(", GPSPosition: "); PacketMembers.Append(cgpssscrp.GPSPosition); PacketMembers.Append(", GPSSpotManagerChangeType: "); PacketMembers.Append(cgpssscrp.GPSSpotManagerChangeType); PacketMembers.Append(", Index: "); PacketMembers.Append(cgpssscrp.Index); break; case PacketType.UpdateDataReq: DataUpdatePacket dup = basePacket as DataUpdatePacket; PacketMembers.Append("modeType: "); PacketMembers.Append(dup.modeType); break; case PacketType.UpdateDataChanged: DataUpdatedPacket dudp = basePacket as DataUpdatedPacket; PacketMembers.Append("modeType: "); PacketMembers.Append(dudp.modeType); break; case PacketType.UpdateConsoleModeReq: ConsoleUpdatePacket cup = basePacket as ConsoleUpdatePacket; PacketMembers.Append("consoleMode: "); PacketMembers.Append(cup.consoleMode); PacketMembers.Append("TargetBot: "); PacketMembers.Append(cup.TargetBot); break; case PacketType.UpdateConsoleModeChanged: ConsoleUpdatedPacket cudp = basePacket as ConsoleUpdatedPacket; PacketMembers.Append("consoleMode: "); PacketMembers.Append(cudp.consoleMode); break; case PacketType.UniversalCommand: UniversalCommandPacket ucp = basePacket as UniversalCommandPacket; PacketMembers.Append("key: "); PacketMembers.Append(ucp.key); PacketMembers.Append("keyType: "); PacketMembers.Append(ucp.keyType); break; case PacketType.ClientsInfoReq: ClientinfoReqPacket cirp = basePacket as ClientinfoReqPacket; break; case PacketType.ClientsInfo: ClientinfoPacket cip = basePacket as ClientinfoPacket; PacketMembers.Append("ClientsInfo: "); PacketMembers.Append(cip.ClientsInfo); break; default: break; } PacketMembers.Append(')'); return(PacketMembers.ToString()); }
private void run() { this.thread = Thread.CurrentThread; while (this.running) { foreach (Connection c in Server.getSingleton().getConnectionManager().getConnections().Values) { if (c.isClosed()) { Server.getSingleton().getConnectionManager().getConnections().Remove(c.getAddress()); } else { try { if (c.dataRemaining()) { Packet p = c.readData(); Packet response = null; if (p.getType().Equals(PacketType.LOGIN)) { LoginPacket packet = new LoginPacket(p); //MySqlDataReader r = Server.getSingleton().getDbManager().executeReader("select `id` from `users` where `user`=\"" + packet.getUser() + "\" and `pass`=\"" + packet.getPasswordHash() + "\""); MySqlDataReader r = Server.getSingleton().getDbManager().prepareCommand("select `id` from `users` where `user`=?User and `pass`=?Password;", KVFactory.obj("?User", packet.getUser()), KVFactory.obj("?Password", packet.getPasswordHash())).ExecuteReader(); if (r.Read()) { response = new LoginResponsePacket(LoginResponsePacket.LoginResponse.SUCCESS, r.GetInt32("id").ToString()); } else { response = new LoginResponsePacket(LoginResponsePacket.LoginResponse.FAILURE); } r.Close(); } else if (p.getType().Equals(PacketType.FETCH_DATA)) { FetchPacket packet = new FetchPacket(p); //MySqlDataReader reader = Server.getSingleton().getDbManager().executeReader("select * from `players` where `serverId`=(select `serverId` from `servers` where `serverName`=\"" + packet.getServer() + "\") and `playerName` like \"" + packet.getName() + "\";"); MySqlDataReader reader = Server.getSingleton().getDbManager().prepareCommand("select * from `players` where `serverId`=(select `serverId` from `servers` where `serverName`=?Server) and `playerName` like ?Name;", KVFactory.obj("?Server", packet.getServer()), KVFactory.obj("?Name", packet.getName())).ExecuteReader(); if (reader.Read()) { response = new DataResponsePacket(reader.GetString("playerName"), packet.getServer(), reader.GetString("notes"), reader.GetString("violations"), UserViolationLevel.getViolationLevelFromByte(reader.GetByte("violationLevel")), reader.GetInt32("id").ToString(), reader.GetInt32("serverId").ToString()); } else { reader.Close(); //MySqlDataReader r = Server.getSingleton().getDbManager().executeReader("select `serverId` from `servers` where `serverName`=\"" + packet.getServer() + "\""); MySqlDataReader r = Server.getSingleton().getDbManager().prepareCommand("select `serverId` from `servers` where `serverName`=", KVFactory.obj("?Server", packet.getServer())).ExecuteReader(); r.Read(); int serverId = r.GetInt32("serverId"); r.Close(); //Server.getSingleton().getDbManager().executeNonQuery("insert into `players` (`serverId`, `playerName`, `notes`, `violations`, `violationLevel`) values(" + serverId + ", \"" + packet.getName() + "\", \"\", \"\", " + UserViolationLevel.GOOD.getByteIdentity() + ")"); Server.getSingleton().getDbManager().prepareCommand("insert into `players` (`serverId`, `playerName`, `notes`, `violations`, `violationLevel`) values(?ServerId, ?Name, ?Notes, ?Violations, ?ViolationLevel);", KVFactory.obj("?ServerId", serverId), KVFactory.obj("?Name", packet.getName()), KVFactory.obj("?Notes", ""), KVFactory.obj("?Violations", ""), KVFactory.obj("?ViolationLevel", UserViolationLevel.GOOD.getByteIdentity())).ExecuteNonQuery(); //MySqlDataReader z = Server.getSingleton().getDbManager().executeReader("select `id`,`serverId` from `players` where `serverId`=" + serverId + " and `playerName`=\"" + packet.getName() + "\""); MySqlDataReader z = Server.getSingleton().getDbManager().prepareCommand("select `id`,`serverId` from `players` where `serverId`=" + serverId + " and `playerName`=\"" + packet.getName() + "\"").ExecuteReader(); z.Read(); response = new DataResponsePacket(packet.getName(), packet.getServer(), "", "", UserViolationLevel.GOOD, z.GetInt32("id").ToString(), z.GetInt32("serverId").ToString()); z.Close(); } reader.Close(); } else if (p.getType().Equals(PacketType.LIST_REQUEST)) { List <string> servers = new List <string>(); MySqlDataReader reader = Server.getSingleton().getDbManager().executeReader("select * from `servers`"); while (reader.Read()) { servers.Add(reader.GetString("serverName")); } response = new ServerListResponsePacket(servers); reader.Close(); } else if (p.getType().Equals(PacketType.REGISTRATION)) { RegistrationPacket packet = new RegistrationPacket(p); //MySqlDataReader reader = Server.getSingleton().getDbManager().executeReader("select `serverAccess` from `registrationKeys` where `key`=\"" + packet.getRegistrationKey() + "\""); MySqlDataReader reader = Server.getSingleton().getDbManager().prepareCommand("select `serverAccess` from `registrationKeys` where `key`=?Key", KVFactory.obj("?Key", packet.getRegistrationKey())).ExecuteReader(); if (reader.Read()) { //Server.getSingleton().getDbManager().executeScalar("insert into `users` (`firstName`, `lastName`, `user`, `pass`, `serverAccess`) values(\"" + packet.getFirstName() + "\", \"" + packet.getLastName() + "\", \"" + packet.getUsername() + "\", \"" + packet.getPasswordHash() + "\", \"" + reader.GetString("serverAccess") + "\");"); Server.getSingleton().getDbManager().prepareCommand("insert into `users` (`firstName`, `lastName`, `user`, `pass`, `serverAccess`) values(?FirstName, ?LastName, ?Username, ?Password, ?AccessString);", new KeyValuePair <string, object>("?", packet.getFirstName()), new KeyValuePair <string, object>("?", packet.getLastName()), new KeyValuePair <string, object>("?", packet.getPasswordHash()), new KeyValuePair <string, object>("?", reader.GetString("serverAccess"))).ExecuteScalar(); } } else if (p.getType().Equals(PacketType.DATA_UPDATE)) { DataUpdatePacket packet = new DataUpdatePacket(p); //Server.getSingleton().getDbManager().executeNonQuery("update `players` set `playerName`=\"" + packet.getPlayer() + "\", `notes`=\"" + packet.getNotes() + "\", `violations`=\"" + packet.getViolations() + "\", `violationLevel`=" + packet.getViolationLevel().getByteIdentity() + " where `id`=" + packet.getID() + ";"); Server.getSingleton().getDbManager().prepareCommand("update `players` set `playerName`=?Player, `notes`=?Notes, `violations`=?Violations, `violationLevel`=?ViolationLevel where `id`=?Id;", KVFactory.obj("?Player", packet.getPlayer()), KVFactory.obj("?Notes", packet.getNotes()), KVFactory.obj("?Violations", packet.getViolations()), KVFactory.obj("?ViolationLevel", packet.getViolationLevel().getByteIdentity()), KVFactory.obj("?Id", packet.getID())).ExecuteNonQuery(); } else if (p.getType().Equals(PacketType.ATTACHMENT_LIST_REQ)) { AttachmentListRequestPacket packet = new AttachmentListRequestPacket(p); List <Attachment> attachments = new List <Attachment>(); MySqlDataReader r = Server.getSingleton().getDbManager().prepareCommand("select `screenshotId`,`uploadDate`,`uploadingUserId` from `screenshots` where `playerId`=?PlayerId and `serverId`=?ServerId", KVFactory.obj("?PlayerId", packet.getPlayerId()), KVFactory.obj("?ServerId", packet.getServerId())).ExecuteReader(); while (r.Read()) { attachments.Add(new Attachment(r.GetDateTime("uploadDate"), r.GetInt32("screenshotId").ToString(), r.GetInt32("uploadingUserId").ToString())); } response = new AttachmentListResponsePacket(attachments); r.Close(); } else if (p.getType().Equals(PacketType.UPLOAD_ATTACHMENT)) { UploadAttachmentPacket packet = new UploadAttachmentPacket(p); MySqlCommand cmd = Server.getSingleton().getDbManager().prepareCommand("insert into `screenshots` (`playerId`, `serverId`, `data`, `uploadDate`, `uploadingUserId`, `dataLength`) values(?playerId, ?serverId, ?attachmentData, ?dateTime, ?userId)", KVFactory.obj("?PlayerId", packet.getPlayerId()), KVFactory.obj("?ServerId", packet.getServerId()), KVFactory.obj("?AttachmentData", packet.getAttachmentData()), KVFactory.obj("?dateTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")), KVFactory.obj("?userId", packet.getUserId())); cmd.ExecuteNonQuery(); } else if (p.getType().Equals(PacketType.ATTACHMENT_REQUEST)) { AttachmentRequestPacket packet = new AttachmentRequestPacket(p); MySqlDataReader r = Server.getSingleton().getDbManager().executeReader("select `data`,`dataLength` from `screenshots` where `screenshotId`=" + packet.getId()); r.Read(); byte[] buffer = (byte[])r.GetValue(0); response = new AttachmentResponsePacket(buffer); r.Close(); } if (response != null) { response.sendData(c); } } } catch (InvalidPacketException e) { Server.getLogger().error(e.Message); } } } Thread.Sleep(SLEEP_DURATION); } }