CfgRemoteExec – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
(BIS_fnc_debugConsoleExec)
Line 37: Line 37:
<dt class="note">[[User:AgentRevolution|AgentRev]]</dt>
<dt class="note">[[User:AgentRevolution|AgentRev]]</dt>
<dd class="note">
<dd class="note">
As [[BIS_fnc_MP]] now uses remoteExec, there are some functions spontaneously called by the game core that require whitelisting if "Functions" is set to "mode = 1;" in order to work:
<ul>
<li>As BIS_fnc_MP now uses remoteExec, there are some functions spontaneously called by the game core that require whitelisting in order to work if <tt>class Functions</tt> is set to <tt>mode = 1;</tt>
<code>class BIS_fnc_effectKilledAirDestruction {};
<code>class BIS_fnc_effectKilledAirDestruction {};
class BIS_fnc_effectKilledSecondaries {};
class BIS_fnc_effectKilledSecondaries {};
class BIS_fnc_objectVar {};
class BIS_fnc_objectVar {};
</code>
</code>
Additionally, for [[Event_Scripts|initPlayerServer.sqf]] to work properly, [[BIS_fnc_execVM]] would also need to be whitelisted, but I don't personally recommend it, as it opens up vulnerabilities in competitive environments.
<li>For [[Event_Scripts|initPlayerServer.sqf]] to work, [[BIS_fnc_execVM]] would need to be whitelisted, but that should be avoided at all costs, as it allows hackers to bypass the whitelist.
<li>For the debug console to be able to execute anything (even locally), [[BIS_fnc_debugConsoleExec]] must be whitelisted. This function only works when its [[remoteExecutedOwner]] is [[admin]], so it is safe to whitelist for everyone.
</ul>
</dd>
</dd>
</dl>
</dl>

Revision as of 17:43, 17 September 2017

Arma 3 logo black.png1.50

Description

Class containing a list of all scripted functions and commands which can be remotely executed by BIS_fnc_MP / remoteExec / remoteExecCall on server or client machines. Can be defined in Config.cpp or in campaign's or mission's Description.ext. The most local variant is used. See also CfgRemoteExecCommands.

Format

class CfgRemoteExec
{        
       // List of script functions allowed to be sent from client via remoteExec
       class Functions
       {
               // State of remoteExec: 0-turned off, 1-turned on, taking whitelist into account, 2-turned on, however, ignoring whitelists (default because of backward compatibility)
               mode = 2;
               // Ability to send jip messages: 0-disabled, 1-enabled (default)
               jip = 1;
               /*your functions here*/
               class YourFunction1
               {
                      allowedTargets=0; // can target anyone (default)
                      jip = 0; // sending jip messages is disabled for this function (overrides settings in the Functions class)
               };
               class YourFunction2 { allowedTargets=1; }; // can target only clients
               class YourFunction3 { allowedTargets=2; }; // can target only the server
       };        
       // List of script commands allowed to be sent from client via remoteExec
       class Commands
       {
              /*your commands here*/
              class YourCommand1 { allowedTargets=0; jip=0; } // can target anyone, sending jip is turned off (overrides settings in the Commands class)
	};
};


Notes

Posted on January 1, 2016
AgentRev
  • As BIS_fnc_MP now uses remoteExec, there are some functions spontaneously called by the game core that require whitelisting in order to work if class Functions is set to mode = 1; class BIS_fnc_effectKilledAirDestruction {}; class BIS_fnc_effectKilledSecondaries {}; class BIS_fnc_objectVar {};
  • For initPlayerServer.sqf to work, BIS_fnc_execVM would need to be whitelisted, but that should be avoided at all costs, as it allows hackers to bypass the whitelist.
  • For the debug console to be able to execute anything (even locally), BIS_fnc_debugConsoleExec must be whitelisted. This function only works when its remoteExecutedOwner is admin, so it is safe to whitelist for everyone.