isServer: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\| *((\[\[[a-zA-Z0-9_ |()]+\]\],? ?)+) * \}\}" to "|seealso= $1 }}")
m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(50 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{RV|type=command
{{RV|type=command


|arma1
|game1= ofp
|version1= 1.99


|1.06
|game2= arma1
|version2= 1.06


|gr1 = Multiplayer
|game3= arma2
|version3= 1.00


|game2= ofp
|game4= arma2oa
|version4= 1.50


|version2= 1.99
|game5= tkoh
|version5= 1.00


| Returns [[true]] if the machine (executing the command) is the server in a multiplayer game or is running single player. It will return [[true]] for both dedicated and player-hosted server.
|game6= arma3
{{Feature | Informative | See also [[Multiplayer Scripting#Different machines and how to target them|Multiplayer Scripting/machines]]. }}
|version6= 0.50


| [[isServer]]
|gr1= Multiplayer


| [[Boolean]]
|descr= Returns [[true]] if the machine executing the command is the server in a multiplayer game or is running single player. It will return [[true]] for both dedicated and player-hosted server. See also [[Multiplayer Scripting#Different machines and how to target them|Multiplayer Scripting/machines]].
 
|x1= <code>[[if]] (![[isServer]]) [[exitWith]] {};</code>


|seealso= [[isDedicated]], [[isMultiplayer]], [[hasInterface]], [[local]]
|s1= [[isServer]]
}}


<dl class="command_description">
|r1= [[Boolean]]
<!-- Note Section BEGIN -->
<dd class="notedate">Posted on April 8, 2011</dd>
<dt class="note">[[User:Igneous01|Igneous01]]</dt>
<dd class="note">'''Before {{arma3}} and server-only triggers:''' You can use [[isServer]] inside the condition of a trigger to have the trigger activate only for the server. All other conditions for the trigger will be checked across all machines, but it will only activate the trigger created on the server. For example: <code>this && [[isServer]]</code>


<!-- Note Section END -->
|x1= <sqf>if (!isServer) exitWith {};</sqf>
</dl>


[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
|seealso= [[isDedicated]] [[isMultiplayer]] [[hasInterface]] [[local]]
[[Category:Scripting Commands OFP 1.99|{{uc:{{PAGENAME}}}}]]
}}
{{GameCategory|arma1|Scripting Commands}}
{{GameCategory|arma2|Scripting Commands}}
{{GameCategory|arma3|Scripting Commands}}


<!-- CONTINUE Notes -->
<dl class="command_description">
<dl class="command_description">
<dd class="notedate">Posted on December 21, 2014 - 14:51 (UTC)</dd>
 
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<dt></dt>
<dd class="notedate">Posted on 2011-04-08</dd>
<dt class="note">[[User:Igneous01|Igneous01]]</dt>
<dd class="note">'''Before {{arma3}} and server-only triggers:''' You can use [[isServer]] inside the condition of a trigger to have the trigger activate only for the server. All other conditions for the trigger will be checked across all machines, but it will only activate the trigger created on the server. For example:
<sqf>this && isServer</sqf>
<dt></dt>
<dd class="notedate">Posted on 2014-12-21 - 14:51 (UTC)</dd>
<dt class="note">[[User:Killzone_Kid|Killzone_Kid]]</dt>
<dd class="note">
<dd class="note">
<code>[[if]] ([[isDedicated]]) [[then]] {
<sqf>
{{cc|run on dedicated server only}}
if (isDedicated) then {
// run on dedicated server only
};
};


[[if]] ([[isServer]]) [[then]] {
if (isServer) then {
{{cc|run on dedicated server or player host}}
// run on dedicated server or player host
};
};


[[if]] ([[hasInterface]]) [[then]] {
if (hasInterface) then {
{{cc|run on all player clients incl. player host}}
// run on all player clients incl. player host
};
};


[[if]] (![[isDedicated]]) [[then]] {
if (!isDedicated) then {
{{cc|run on all player clients incl. player host and headless clients}}
// run on all player clients incl. player host and headless clients
};
};


[[if]] (![[isServer]]) [[then]] {
if (!isServer) then {
{{cc|run on all player clients incl. headless clients but not player host}}
// run on all player clients incl. headless clients but not player host
};
};


[[if]] (![[hasInterface]]) [[then]] {
if (!hasInterface) then {
{{cc|run on headless clients and dedicated server}}
// run on headless clients and dedicated server
};
};


[[if]] (![[hasInterface]] && ![[isDedicated]]) [[then]] {
if (!hasInterface && !isDedicated) then {
{{cc|run on headless clients only}}
// run on headless clients only
};</code>
};
</sqf>
</dd>
</dd>
</dl>
</dl>
<!-- DISCONTINUE Notes -->

Latest revision as of 19:43, 3 September 2024

Hover & click on the images for description

Description

Description:
Returns true if the machine executing the command is the server in a multiplayer game or is running single player. It will return true for both dedicated and player-hosted server. See also Multiplayer Scripting/machines.
Groups:
Multiplayer

Syntax

Syntax:
isServer
Return Value:
Boolean

Examples

Example 1:
if (!isServer) exitWith {};

Additional Information

See also:
isDedicated isMultiplayer hasInterface local

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
Posted on 2011-04-08
Igneous01
Before Arma 3 and server-only triggers: You can use isServer inside the condition of a trigger to have the trigger activate only for the server. All other conditions for the trigger will be checked across all machines, but it will only activate the trigger created on the server. For example:
this && isServer
Posted on 2014-12-21 - 14:51 (UTC)
Killzone_Kid
if (isDedicated) then { // run on dedicated server only }; if (isServer) then { // run on dedicated server or player host }; if (hasInterface) then { // run on all player clients incl. player host }; if (!isDedicated) then { // run on all player clients incl. player host and headless clients }; if (!isServer) then { // run on all player clients incl. headless clients but not player host }; if (!hasInterface) then { // run on headless clients and dedicated server }; if (!hasInterface && !isDedicated) then { // run on headless clients only };