Последнее время постоянно приходится подбирать id и реконектиться к серверу в связи с лагами. Более ситуацию усугубляет немного дырявая в плане ping`a - winows 7.

Т.к. мультимедиа программам требуется больше ресурсов, сетевой механизм windows 7 ограничивает обработку не мультимедийного трафика до 10 пакетов в м-сек.
Этот механизм теоретически используется, только если вы используете мультимедиа программы, требующие высокий приоритет, однако, потенциально это может привести к снижению работоспособности сети во время использования ресурсоёмких мультимедиа приложений.

Не принимайте близко к сердцу, но, для школьников напомню что ping - это время, затраченное на передачу пакета информации в компьютерных сетях от клиента к серверу и обратно от сервера к клиенту, либо его называют лагом, следовательно отсюда и говорят "лагает".

Обратите внимание на ping и на id, очень не приятная картина, т.к. всё это продолжается минуты 3, после чего канал захлёбывается пакетами и всё виснет.

Для начала нужно запомнить, что ПЕРЕД входом в игру и вообще запуском клиента samp требуется выключить скайп, icq, всякие менеджеры закачек, радио, остановить обновление windows и перекрыть кислород остальному софту. Если это сделать в тот момент, когда игра начнёт лагать, то это наврятли поможет, т.к. в канале уже есть пакеты, которые не нужны ни клиенту (вам), ни серверу, говоря нубо-языком: "В вашем интернете пробка".

После того как мы проделали эту процедуру, перейдём к главной части.
Не советую читать далее если вы нубец, совсем уж школо-школьник, или просто руки растут из того самого места.

Я опишу несколько способов, от себя советую второй, т.к. это тоже самое что выбирать когда тебе дают на выбор бесплатно CS 1.6 (пиратка) и СSS (Steam(лицензия), если вы задумались над этим то тоже не советую читать далее.
Если один способ не помог, то пробуем остальные.

Способ первый:
Переходим по "Пуск > Выполнить..." и вбиваем туда "regedit" (без кавычек).
Ищем в редакторе реестра "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile"
Переходим по этому пути и узреваем там "Network performance throttling", тыкаем по нему два раза ЛКМ и видим значение "10", оно должно быть таким по умолчанию, исправляем его на шестнадцатеричное значение ffffffff и получаем 0xffffffff.
Если вы нашли "Network performance throttling" и сделали всё как я описал, то перезапускаем ПК, если вы снубили или не нашли "Network performance throttling", то, читаем далее. Если что-то стало работать не так, то удалить можно выполнив действия в обратной последовательности.
Это практически тоже самое что я описал, только в упрощённом варианте.
Создаём где угодно текстовый документ, и переименовываем его например в "Ping_Fix.reg" подтверждая смену формата, если у вас получилось "Ping_Fix.reg.txd" то ничего работать не будет. Если вы не видите формат то в свойствах папок надо включить отображение форматов.
Далее тыкаем ПКМ на наш "Ping_Fix.reg" и выбираем пункт "Изменить".
В открывшееся окно вбиваем:

Цитата:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile]
"NetworkThrottlingIndex"=dword:ffffffff

Закрываем это дело подтверждая сохранение и запускаем "Ping_Fix.reg" двойным щелчком ЛКМ и разрешаем ему делать всё что его душе угодно. Перезапускам ПК.
Если у вас пинг по прежнему скачет или большой то читаем далее.

Способ второй:
Этим способом можно убрать таймер задержки в windows на обработку пакетов, сделанный якобы с целью дать системе обработать пришедший сегмент данных и только потом ответить получен ли он, а следовательно подтверждение о полученном пакете высылается сразу же для каждого сегмента, который был, собственно, принят. Это приводит к значительному сокращению задержки на пересылку и обмен информацией между компьютером и сервером.
Создаём где угодно текстовый документ, и переименовываем его например опять-таки в "Ping_Fix.reg" подтверждая смену формата, если у вас получилось "Ping_Fix.reg.txd" то ничего работать не будет. Если вы не видите формат то в свойствах папок надо включить отображение форматов.
Далее тыкаем ПКМ на наш "Ping_Fix.reg" и выбираем пункт "Изменить".
В открывшееся окно вбиваем этот огромный скрипт:
Цитата:
Leatrix Latency Fix 1.23 (Install Script)
' To use, simply run this script and restart your computer.
' To run from within batch files, use 'cscript Install.vbs"

logo = "Leatrix Latency Fix"
Leatrix_Version = "1.23"

Const HKEY_LOCAL_MACHINE = &H80000002

Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv"
Set oZap = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}!\\.\root\cimv2"

Set colOperatingSystems = oZap.ExecQuery("Select * from Win32_OperatingSystem"

Set shell = CreateObject("Shell.Application"
set wsnet = WScript.CreateObject("WScript.Network"
computername = ucase(wsnet.computername)

strKeyPath = "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys

if Wscript.Arguments.Count => 1 then
if (WScript.Arguments.Item(0) = "uac" then Leatrix_Uac = 1 else Leatrix_Uac = 0
end if

If Instr(1, WScript.FullName, "cscript", vbTextCompare) > 1 Then
Leatrix_Script = 1
End If

' Show logo for script users
if Leatrix_Script = 1 and Leatrix_Uac = 0 then
wscript.echo "Leatrix Latency Fix " & Leatrix_Version & " Batch Mode."
wscript.echo ""
end if

' Latency fix has already been applied
if CheckFix = true then
msg = "Leatrix Latency Fix is already installed on this computer."
if Leatrix_Script = 0 then
msg = msgbox (msg,48,logo)
else
wscript.echo msg
end if
wscript.quit
end if

' Show title for first run
If Leatrix_Uac = 0 then
if Leatrix_Script = 0 then
msg = logo & " " & Leatrix_Version & chr(13) & chr(13) & "This script will reduce your online gaming latency significantly by increasing the frequency of TCP acknowledgements sent to the game server. It is designed for Windows XP (SP2 or higher), Windows Vista (SP1 or higher) and Windows 7 only." _
& chr(13) & chr(13) & "If you are not logged into your computer with an account which has Administrator privileges, or you are using Windows Vista or Windows 7 with User Account Control enabled, you will be prompted to enter the username and password of an account which has Administrator privileges." _
& chr(13) & chr(13) & "Leatrix Latency Fix is hosted at wwwleatrix.com." _
& chr(13) & chr(13) & "Click Ok to begin."
else
msg = "Installing..."
end if

if Leatrix_Script = 0 then
msg = msgbox (msg,65,logo)

' Does user want to quit
if msg = 2 then
wscript.quit
end if
else
wscript.echo msg
end if
end if

' Attempt to apply latency fix
For Each subkey In arrSubKeys
err = oReg.SetDwordValue (HKEY_LOCAL_MACHINE,strKeyPath & subkey,"TcpAckFrequency","1"
Next

' If fix completed successfully
if CheckFix = true then
Success
wscript.quit
end if

' If fix did not complete successfully, run it again with UAC prompt
if CheckFix = false and Leatrix_Uac = 0 then
if Leatrix_Script = 0 then
msg = "Either your Windows account does not have Administrator privileges, or you are using Windows Vista or Windows 7 with User Account Control enabled."
msg = msg + chr(13) + chr(13) & "User Account Control forces programs to run under regular user privileges, even if you are logged into your computer with an account which has Administrator privileges. It's enabled by default on computers running Windows Vista and Windows 7."
msg = msg + chr(13) + chr(13) & "To get around this, you will be prompted to enter your Windows logon details. In the next window, check the radio button for 'The following user' and enter the username and password of a Windows account which has Administrator privileges. The username must be in the format '" & computername & "\username'."
msg = msg + chr(13) + chr(13) & "Click Ok to continue"
msg = msgbox (msg,49,logo)

' Does user want to quit
if msg = 2 then
wscript.quit
end if

' Rerun script with UAC prompt
shell.ShellExecute "wscript.exe", Chr(34) & _
WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
else
wscript.echo "Logon failure. You must be logged in with Administrator privileges in order to use batch mode."
wscript.quit
end if
end if

' Check if script completed successfully with UAC prompt
if Leatrix_Uac = 1 then
if CheckFix = false then
msg = "There was an error (" & err.number & "." & chr(13) & chr(13) & "Ensure that you entered a valid username and password. The username must have Administrator privileges on this computer." & chr(13) & chr(13) & "Click Ok to close the script."
if Leatrix_Script = 0 then
msg = msgbox (msg,48,logo)
end if
else
Success
end if
end if

wscript.quit

Function CheckFix()
' Checks to see if any of the settings have been applied
StopCheck = 0
For Each subkey In arrSubKeys
oReg.GetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath & subkey,"TcpAckFrequency",CheckFix
if CheckFix = 1 then
else StopCheck = 1
end if
Next
if StopCheck = 1 then CheckFix = false else CheckFix = true
end function

Function Success()
if Leatrix_Script = 0 then
msg = "Leatrix Latency Fix has been installed successfully."
msg = msg & chr(13) & "You need to restart your computer for the changes to take effect." & chr(13)
msg = msg & chr(13) & "Do you want to restart your computer now?"
msg = msgbox (msg,68,logo)
if msg = 6 then
For Each objOperatingSystem in colOperatingSystems
objOperatingSystem.Reboot()
Next
end if
else
wscript.echo "Leatrix Latency Fix has been installed successfully."
wscript.echo "You need to restart your computer for the changes to take effect."
end if
end function

Закрываем подтверждая сохранение и запускаем разрешая ему всё под ряд. Перезапускаем ПК и смотрим результат. Обладатели XP и Vista тоже могут использовать этот способ в целях профилактики, но только на XP выше SP2, для Vista нужен первый пак или выше. Если вам нужно удалить этот фикс из реестра, то пишите в личку, я объясню как.

Третий способ:
Заходим в редактор реестра (описал в первом способе) и идём по пути "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\{Ваш IP или тут могут быть разные символы}"
Название последней папки указано в адресе пути ("{Ваш IP или тут могут быть разные символы}" в переносном значении. Так как данная папка на разных компьютерах будет называться по разному. Может быть например папка с названием: "{8FA45118-3204-4252-A6A8-011F27C6E6D9}". Вам же следует выбрать ту папку, которая будет отвечать за сетевой адаптер соединения интернет. Для того, чтобы определить и выбрать необходимую папку орентируемся по ip, если он содержится в папке и имеет необходимый ip - значит это та папка которая нам и нужна.
Далее либо в ту папку которую мы нашли, либо во все папки лежащие "Interfaces" нужно изменить или добавить в случае отсутствия следующее:
Параметр DWORD "TcpAckFrequency" с шестнадцатеричной (HEX) системой исчисления с значением "1"
и параметр DWORD "TCPNoDelay" с шестнадцатеричной (HEX) системой исчисления с значением "1" .
То есть, в параметрах "TcpAckFrequency" и "TCPNoDelay" необходимо заменить исходные шестнадцатеричные hex-переменные на значения "1". В процессе создания параметров внимательно отнеситесь к созданию названия параметров и не допускайте никаких ошибок, соблюдайте размеры букв. После перезагружаем ПК.

Можно конечно ещё добавлять сервера очереди сообщений MSMQ, настраивать их? и заниматься прочей лабудой, но все эти способы позволили мне сбросить пинг в samp`e с ~900 до 60-120 абсолютно на всех серверах, и забыть про подбор id вообще.

Если вам ничего не помогло, то советую позвонить провайдеру, если вы стеснительный школьник то обратитесь на форум своего провайдера с вопросом, и при обращении читайте что пишете, не материтесь, не кидайте глупые угрозы и следите за орфографией.