serverCommand: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "_{10,} " to "")
m (wording)
 
(45 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Command|Comments=
{{RV|type=command


| arma2 |Game name=
|game1= arma2
|version1= 1.05


|1.05|Game version=
|game2= arma2oa
|version2= 1.50


|gr1= Multiplayer |GROUP1=
|game3= tkoh
|version3= 1.00


| Executes the given [[Multiplayer_Server_Commands|server command]].
|game4= arma3
* Available commands for execution can be found with [[serverCommandAvailable]].
|version4= 0.50
* Commands that can be executed can be found with [[serverCommandExecutable]].


{{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]]).}}
|gr1= Multiplayer


{{Feature|arma3 | As of {{arma3}} v1.39 an alternative version of [[serverCommand]] can be used on dedicated server and headless clients. It requires a password, set with <tt>serverCommandPassword</tt> in [[server.cfg]] and passed to the command as an argument (See Alt Syntax).}} |DESCRIPTION=
|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.


| [[serverCommand]] command |SYNTAX=
{{Feature|informative|
* Available commands for execution can be found with [[serverCommandAvailable]]
* Commands that can be executed can be found with [[serverCommandExecutable]]
}}
 
{{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]]
 
|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
|s2exec= server


|p1= command : [[String]] |PARAMETER1=
|s2since= arma3 1.40


| [[Boolean]] - always [[true]] for some reason (since {{arma3}} v1.39 also [[false]] if a non valid command is used ("#blah")) |RETURNVALUE=
|p21= password : [[String]] - case-sensitive password defined in [[Arma 3: Server Config File|server config]] with {{hl|serverCommandPassword}} param


|s2= password [[serverCommand]] command {{Since|arma3|1.39|y}} {{ServerExec}}|SYNTAX2=
|p22= command : [[String]] - server command


|p21= password : [[String]] - password defined in [[server.cfg]] with <tt>serverCommandPassword</tt> param |PARAMETER21=
|r2= [[Boolean]] - [[false]] if command failed at some stage. [[true]] doesn't mean that command succeeded.
|p22= command : [[String]] - server command |PARAMETER22=


|r2= [[Boolean]] - [[true]] if password is correct |RETURNVALUE2=
|x1= <sqf>serverCommand "#logout";</sqf>


|x1= <code>[[serverCommand]] "#logout";</code>
|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>
};
|x3 = <code>[[serverCommand]] [[format]] ["#kick %1",_name];</code>
</sqf>
|x4 = <code>_passwordWasOK = "MyServerCommandPassword" [[serverCommand]] "#lock";</code>
 
|x3= <sqf>serverCommand format ["#kick %1",_name];</sqf>
 
|x4= <sqf>private _passwordWasOK = "MyServerCommandPassword" serverCommand "#lock";</sqf>


| [[serverCommandAvailable]], [[serverCommandExecutable]], [[admin]], [[isUIContext]] |SEEALSO=
|seealso= [[serverCommandAvailable]] [[serverCommandExecutable]] [[admin]] [[isUIContext]]
}}
}}


<h3 style="display:none">Notes</h3>
<dl class="command_description">
</dl>


<h3 style="display:none">Bottom Section</h3>
[[Category:Scripting Commands: Server Execution]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
[[Category:Introduced with Arma 3 version 1.40]]
{{GameCategory|arma2|Scripting Commands}}
{{GameCategory|arma3|Scripting Commands}}
{{GameCategory|tkoh|Scripting Commands}}

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