Expand description
§wow_world_messages
Implementation of the network protocol used between World of Warcraft game servers and clients for game versions 1.12.x (Vanilla), 2.4.3 (The Burning Crusade), and 3.3.5 (Wrath of the Lich King). See the WoWDev Login page for details on getting to this message exchange.
§Usage
Remove the expansions you don’t need from the following command:
cargo add wow_world_messages --features 'vanilla tbc wrath sync tokio async-std flate2 chrono'The library is split into the top level modules:
vanillafor items valid for version 1.12.x.tbcfor items valid for version 2.4.3.8606.wrathfor items valid for version 3.3.5.12340.sharedfor items that are valid for multiple versions.
These are also exported through the regular modules, so for example if you are working with vanilla it is only necessary to export items from vanilla.
§Features/Serde support
This crate has the following features:
vanilla, for client version 1.12.x.tbc, for client version 2.4.3.8606.wrath, for client version 3.3.5.x.encryption, for functions that take automatically encrypt/decrypt the header.chrono, for support for adding aTryFromchrono::prelude::TimeZonetoDateTime.flate2, for supporting compressed messages.tokio, fortokioasync support.async-stdforasync-stdasync support.
§Design Decisions
Types have been named the ugly CMD_SCREAMING_SNAKE_CASE way because that’s
what other (mostly C++) emulators call them. This makes it significantly easier
to search through other emulators or other documentation.
§Examples
The wow_messages repo has a few example applications that showcase the library.
§Auto Generation
This crate is partially auto generated by the wowm files in the
wow_messages repository.
§Other Work
vMaNGOS(C++) andMaNGOSderivatives in general have a relatively complete list of messages for popular versions, but they are not available as a library.
Modules§
- errors
- shared
vanillaortbcorwrath - tbc
( vanillaortbcorwrath) andtbc - vanilla
( vanillaortbcorwrath) andvanilla - wrath
( vanillaortbcorwrath) andwrath
Structs§
Enums§
Constants§
- DEFAULT_
PORT - Default port that is connected to whenever a port isn’t specified.