glua net monitor
1.0.0
帯域幅のデバッグと最適化に役立つ、送受信ネット メッセージをキャプチャするシンプルなユーティリティ。ネット ライブラリと非推奨の umsg ライブラリの両方をサポートします (まだ使用している場合はアドオンを更新してください)。
gLua-net-monitor
フォルダーをgarrysmod/addons
フォルダーにドロップするだけで、自動的に動作します。
net/umsg/bf_read 関数のオーバーライドをオーバーライドするアドオンは、これを機能させるために基本実装を呼び出す必要があります。 net.Incoming
をオーバーライドすると、メッセージ ヘッダーが機能する必要があるため、このユーティリティによる受信メッセージのキャプチャが停止される可能性があります。
デフォルトでは、 hooks.lua
ファイルにはデバッグ用の基本的な実装がいくつか含まれています。ご自由に取り除いてください。
-- Called when a net message is started.
-- @ param msgName: name of the message that was started.
-- @ param funcInfo: info about the function that started the message.
hook . Add ( " OnNetMessageStarted " , " NetStarted " , function ( msgName , funcInfo ) end )
-- Called when a net message is captured, for both outgoing and incoming messages.
-- Keep your code fast in here! This is called for every net/umsg message.
-- @ param msg: The captured message, see NetMonitor.CapturedMessage
-- @ param funcInfo: For outgoing messages, the function who started the message.
hook . Add ( " OnNetMessageCaptured " , " NetCaptured " , function ( msg , funcInfo ) end )
-- Called when a net message is received but no receiving function is hooked.
-- This is likely an oversight of a developer, albeit a wasteful one.
-- @ param msg: The captured message, see NetMonitor.CapturedMessage
hook . Add ( " OnNetMessageIgnored " , " NetIgnored " , function ( msg ) end )
-- Called when a received net message does not read all the received data.
-- Not called for the usermessage lib messages.
-- Called after OnNetMessageCaptured & OnNetMessageIgnored
-- This means you or an addon on your server is wasting bandwidth!
-- @ param msg: The captured message, see NetMonitor.CapturedMessage
-- @note: The captured message data will contain a binary string dump of the remaining data.
hook . Add ( " OnNetMessageDumpedData " , " NetDumped " , function ( msg ) end )
-- Called when a net message is discarded due to starting another without finishing the current one.
-- @ param msg: The captured message which got discarded, likely missing some information.
-- @ param funcInfo: The info about the function which called the dicarded message's net.Start()
hook . Add ( " OnNetMessageDiscarded " , " NetDiscarded " , function ( msg , funcInfo ) end )
-- Called clientside when the server's registry is received.
hook . Add ( " OnNetRegistryUpdated " , " NetRegistryUpdate " , function () end )