Как подключаться к серверу с помощью RCON?

160
01 февраля 2020, 13:30

Ищу подходящую библиотеку для подключения к серверу, но все они ужасны или не работают (Запрос отправляется, а ответа нету). Подскажите подходящую для Java?

Answer 1

Я писал бота для игры Squad и тоже столкнулся с такой же проблемой.

Проанализировав отправку и прием пакетов, я заметил, что сервер передавал мне несколько пакетов (хотя RCON отправляет только один обычно) и моя программа, использующая библиотеку rkon-core улавливала только первый пакет (из 3), а другие игнорировала. Я уверен, что у Вас такая же проблема

Поискав в интернете разные библиотеки, я наткнулся на steam-condenser (Подходит для PHP, Java и Ruby). Она не только подключается по RCON к серверу, но и делает steam query запросы (чтобы получать данные с сервера, не имея доступа к нему).

Для Java вот ссылка на эту библиотеку:
https://github.com/koraktor/steam-condenser-java

Пример подлючения по RCON:

InetAddress serverIp = InetAddress.getByName("127.0.0.1");
SourceServer server = new SourceServer(serverIp);
try {
  server.rconAuth("passw0rd");
  System.out.println(server.rconExec("status"));
}
catch(RCONNoAuthException e) {
  System.err.println("Could not authenticate with the game server.");
}

Пример Querying game servers:

InetAddress serverIp = InetAddress.getByName("192.168.0.114");
GoldSrcServer server = new GoldSrcServer(serverIp, 27016);
server.initialize();
System.out.println(server.getServerInfo());
READ ALSO
Оптимизация обновления RecyclerView

Оптимизация обновления RecyclerView

Все мы знаем хрестоматийный пример работы с RecyclerView:

165
2048 Game //Java

2048 Game //Java

Нужно поставить двойку в случайний пустой JLabel по нажатию на кнопку "Start"

159
Локализация Java-класса в Android

Локализация Java-класса в Android

Знаю как локализовать ресурсы приложения (папку res)

161