Skip to forum content

You are not logged in. Please login or register.


forums.pvpgn.pro → [RU] Research & Development → Подделка версии игры

Pages 1

You must login or register to post a reply

RSS topic feed

Posts: 8

1

Topic: Подделка версии игры

Здравствуйте.
Можно ли подделывать у игр версию варика так, чтобы люди с разных патчах на сервере видели одни и те же игры?
В какую сторону копать?

2

Re: Подделка версии игры

Разве по-умолчанию это не так работает?
И для чего это нужно, если версии несовместимы между собой, и войти в такую игру все-равно не получится?

Do not ask for support in PM.

3

Re: Подделка версии игры

mega.animeshnik wrote:

Здравствуйте.
Можно ли подделывать у игр версию варика так, чтобы люди с разных патчах на сервере видели одни и те же игры?
В какую сторону копать?

Вы имеете ввиду сделать так чтобы только с вашего клиента (ну точнее лаунчера или что там заходили) а сторонние боты и т.д не могли так имели ввиду?
Можно копать надо в updatecheck.conf

4

Re: Подделка версии игры

HarpyWar wrote:

Разве по-умолчанию это не так работает?
И для чего это нужно, если версии несовместимы между собой, и войти в такую игру все-равно не получится?

Боты ведь без проблем могут хостить сразу на нескольких патчей, допустим на айкапе с 1.26, на рубатле с 1.27 и на евробатле с 1.28. Не совместим полностью 1.29, но на нем только оф сервера да и его поддержки у pvpgn отсутствует.

Проблема в том, что даже если на сервер могут зайти игроки с разных патчей, варик при листинге игр фильтрует их по версии клиента. Например: есть 2 игрока на 1.26 и 1 на 1.27, один из игроков с 1.26 создал игру и второй с этим же патчем видит его игру и может зайти, но игрок с 1.27 просто не видит эту игру, и даже по названию не войти, её для него нет.

Поэтому интересует вопрос, можно ли для каждого игрока менять версию варика в инфе о игре, чтобы если игрок с 1.26 захостил, то игрок с 1.27 тоже мог бы зайти, а для этого нужно чтобы сервер сообщил не верную информацию и версии игры.
Понятно что никто не даст рабочий вариант, но очень надеюсь что скажите где копаться, потому что я пока слабо представляю где в каком файле искать.

Gh0ster wrote:

Вы имеете ввиду сделать так чтобы только с вашего клиента (ну точнее лаунчера или что там заходили) а сторонние боты и т.д не могли так имели ввиду?

не, я считаю что для этого лаунчер и не нужен, а все действия можно произвести только в исходниках pvpgn, и наоборот я хочу привлечь как можно больше людей, но т.к. народ ленивый, а в связи с тем что сервера имеют разные патчи, еще и раздроблен, хотелось бы объединить.

5

Re: Подделка версии игры

Можно сделать через Lua, но для этого нужно добавить замену version игр в lua_handle_game_list:

                        if (columns[j] == "id")
                            game->id = atoi(data[i+j-1].c_str());
                        else if (columns[j] == "name")
                            game->name = xstrdup(data[i + j - 1].c_str());
                        else if (columns[j] == "version")
                            game->version = verstr_to_vernum(data[i + j - 1].c_str());

И заменить содержимое функции handle_game_list в lua/handle_game.lua, по аналогии с существующим там примером чтобы заменять версию на определенную:

function handle_game_list(account)
    local glist = server_get_games()
    for i,game,version in pairs(glist) do
        glist[i].version = "1.2.26"
    end
    
    return {"id", "name", "version"}, glist
end

Видимо, если клиент игры Warcraft 3 видит, что игра создана другой версии, то не отображает её в списке. Потому что в коде pvpgn нет таких условий.
Код не тестировал, без корректировки может не заработать.

Do not ask for support in PM.

6

Re: Подделка версии игры

о, почти то что нужно, только подменяемая версия должна быть динамическая, для каждого игрока своя, в зависимости от его версии варика.
Спасибо за наводку и даже набросок кода, дальше уже поди сам разберусь.

7

Re: Подделка версии игры

mega.animeshnik wrote:

о, почти то что нужно, только подменяемая версия должна быть динамическая, для каждого игрока своя, в зависимости от его версии варика.
Спасибо за наводку и даже набросок кода, дальше уже поди сам разберусь.

Вечером реализую эту функцию но только при входе сервер будет записывать в базу данных версию клиента и при входе проверять
Если вам нужно то что вы ищете то выложу вечером но не точно.

8

Re: Подделка версии игры

в общем не смог придумать ничего умнее, кроме как сломать проверку версии, теперь каждый клиент заходит с версией 0 и все игры видно.

conn_set_gameversion(c, bn_int_get(packet->u.client_authreq1.gameversion)

заменил на

conn_set_gameversion(c, 0)

проверка версий конечно сломалась, теперь входить можно только если allow_unknown_version = true но желаемый эффект достигнут.
Не знаю чем это может грозить, народа все равно не будет, уже не то время для поднятия сервера, просто было интересно.

Posts: 8

Pages 1

You must login or register to post a reply

Who now at forum

Currently view post: 0 guests, 0 registered users

forums.pvpgn.pro → [RU] Research & Development → Подделка версии игры