Ein einfaches Dienstprogramm, das ausgehende und eingehende Netznachrichten erfasst, um Sie beim Debuggen und Optimieren der Bandbreite zu unterstützen. Unterstützt sowohl die Net-Bibliothek als auch die veraltete Umsg-Bibliothek (bitte aktualisieren Sie Ihre Add-ons, wenn Sie sie noch verwenden).
Legen Sie einfach den gLua-net-monitor
Ordner in Ihrem garrysmod/addons
Ordner ab, es funktioniert von alleine.
Add-ons, die alle net/umsg/bf_read-Funktionsüberschreibungen überschreiben, müssen die Basisimplementierung aufrufen, damit dies funktioniert. Durch das Überschreiben von net.Incoming
kann dieses Dienstprogramm möglicherweise daran gehindert werden, eingehende Nachrichten zu erfassen, da der Nachrichtenheader zum Funktionieren erforderlich ist.
Standardmäßig enthält die Datei hooks.lua
einige grundlegende Implementierungen zum Debuggen. Fühlen Sie sich frei, sie loszuwerden.
-- 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 )