it could be that the packages are encrypted in different ways which I think is most likely happening to you
those who understand usually change these encryptions to avoid malicious people ending up using the matchserver ip which in this case is public through the released port and end up hindering the matchserver to communicate with the matchagent
Code:
char MPacketCrypter::_Enc(char s, char key)
{
WORD w;
BYTE b, bh;
b = s ^ key;
w = b << m_nSHL;
bh = (w&0xFF00)>>8;
b = w&0xFF;
return( BYTE( b | bh ) ^ 0xF0 ); //0xF0 default packet encrypt
}
Code:
char MPacketCrypter::_Dec(char s, char key)
{
BYTE b, bh, d;
b = s^0xF0; //0xF0 default packet decrypt
bh = b&m_ShlMask;
d = (bh<<(8-m_nSHL))|(b>>m_nSHL);
return ( d ^ key );
}
but maybe this is not the solution to your problem