![]() |
Не помню откуда у меня этот исходник, но он рабочий. Когда-то давно мне это нужно было, и либо мне его чат гпт написал, либо что-то еще, но проект был заброшен.
Если кому-то нужно будет на плюсах написать свой лаунчер, то для пропинговки сервера ловите код: ВОЗМОЖНО, что уже есть готовый код на плюсах, но когда-то я его вообще нигде найти не мог C++: [CODE] #include #include #include #include #include #include #include #include #include #include #pragma comment(lib, "Ws2_32.lib") void queryServer ( const std :: string & ip , unsigned short port ) { WSADATA wsaData ; int result = WSAStartup ( MAKEWORD ( 2 , 2 ) , & wsaData ) ; if ( result != 0 ) { std :: cerr query = { 'S' , 'A' , 'M' , 'P' } ; std :: stringstream ss ( ip ) ; std :: string segment ; while ( std :: getline ( ss , segment , '.' ) ) { query . push_back ( static_cast ( std :: stoi ( segment ) ) ) ; } query . push_back ( static_cast ( port & 0xFF ) ) ; query . push_back ( static_cast ( ( port >> 8 ) & 0xFF ) ) ; query . push_back ( 'i' ) ; int sendResult = sendto ( sock , query . data ( ) , query . size ( ) , 0 , ( sockaddr * ) & serverAddr , sizeof ( serverAddr ) ) ; if ( sendResult == SOCKET_ERROR ) { std :: cerr ( static_cast ( buffer [ i ] ) ) ( buffer + offset ) ) ; offset += 2 ; int maxPlayers = * ( reinterpret_cast ( buffer + offset ) ) ; offset += 2 ; int hostnameLen = * ( reinterpret_cast ( buffer + offset ) ) ; offset += 4 ; if ( recvBytes ( buffer + offset ) ) ; offset += 4 ; if ( recvBytes ( buffer + offset ) ) ; offset += 4 ; if ( recvBytes |
Исходник - sa:mp query mechanism
Описание: Получает инфу о сервере сампа. это мой вариант реализации. предлагайте свои идеи по улучшению и ругайте мой код!! GitHub: https://github.com/Receiver1/re_samp_query_mechanism Использование: auto sqm = c_sqm::singleton(); sqm->initialize("176.32.37.93", 7777); auto srv_info =... www.blast.hk |
Цитата:
Как одноразово отрабатывал прекрасно, переносил в основной проект на постоянную пропинговку - не получалось :( (я не отрицаю возможность своего рукопопства) |
| Время: 20:24 |