serverCommand: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\|game([0-9]) ?= (.+) \|version([0-9]) ?= (.+) " to "|game$1= $2 |version$3= $4 ")
m (wording)
 
(33 intermediate revisions by 6 users not shown)
Line 11: Line 11:


|game4= arma3
|game4= arma3
|version4= 0.50
|version4= 0.50


|gr1= Multiplayer
|gr1= Multiplayer


|descr= Executes the given [[Multiplayer_Server_Commands|server command]].
|descr= Executes the given [[Multiplayer_Server_Commands|server command]]. Requires you to be '''logged-in''' [[admin]] as client to execute on a client, or provide the '''serverCommandPassword''' with the serverCommand execution as client/server to basically also get logged in [[admin]] permissions.
* Available commands for execution can be found with [[serverCommandAvailable]].
* Commands that can be executed can be found with [[serverCommandExecutable]].


|pr= {{Feature | Informative | If [[serverCommand]] is '''executed on a client''', it must be executed from [[isUIContext|UI context]], such as ''onButtonDown'' or similar events (see [[User_Interface_Event_Handlers]]).}}
{{Feature|informative|
* Available commands for execution can be found with [[serverCommandAvailable]]
* Commands that can be executed can be found with [[serverCommandExecutable]]
}}


|s1 [[serverCommand]] command
{{Feature|important|If [[serverCommand]] is executed on a client, it must be executed from [[isUIContext|UI context]], such as [[User Interface Event Handlers#onButtonDown|"onButtonDown"]] or similar events (see [[User Interface Event Handlers]]).}}
 
|s1= [[serverCommand]] command


|p1= command : [[String]]
|p1= command : [[String]]


|r1 [[Boolean]] - always [[true]] for some reason (since {{arma3}} v1.39 also [[false]] if a non valid command is used ("#blah"))
|r1= [[Boolean]] - [[false]] if a non valid command is used ("#blah"), false otherwise (was always [[true]] before {{GVI|arma3|1.40|size= 0.75}})


|s2= password [[serverCommand]] command {{GVI|arma3|1.40|y}} {{Icon|serverExec|32}}
|s2= password [[serverCommand]] command
|s2exec= server


|p21= password : [[String]] - password defined in [[server.cfg]] with <tt>serverCommandPassword</tt> param
|s2since= arma3 1.40
 
|p21= password : [[String]] - case-sensitive password defined in [[Arma 3: Server Config File|server config]] with {{hl|serverCommandPassword}} param


|p22= command : [[String]] - server command
|p22= command : [[String]] - server command


|r2= [[Boolean]] - [[true]] if password is correct
|r2= [[Boolean]] - [[false]] if command failed at some stage. [[true]] doesn't mean that command succeeded.


|x1= <code>[[serverCommand]] "#logout";</code>
|x1= <sqf>serverCommand "#logout";</sqf>


|x2= Create button on the main map which will show userlist to anyone who clicks on it:
|x2= Create button on the main map which will show userlist to anyone who clicks on it:
<code>[[with]] [[uiNamespace]] [[do]]
<sqf>
with uiNamespace do  
{
{
ctrl = [[findDisplay]] 12 [[ctrlCreate]] ["RscButton", -1];
private _ctrl = findDisplay 12 ctrlCreate ["RscButton", -1];
ctrl [[ctrlSetPosition]] [0,0,0.5,0.1];
_ctrl ctrlSetPosition [0,0,0.5,0.1];
ctrl [[ctrlSetText]] "USERLIST";
_ctrl ctrlSetText "USERLIST";
ctrl [[ctrlCommit]] 0;
_ctrl ctrlCommit 0;
ctrl [[ctrlAddEventHandler]] ["ButtonDown",  
_ctrl ctrlAddEventHandler ["ButtonDown",  
{
{
[[serverCommand]] "#userlist";
serverCommand "#userlist";
}];
}];
};</code>
};
</sqf>


|x3 = <code>[[serverCommand]] [[format]] ["#kick %1",_name];</code>
|x3= <sqf>serverCommand format ["#kick %1",_name];</sqf>


|x4 = <code>_passwordWasOK = "MyServerCommandPassword" [[serverCommand]] "#lock";</code>
|x4= <sqf>private _passwordWasOK = "MyServerCommandPassword" serverCommand "#lock";</sqf>


|seealso= [[serverCommandAvailable]], [[serverCommandExecutable]], [[admin]], [[isUIContext]]
|seealso= [[serverCommandAvailable]] [[serverCommandExecutable]] [[admin]] [[isUIContext]]
}}
}}
[[Category:Scripting Commands: Server Execution]]
[[Category:Introduced with Arma 3 version 1.40]]

Latest revision as of 15:36, 29 October 2024

Hover & click on the images for description

Description

Description:
Executes the given server command. Requires you to be logged-in admin as client to execute on a client, or provide the serverCommandPassword with the serverCommand execution as client/server to basically also get logged in admin permissions.
If serverCommand is executed on a client, it must be executed from UI context, such as "onButtonDown" or similar events (see User Interface Event Handlers).
Groups:
Multiplayer

Syntax

Syntax:
serverCommand command
Parameters:
command : String
Return Value:
Boolean - false if a non valid command is used ("#blah"), false otherwise (was always true before Arma 3 logo black.png1.40)

Alternative Syntax

Syntax:
password serverCommand command
Parameters:
password : String - case-sensitive password defined in server config with serverCommandPassword param
command : String - server command
Return Value:
Boolean - false if command failed at some stage. true doesn't mean that command succeeded.

Examples

Example 1:
serverCommand "#logout";
Example 2:
Create button on the main map which will show userlist to anyone who clicks on it:
with uiNamespace do { private _ctrl = findDisplay 12 ctrlCreate ["RscButton", -1]; _ctrl ctrlSetPosition [0,0,0.5,0.1]; _ctrl ctrlSetText "USERLIST"; _ctrl ctrlCommit 0; _ctrl ctrlAddEventHandler ["ButtonDown", { serverCommand "#userlist"; }]; };
Example 3:
serverCommand format ["#kick %1",_name];
Example 4:
private _passwordWasOK = "MyServerCommandPassword" serverCommand "#lock";

Additional Information

See also:
serverCommandAvailable serverCommandExecutable admin isUIContext

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note