Implement Thistle Tea CMSG_* client messages following our architecture patterns. Use this when asked to implement a new message or you need to use one that isn't implemented yet.
日本語の概要は準備中です。原文の説明を表示しています。
Implement Thistle Tea SMSG_* server messages following our architecture patterns. Use this when asked to implement a new message or you need to use one that isn't implemented yet.
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Create/modify a module under lib/game/network/message/ that:
use ThistleTea.Game.Network.ServerMessage, :SMSG_FOOdefstruct matching the fields needed to encode the packetto_binary/1 using little-endian bit syntax patterns like <<x::little-size(32)>>Minimal payload (SMSG_PONG):
defmodule ThistleTea.Game.Network.Message.SmsgPong do
@moduledoc false
use ThistleTea.Game.Network.ServerMessage, :SMSG_PONG
defstruct [:sequence_id]
@impl ServerMessage
def to_binary(%__MODULE__{sequence_id: sequence_id}) do
<<sequence_id::little-size(32)>>
end
end
Conditional payload (SMSG_AUTH_RESPONSE):
defmodule ThistleTea.Game.Network.Message.SmsgAuthResponse do
@moduledoc false
use ThistleTea.Game.Network.ServerMessage, :SMSG_AUTH_RESPONSE
@result_auth_ok 0x0C
@result_auth_wait_queue 0x1B
defstruct [:result, :billing_time, :billing_flags, :billing_rested, :queue_position]
@impl ServerMessage
def to_binary(%__MODULE__{} = msg) do
<<msg.result::little-size(8)>> <>
case msg.result do
@result_auth_ok ->
<<msg.billing_time::little-size(32), msg.billing_flags::little-size(8),
msg.billing_rested::little-size(32)>>
@result_auth_wait_queue ->
<<msg.queue_position::little-size(32)>>
_ ->
<<>>
end
end
end
wow_messages git submodule at refs/wow_messages/..wowm spec here: refs/wow_messages/wow_message_parser/wowm/*/${SMSG_NAME}.wowm.wowm fields into defstruct fields and an encoder in to_binary/1.to_binary(%__MODULE__{} = msg).まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Implement Thistle Tea CMSG_* client messages following our architecture patterns. Use this when asked to implement a new message or you need to use one that isn't implemented yet.
日本語の概要は準備中です。原文の説明を表示しています。
Launch and drive an isolated World of Warcraft 1.12.1 client against a local Thistle Tea server, including keyboard input, left/right clicks, camera drags, screenshots, real instance entry, log observation, and Tidewave runtime probes. Use for real-client gameplay acceptance, client-sensitive protocol or movement verification, reproducing live bugs, checking visibility and instance isolation, or validating a scripted content chain beyond automated tests.
日本語の概要は準備中です。原文の説明を表示しています。