Growtopia proxy that allows modification and viewing of packets, and creation of new ones.
- Windows
- Linux
- Install Visual Studio Required C++20 Visual Studio Installation
- Install VCPKG For c++ Libraries Install cpp libraries using vcpkg and including them in visual studio
- openssl installation command : vcpkg install openssl:x64-windows
sudo apt update
sudo apt-get install build-essential
sudo apt install gcc
sudo apt-get install libssl-dev
chmod +x LinuxBuild.sh
sudo ./LinuxBuild.sh
Example Command:
Commands["test"] = [=](std::string Text){
m_Info->send_log("Detected 'Test' Command");
};
Commands["convertwl"] = [=](std::string Text){
GameUpdatePacket packet{ };
packet.type = PACKET_ITEM_ACTIVATE_REQUEST;
packet.int_data = 242; //world lock id
m_Info->ENetManager->sendPacket(packet, getType::Growtopia);
};
Commands["warp"] = [=](std::string Text) {
m_Info->ENetManager->sendPacket("action|join_request\nname|" + Text+"\ninvitedWorld|0", getType::Growtopia, NET_MESSAGE_GAME_MESSAGE);
m_Info->send_log("Warping to " + Text);
};
Example CallBack for OnCallFunction :
callbackStruct _callbackStruct;
_callbackStruct.target_Case = ("OnDialogRequest");
_callbackStruct.target_String = ("The Growtopia Gazette");
_callbackStruct.target_Function = [=](std::string &Dialog)
{
utils::ReplaceAll(Dialog, "The Growtopia Gazette", "the Proxy Gazette");
// Replaces the string on varlist and sends the packet to the client.
return false;
};
_callbackStruct.infinity = true;
callBack_CALL_FUNCTION[fnv32("replace_Gazette")] = _callbackStruct;
Example CallBack for OnCallFunction :
callbackStruct _callbackStruct;
_callbackStruct.target_Case = ("OnDialogRequest");
_callbackStruct.target_String = ("The Growtopia Gazette");
_callbackStruct.target_Function = [=](std::string Dialog)
{
m_Info->send_log("Blocked Growtopia Gazette");
return true;//block dialog
};
_callbackStruct.infinity = true;
callBack_CALL_FUNCTION[fnv32("block_Gazette")] = _callbackStruct;