ravahn / FFXIV_ACT_Plugin

FFXIV Plugin for Advanced Combat Tracker
716 stars 59 forks source link

Is IDataSubscription.NetworkSent only works in WinPcap mode? #279

Closed jim-kirisame closed 2 years ago

jim-kirisame commented 2 years ago

Hi, I'm trying to develop a plugin which would read data from user operation.

I have register NetworkSent event but no data receive. Switch the capture mode to WinPcap would solve this problem, but it requires another driver.

So, is NetworkSent only works in winpcap mode? Or I should call some function to enable it on network mode? Or is this a bug?

ravahn commented 2 years ago

It also works if you check the 'disable high performance network filter' checkbox without winpcap, but this will result in some number of received packets getting lost when there is other network traffic - even as low as 50mbps.

I don't have a solution to this problem. it is caused by how Machina opens the raw socket with the remote host ip. The ACT FFXIV Plugin parser codes does not use sent data at all, so I have left this as the default configuration, but it definitely blocks receiving data sent from the game.

jim-kirisame commented 2 years ago

Thank you for your answer!

By the way, I want to know which way is recommand? The winpcap mode or the network mode without high performance network filter?

ravahn commented 2 years ago

Between those two, I recommend WinPcap (npcap on windows 10). the kernel driver is far more efficient than my c# code's non-high-performance filter, and so network packets will not get lost. Lost packets generally do not cause problems with parser accuracy, but you can't be 100% sure.