mirror of
https://github.com/XLabsProject/iw6x-client.git
synced 2023-08-02 15:02:12 +02:00
fix(patches): move this
This commit is contained in:
parent
ad17d30992
commit
973720eda9
@ -6,7 +6,6 @@
|
||||
#include "command.hpp"
|
||||
#include "console.hpp"
|
||||
#include "dvars.hpp"
|
||||
#include "network.hpp"
|
||||
#include "filesystem.hpp"
|
||||
#include "scheduler.hpp"
|
||||
|
||||
@ -251,20 +250,6 @@ namespace patches
|
||||
cmd_lui_notify_server_hook.invoke<void>(ent);
|
||||
}
|
||||
|
||||
void sv_execute_client_message_stub(game::mp::client_t* client, game::msg_t* msg)
|
||||
{
|
||||
if (client->reliableAcknowledge < 0)
|
||||
{
|
||||
client->reliableAcknowledge = client->reliableSequence;
|
||||
console::info("Negative reliableAcknowledge from %s - cl->reliableSequence is %i, reliableAcknowledge is %i\n",
|
||||
client->name, client->reliableSequence, client->reliableAcknowledge);
|
||||
network::send(client->header.netchan.remoteAddress, "error", "EXE_LOSTRELIABLECOMMANDS", '\n');
|
||||
return;
|
||||
}
|
||||
|
||||
reinterpret_cast<void(*)(game::mp::client_t*, game::msg_t*)>(0x140472500)(client, msg);
|
||||
}
|
||||
|
||||
void update_last_seen_players_stub(utils::hook::assembler& a)
|
||||
{
|
||||
const auto safe_continue = a.newLabel();
|
||||
@ -405,10 +390,6 @@ namespace patches
|
||||
// Prevent clients from ending the game as non host by sending 'end_game' lui notification
|
||||
cmd_lui_notify_server_hook.create(0x1403926A0, cmd_lui_notify_server_stub);
|
||||
|
||||
// Checks that reliableAcknowledge isn't negative
|
||||
// It is possible to make the server hang if left unchecked
|
||||
utils::hook::call(0x14047A29A, sv_execute_client_message_stub);
|
||||
|
||||
// Remove cheat protection from r_umbraExclusive
|
||||
dvars::override::register_bool("r_umbraExclusive", false, game::DVAR_FLAG_NONE);
|
||||
|
||||
|
@ -1,8 +1,11 @@
|
||||
#include <std_include.hpp>
|
||||
#include "loader/component_loader.hpp"
|
||||
#include <utils/hook.hpp>
|
||||
#include "game/game.hpp"
|
||||
|
||||
#include "console.hpp"
|
||||
|
||||
#include <utils/hook.hpp>
|
||||
|
||||
namespace security
|
||||
{
|
||||
namespace
|
||||
@ -14,6 +17,19 @@ namespace security
|
||||
reinterpret_cast<void(*)(int, int, int)>(0x1405834B0)(localclient, index1, index2);
|
||||
}
|
||||
}
|
||||
|
||||
void sv_execute_client_message_stub(game::mp::client_t* client, game::msg_t* msg)
|
||||
{
|
||||
if ((client->reliableSequence - client->reliableAcknowledge) < 0)
|
||||
{
|
||||
client->reliableAcknowledge = client->reliableSequence;
|
||||
console::info("Negative reliableAcknowledge from %s - cl->reliableSequence is %i, reliableAcknowledge is %i\n",
|
||||
client->name, client->reliableSequence, client->reliableAcknowledge);
|
||||
return;
|
||||
}
|
||||
|
||||
utils::hook::invoke<void>(0x140472500, client, msg);
|
||||
}
|
||||
}
|
||||
|
||||
class component final : public component_interface
|
||||
@ -25,6 +41,9 @@ namespace security
|
||||
|
||||
// Patch vulnerability in PlayerCards_SetCachedPlayerData
|
||||
utils::hook::call(0x140287C5C, set_cached_playerdata_stub);
|
||||
|
||||
// It is possible to make the server hang if left unchecked
|
||||
utils::hook::call(0x14047A29A, sv_execute_client_message_stub);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user