 |

29.10.2016, 19:14
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сегодня меня угораздило попасть на SRP, и конечно же, через некоторое время я получил кик. Но реконнект не помог - сервер не отвечал. По разбиравшись узнал, что теперь на samp RP можно зайти только предварительно его пропинговав (кликнув по строчке с сервером в samp.exe). Исходя из этого я предполагаю следующее решение (предполагаю, а не предлагаю, потому что не проверял, и проверять не собираюсь).
Перед тем как подключиться к серверу, его нужно пропинговать. Функции пинга есть в RakClientInterface, для соба это g_RakClient->GetInterface()->, для SF это SF->getRakNet()->getRakClient()->. Пинговать можно как текущий сервер, так и любой другой, для этого есть метод PingServer, для пинга сервера к которому вы не подключены (для реконнекта вероятно именно он понадобится), необходимо иметь ip сервера, port сервера, port своего ПК. Есть еще 4й параметр, но его название говорит за себя "onlyReplyOnAcceptingConnections".
И так единственная проблема это открытый порт на вашем ПК. Как его узнать? Да очень просто! Это реализуется методом GetPlayerID(), который возвращает структуру PlayerID, в этой структуре хранится ваш ip адрес (в бинарном вмде) и порт, с которым устанавливалось соединение.
Вот собственно и все. Пингуем сервер, а потом подключаемся, подключиться можно через тот же RakClientInterface, указав порт.
|
|
|

29.10.2016, 19:19
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами:
6935121
Репутация:
233
|
|
не хочу тебя разочаровывать, но придётся. эти функции ракнета к query-системе сампа никакого отношения не имеют. пропинговка в ракнете нужна лишь для поддержания статуса активности соединения, т.к. используется UDP, и чтобы пинговать сервер из клиента в него нужно запиливать эту функциональность самому.
|
|
|

01.11.2016, 07:54
|
|
Познающий
Регистрация: 08.04.2013
Сообщений: 35
С нами:
6891688
Репутация:
58
|
|
https://sampwiki.blast.hk/wiki/Query_Mechanism
На адвансе и даймонде тоже стоит такая же система, на адвансе требует запрос -r, на остальных серверах не проверял
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|