5 releases (breaking)
0.5.0 | Oct 10, 2024 |
---|---|
0.4.0 | Feb 21, 2024 |
0.3.0 | May 20, 2023 |
0.2.0 | Oct 31, 2022 |
0.1.0 | Apr 3, 2022 |
#92 in Authentication
237 downloads per month
1MB
22K
SLoC
wow_login_messages
Implementation of the network protocol used between World of Warcraft authentication/login servers and clients for game versions 1.0.0 (Vanilla) to 3.3.5 (Wrath of the Lich King). See the WoWDev Login page for details.
Usage
To add only the synchronous methods run the following command:
cargo add --features 'sync' wow_login_messages
For async
support see the Features section.
And then check out the docs.
Features
Tokio and async-std support are gated behind the tokio
and async-std
features.
Synchronous (std) support is gated behind sync
.
All of these are disabled by default.
You must enable at least one of them, otherwise there's not much point to the crate.
Auto Generation
This crate is partially auto generated by the wowm
files in the wow_messages
repository.
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.
Other Work
- vMaNGOS (C++) and MaNGOS derivatives in general have a relatively complete list of messages for popular versions, but they are not available as a library.
- Ember (C++) has all messages for 1.12, although some work will probably be required in order to use it as a standalone library.
- Shadowburn (Erlang) has messages for 1.12, although they are not in the form of a library.
- gophercraft (Go) seems to have most messages in a library format.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~0–11MB
~132K SLoC