ACSUtils Wiki

An ACS library for ZDoom-based ports

User Tools

Site Tools


functions:isserver

Table of Contents

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
functions/isserver.1497896199.txt.gz ยท Last modified: 2017/06/19 21:16 by korshun