From 20501250aff66d54308196a34e683bbe26bb6262 Mon Sep 17 00:00:00 2001 From: Rory King Date: Sat, 30 Jul 2022 16:02:08 +0100 Subject: [PATCH] [E] Stop crafting session serverside when finishing last step (#27) This fixes an exploit where you can craft a prototype for a limited use schematic, but before it finishes you teleport by some means to a different game server to prevent the schematic from decrementing. --- .../serverGame/src/shared/command/CommandCppFuncs.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/engine/server/library/serverGame/src/shared/command/CommandCppFuncs.cpp b/engine/server/library/serverGame/src/shared/command/CommandCppFuncs.cpp index c0e08287..d0cb7640 100755 --- a/engine/server/library/serverGame/src/shared/command/CommandCppFuncs.cpp +++ b/engine/server/library/serverGame/src/shared/command/CommandCppFuncs.cpp @@ -5763,8 +5763,7 @@ static void commandFuncCreatePrototype(const Command&, const NetworkId& actor, c GameControllerMessageFlags::RELIABLE | GameControllerMessageFlags::DEST_AUTH_CLIENT); - if (!result) - player->stopCrafting(false); + player->stopCrafting(result); } // ---------------------------------------------------------------------- @@ -5795,8 +5794,7 @@ static void commandFuncCreateManfSchematic(const Command&, const NetworkId& acto GameControllerMessageFlags::RELIABLE | GameControllerMessageFlags::DEST_AUTH_CLIENT); - if (!result) - player->stopCrafting(false); + player->stopCrafting(result); } // ----------------------------------------------------------------------