Un utilitaire simple qui capture les messages Internet sortants et entrants pour vous aider à déboguer et optimiser la bande passante. Prend en charge à la fois la bibliothèque net et la bibliothèque umsg obsolète (veuillez mettre à jour vos modules complémentaires si vous l'utilisez toujours).
Déposez simplement le dossier gLua-net-monitor
dans votre dossier garrysmod/addons
, cela fonctionnera tout seul.
Les modules complémentaires qui remplacent les remplacements de fonction net/umsg/bf_read doivent appeler l'implémentation de base pour que cela fonctionne. La substitution de net.Incoming
peut empêcher cet utilitaire de capturer les messages entrants car il nécessite que l'en-tête du message fonctionne.
Par défaut, le fichier hooks.lua
contient quelques implémentations de base pour le débogage. N'hésitez pas à vous en débarrasser.
-- 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 )