VERGELua API

NetMessage

Network messages sent through the net channel — hook them with callbacks.SendNetMsg.

NetMessage

nm:IsNull():boolean

Whether the message wrapper is null.

nm:GetType():number

Message type constant.

nm:GetName():string

Message name string.

nm:GetGroup():number

Message group constant.

Network messages

Messages that flow through callbacks.Register("SendNetMsg", fn). Outgoing client→server messages are always delivered; incoming server→client (svc_*) messages also appear on local/listen servers.

Outgoing (client → server)

clc_ClientInfoclc_BaselineAckclc_ListenEventsclc_Moveclc_VoiceDataclc_RespondCvarValueclc_FileCRCCheckclc_FileMD5Checkclc_SaveReplayclc_CmdKeyValuesnet_Ticknet_StringCmdnet_SignonStatenet_SetConVar

Incoming (server → client, loopback)

svc_BSPDecalsvc_ClassInfosvc_CmdKeyValuessvc_CreateStringTablesvc_CrosshairAnglesvc_EntityMessagesvc_FixAnglesvc_GameEventsvc_GameEventListsvc_GetCvarValuesvc_Menusvc_PacketEntitiessvc_Prefetchsvc_Printsvc_SendTablesvc_ServerInfosvc_SetPausesvc_SetPauseTimedsvc_SetViewsvc_Soundssvc_TempEntitiessvc_UpdateStringTablesvc_UserMessagesvc_VoiceDatasvc_VoiceInit

Examples

Watch outgoing messages

SendNetMsg fires for every packet, so filter to the interesting ones.

local interesting = {
    clc_VoiceData = true,
    clc_CmdKeyValues = true,
    net_StringCmd = true,
}

callbacks.Register("SendNetMsg", function(msg)
    local name = msg:GetName()
    if interesting[name] then
        print(string.format("sent %s (type %d, group %d)", name, msg:GetType(), msg:GetGroup()))
    end
end)