private void SaveLog() { if (!NeedToSave) { return; } NeedToSave = false; if (AnalysisType == AnalysisTypeEnum.Unknown) { return; } if (AnalysisType == AnalysisTypeEnum.LogFile) { MessageBox.Show("Saving saved log is retarded"); return; } var header = new LogHeader { Region = Version.ToString() }; PacketLogWriter writer = new PacketLogWriter(string.Format("{0}.TeraLog", DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss_" + Version, CultureInfo.InvariantCulture)), header); foreach (var message in OpcodeFinder.Instance.AllPackets) { writer.Append(message.Value); } writer.Dispose(); MessageBox.Show("Saved"); }
private PacketLogWriter LoadOutputWriter() { if ((config_format_type_ != ConfigManager.System.AutoPacketSave.SaveFormat.Value) || (output_format_ == null) || (output_writer_ == null) ) { config_format_type_ = ConfigManager.System.AutoPacketSave.SaveFormat.Value; switch (config_format_type_) { case AutoPacketSaveFormatType.Ratatoskr: output_format_ = new FileFormat.PacketLog_Rtcap.FileFormatClassImpl(); break; case AutoPacketSaveFormatType.CSV: output_format_ = new FileFormat.PacketLog_Csv.FileFormatClassImpl(); break; case AutoPacketSaveFormatType.Binary: output_format_ = new FileFormat.PacketLog_Binary.FileFormatClassImpl(); break; } if (output_format_ != null) { output_writer_ = output_format_.CreateWriter() as PacketLogWriter; output_option_ = output_format_.CreateWriterOption(); } } return(output_writer_); }
public void EnableLogging() { var header = new LogHeader { Region = "EU" }; logWriter = new PacketLogWriter(string.Format("{0}.TeraLog", DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss", CultureInfo.InvariantCulture)), header); }
public DumpWriter(ProcessorConfig config) : base(config) { m_Writer = new PacketLogWriter(config.Path, new LogHeader() { Region = string.Empty }); }
public PacketProcessor(PacketSerializer serializer, PacketLogWriter logWriter) { Serializer = serializer; LogWriter = logWriter; foreach (var code in serializer.GameMessages.OpCodeToName.Keys) { _rawHandlers.Add(code, new HashSet <RawPacketHandler>()); _handlers.Add(code, new HashSet <Delegate>()); } }
void _teraSniffer_NewConnection(Server server) { InvokeAction(() => { var header = new LogHeader { Region = server.Region }; _logWriter = new PacketLogWriter(string.Format("{0}.TeraLog", DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss", CultureInfo.InvariantCulture)), header); ConnectionList.Items.Clear(); ConnectionList.Items.Add(string.Format("New connection to {0}started...", server.Name)); _teraData = _basicTeraData.DataForRegion(server.Region); }); }
public PacketLogWriter GetOrInitializeWriter(int opcode) { if (_writers.ContainsKey(opcode)) { return(_writers[opcode]); } var header = new LogHeader { Region = opcode.ToString() }; PacketLogWriter writer = new PacketLogWriter(PATH + VERSION + Path.DirectorySeparatorChar + opcode + SPLITTED_LOGS_EXTENSION, header); _writers.Add(opcode, writer); return(writer); }
public void Start(GameProxy[] proxies) { _writer = new PacketLogWriter( proxies.First().Processor.Serializer.Messages, proxies.Select(x => x.Info).ToArray(), Configuration.LogDirectory, Configuration.LogFileNameFormat, Configuration.CompressLogs); foreach (var proxy in proxies) { proxy.Processor.AddRawHandler(PacketLogHandler); } _log.Basic("Packet logger plugin started"); }
private void SaveToTmpFile(string version, Queue <Message> packetsCopyStorage, string filename) { var header = new LogHeader { Region = version }; PacketLogWriter writer = new PacketLogWriter(filename, header); foreach (var message in packetsCopyStorage) { ParsedMessage parsedMessage = PacketProcessor.Instance.MessageFactory.Create(message); parsedMessage = WipeoutSensitiveData(parsedMessage); writer.Append(message); } writer.Dispose(); }
void _teraSniffer_NewConnection(Server server) { InvokeAction(() => { var header = new LogHeader { Region = server.Region }; _logWriter = new PacketLogWriter(string.Format("{0}.TeraLog", DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss", CultureInfo.InvariantCulture)), header); ConnectionList.Items.Clear(); ConnectionList.Items.Add(string.Format("New connection to {0}started...", server.Name)); _messageFactory = new MessageFactory(); _opCodeNamer = new OpCodeNamer(new Dictionary <ushort, string> { { 19900, "C_CHECK_VERSION" } }); }); }
public void Start() { var serializer = _context.Serializer; _writer = new PacketLogWriter(serializer.Region, serializer.GameMessages, serializer.SystemMessages, _context.Proxies.Select(x => x.Info).ToArray(), Configuration.LogDirectory, Configuration.LogFileNameFormat, Configuration.CompressLogs); _context.Dispatch.AddHandler((client, direction, code, packet, flags) => { _writer.Write(new PacketLogEntry(DateTime.Now, client.Proxy.Info.Id, direction, code, packet.Payload)); return(true); }, new PacketFilter(long.MinValue).WithSilenced(null)); _log.Basic("Packet logger plugin started"); }
private static void SavePacketFileExecTask(PacketLogWriter writer, IEnumerable <PacketObject> packets) { writer.WritePacket(packets); }
public void DisableLogging() { logWriter.Dispose(); logWriter = null; }