Theres a variable "sv_packetrate". Default is 30. Doesn't it create lags on the players, if I put it down? Which new value would you recomment?
I know a guy fixed it in C++, he made something with an offset from CryNetwork.dll. Maybe he patched a function.
Some guys block the server port(default 46000) and have no vulnerability. But some players cannot connect...
Wouldn't it be possible in asm to change those few instructions which create lags to "nop"(no operation) to fix the bug?
I already have a bugfix, in the past hackers spoofed my server with udpsz and the server crashed immediately. Now it crashes after a few minutes up to a few hours. It's better but it's not fully fixed.
This bugfix looks like:
Code:
A little fix:
If you change in "CryNetwork(CrysisWars1.5).dll.asm" the code:
loc_3953FA4E:            ; CODE XREF: sub_3953F789+1CFj
      push   [ebp+arg_4]
      lea   eax, [ebp+arg_0]
      push   eax
      lea   esi, [ebx+90h]
      push   esi
      call   sub_3953A45B
      mov   edi, [ebp+arg_0]
      cmp   edi, esi
      jz   short loc_3953FABA
      push   [ebp+arg_4]
      mov   eax, dword_395F27A8
      mov   eax, [eax+0A0h]
      lea   ecx, [ebp+var_A4]
      push   ecx
      push   eax
      call   sub_395A37BD
      push   dword ptr [eax+8] ; char
      push   offset aSDisconnectedP ; "%s disconnected pre-maturely"
      call   sub_3959D9FF
      pop   ecx
      pop   ecx
      push   [ebp+var_9C]
      lea   eax, [ebp+var_A4]
      call   sub_39510C19
      push   dword ptr [ebp+var_4] ;   char
      push   offset aS_5   ; "%s"
      call   sub_3959D9FF
      pop   ecx
      mov   eax, esp
      mov   [eax], edi
      call   sub_3953986D
      
to:
loc_3953FA4E:            ; CODE XREF: sub_3953F789+1CFj
      push   [ebp+arg_4]
      lea   eax, [ebp+arg_0]
      push   eax
      lea   esi, [ebx+90h]
      push   esi
      call   sub_3953A45B
      mov   edi, [ebp+arg_0]
      cmp   edi, esi
      jz   short loc_3953FABA
      push   [ebp+arg_4]
      mov   eax, dword_395F27A8
      mov   eax, [eax+0A0h]
      lea   ecx, [ebp+var_A4]
      push   ecx
      push   eax
      call   sub_395A37BD
      push   dword ptr [eax+8] ; char
      push   offset aSDisconnectedP ; "%s disconnected pre-maturely"
      call   sub_3959D9FF
      pop   ecx
      pop   ecx
      push   [ebp+var_9C]
      lea   eax, [ebp+var_A4]
      call   sub_39510C19
      push   dword ptr [ebp+var_4]
      push   offset aS_5   ; "%s"
      nop
      nop
      nop
      nop
      nop
      pop   ecx
      mov   eax, esp
      mov   [eax], edi
      call   sub_3953986D
      
than, the server won't crash at the first time with the log:
"<19:50:01> [Warning] $6[net ] 89-76-77-158.dynamic.chello.pl:61148 disconnected pre-maturely"
But the server will freeze and crash still, because there will be thousand messages like:
"<06:18:58> [Warning] $6[net ] Removing inactive pre-mature connection from 187-86-57-10.opcaonet.com.br:60430"
crysisformat:
Possible fix: A guy gave me a modified CryNetwork.dll, I compared
it with the original one. The only difference were a few changes 
of log messages. Maybe the format hack doesn't work that way(missing regular expressions in modified version)..
original 'WSARecvFrom failed: %d' was changed to 'Phys sync failed!     '
original 'CompleteEmptySuccess: pReq->bytesReceived==%d' to 'Phys way out of sync (0.2 seconds, resetting)'
original offset aCompleteemptys to offset aPhysWayOutOf_0
original offset aWsarecvfromFai to offset aPhysSyncFailed
original offset aRemovingInacti to offset aPhysWayOutOfSy
Maybe it's a bugfix for the crysis format hack.
Your crysislog hack is another issue I can't fix. Do you think, is there a way to fix it?
And of course the fakeplayers hack, is there a way to fix it, too?
By the way, what exactly do you mean with
"anyway in case someone has problems with crysisfs on the 64bit version of the CrysisWars server recently I suggested the following work-around:
Code:
if you open Bin64\CrySystem.dll (I guess here I have version 1.5) with a hex editor and go at offset 0x0003C070 you will find the byte 44, replace it with C3 and the server should no longer crash but some messages will be no longer visibles."? So hacks aren't possible in 64bit if I change the byte 44 to C3 at offset 0x0003C070 ? And what's with the 32bit dll?
Sorry for all the questions :)