portal2
portal2 copied to clipboard
Executing commands without the `FCVAR_SERVER_CAN_EXECUTE` flag in multiplayer through `point_clientcommand` or `point_broadcastclientcommand` entities are prevented from being ran by the game.
This wasn't an issue before, but it seemingly now is.
Recent updates for Portal 2 caused commands without the server_can_execute flag (such as upgrade_potatogun) executed by point_clientcommand or point_broadcastclientcommand entities return FCVAR_SERVER_CAN_EXECUTE prevented server running command: upgrade_potatogun in the console. The command only goes through if said command is ran through a point_servercommand entity or ran manually by the client's console.
- Open Portal 2 and launch any coop map in splitscreen (
ss_map mp_coop_lobby_3) - Create a point_clientcommand or point_broadcastclientcommand entity by running
ent_create point_clientcommandorent_create point_broadcastclientcommandin the console. Make sure you have typedsv_cheats 1before doing this - Attempt to run a command without
server_can_executeflag through the clientcommand/broadcastclientcommand entity by runningent_fire point_clientcommand command "<command without server_can_execute flag>"orent_fire point_broadcastclientcommand command "<command without server_can_execute flag>"in the console (for example, upgrade_potatogun). The console should now return theFCVAR_SERVER_CAN_EXECUTE prevented server running command: <command without server_can_execute flag>. The example command is upgrade_potatogun, which does not have theserver_can_executeflag, should returnFCVAR_SERVER_CAN_EXECUTE prevented server running command: upgrade_potatogun.
I don't know if this change was meant to combat RCE exploits and crashes, or if it's a bug with the game. I have tested this on Windows and Steam Deck, both platforms have this issue. Linux and Mac may also be affected.
Image showing the problem: