By crashing the server does that mean the packet causes the memory to overflow? Or is it something more deeper like a loop hole in the code? From my experience in programming loops and memory management is every programmer's worst nightmare, right up there with horribly organised coding or semantic errors... or all of them at once... oh god. Sorry I can't help since my programming is very limited in python and c# (I also know pascal not that anyone gives a crap about it anymore). I also have no clue on things involving telecommunications or internet protocols for that matter. I really hope your trial and error gets the work done. Or maybe you've set up a separate program to handle the filtering, but kudos anyway.