Giter Site home page Giter Site logo

titanz9012 / wowpacketparser Goto Github PK

View Code? Open in Web Editor NEW

This project forked from trinitycore/wowpacketparser

0.0 0.0 0.0 66.16 MB

World of Warcraft Packet Parser

License: GNU General Public License v3.0

Shell 0.01% C# 100.00% Batchfile 0.01% Dockerfile 0.01%

wowpacketparser's Introduction

WowPacketParser (WPP)

GitHub license Build Status AppVeyor

Usage

  • Compile WowPacketParser using Visual Studio 2022 (with .NET 7.0 SDK) or .NET 7.0 SDK (Linux/OSX). Alternatively you can download compiled binaries from the links below.
  • Edit WowPacketParser.dll.config to fit your needs.
  • Drag one or more files (.pkt or .bin) to WowPacketParser.exe.
  • Command line usage: WowPacketParser.exe [--ConfigFile path --Option1 value1 ...] filetoparse1 ...
Databases

Optionally, WPP can connect to two kinds of MySQL databases: world from TrinityCore and its own database, WPP. This can be enabled by setting <add key="DBEnabled" value="true" /> in the .config file. Remember to set <add key="TargetedDatabase" value="1"/> in accordance with the targeted version of the core.

The world database is used when creating SQL files after parsing to produce the minimum number of changes needed to update the database. For example, if only the faction of a creature that appears in the sniff needs to be updated, the produced SQL files will contain an UPDATE query, instead of a full INSERT to the table creature_template. WPP does not modify this database directly, all the tentative changes will be written to the output SQL files.

The WPP database is used to feed additional data that WPP may use while parsing. For example, in the output text files, the spell name can be displayed next to spell ids:

ServerToClient: SMSG_SPELL_START (0x2BB8) Length: 96 ConnIdx: 0 Time: 01/01/2016 00:22:33.235 Number: 701
(Cast) CasterGUID: Full: 0x03691F00000000000000000000000001 Player/0 R3558/S0 Map: 0 Low: 1
(Cast) SpellID: 2479 (Honorless Target)
(Cast) CastFlags: 15

This is available for a lot of other named entities (achievements, creatures, quests, etc.). The SQL files required for this database is in the SQL directory. create_WPP.sql creates the database and wpp_data_objectnames.sql has some data to fill the database.

Nightly Builds

.NET 7.0 SDK or .NET 7.0 Runtime is needed!

Download .NET 7.0 here!

Windows
Linux (Ubuntu)
macOS (currently not supported)

Docker (experimental)

It is possible run WPP on Docker using the trinitycore/wpp image.

To build image:

DOCKER_BUILDKIT=1 docker build . -t trinitycore/wpp

To configure:

Copy WowPacketParser/App.config as template and edit as your needs.

To run:

docker run -it --rm -v /place/where/sniffs/are/kept:/sniffs -v /full/path/App.config:/app/WowPacketParser.dll.config trinitycore/wpp /sniffs/sniffname.pkt

/place/where/sniffs/are/kept should your local directory containing the .pkt file and sniffname.pkt the file to be parsed.

Output (.txt/.sql) of the parser will be added to /place/where/sniffs/are/kept.

Copyright & Third Party

WowPacketParser

License: GPLv3

Read file COPYING.

Third Party

The third party libraries have their own way of addressing authorship, and the authorship of commits importing/ updating a third party library reflects who did the importing instead of who wrote the code within the commit.

NuGet libraries:

Copyright information of third party libraries provided through NuGet can be obtained by checking https://www.nuget.org/

Provided third party libraries:

DBFileReaderLib, 2019-2022 wowdev, located at https://github.com/wowdev/DBCD

wowpacketparser's People

Contributors

vincent-michael avatar dduarte avatar shauren avatar mdx7 avatar funjoker avatar xurxogr avatar kaelima avatar star-lion avatar carbenium avatar subv avatar kinzcool avatar streetrat avatar zorix avatar qaston avatar killerwife avatar domgries avatar warpten avatar horn avatar ovahlord avatar bandysc avatar meji46 avatar therzok avatar skyfire avatar joschiwald avatar aokromes avatar bootz avatar epicurus4 avatar chaodhib avatar drehsan avatar traesh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.