IsServer

bool IsServer()

Description

Returns true if the script is running on a server.

Any running instance of ZDoom that performs authoritative gameplay calculations is considered to be a server.

The same instance can be both a client and a server (e.g. in singleplayer).

The following are servers:

A singleplayer game.

A server in client-server Zandronum multiplayer (but not the clients).

A client that is also acting as a server for other clients (this mode is not supported in Zandronum yet but other game engines have it).

A player in (G)ZDoom multiplayer, which is not client-server, but makes all players run exactly the same game.

All players are both servers and clients in (G)ZDoom multiplayer, which is not client-server.
!IsClient() is not equivalent to IsServer(). Both can be true.

Examples

Using IsClient and IsServer correctly ensures that your mod runs correctly in both singleplayer and multiplayer:

if (IsServer())
{
// Run serverside gameplay code.
}
if (IsClient())
{
// Draw hud, spawn effects.
}

Use it to verify that serverside code is not run clientside, while not breaking singleplayer:

if (!IsServer())
error("This function must not be called clientside"); // does not warn in singleplayer