glua net monitor
1.0.0
一个简单的实用程序,可捕获传出和传入的网络消息,以帮助您调试和优化带宽。支持 net 库和已弃用的 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 )