DCS World Typescript
    Preparing search index...

    Network API available when DCS enables it for mission scripting.

    %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:286

    interface l_net {
        CHAT_ALL: number;
        CHAT_TEAM: number;
        ERR_BAD_CALLSIGN: number;
        ERR_BANNED: number;
        ERR_CONNECT_FAILED: number;
        ERR_DENIED_TRIAL_ONLY: number;
        ERR_INVALID_ADDRESS: number;
        ERR_INVALID_PASSWORD: number;
        ERR_KICKED: number;
        ERR_NOT_ALLOWED: number;
        ERR_PROTOCOL_ERROR: number;
        ERR_REFUSED: number;
        ERR_SERVER_FULL: number;
        ERR_TAINTED_CLIENT: number;
        ERR_THATS_OKAY: number;
        ERR_TIMEOUT: number;
        ERR_WRONG_VERSION: number;
        GAME_MODE_CONQUEST: number;
        GAME_MODE_LAST_MAN_STANDING: number;
        GAME_MODE_MISSION: number;
        GAME_MODE_TEAM_DEATH_MATCH: number;
        PS_CAR: number;
        PS_CRASH: number;
        PS_EJECT: number;
        PS_LAND: number;
        PS_PING: number;
        PS_PLANE: number;
        PS_SCORE: number;
        PS_SHIP: number;
        RESUME_MANUAL: number;
        RESUME_ON_LOAD: number;
        RESUME_WITH_CLIENTS: number;
        dostring_in(state: string, luaSource: string): string | undefined;
        force_player_slot(
            playerId: number,
            sideId: number,
            slotId: string | number,
        ): boolean;
        get_coalition(playerId: number): number;
        get_my_player_id(): number;
        get_name(playerId: number): string | undefined;
        get_player_info(playerId: number): NetPlayerInfo | undefined;
        get_player_info(playerId: number, attribute: keyof NetPlayerInfo): unknown;
        get_player_list(): number[];
        get_server_host(): string;
        get_server_id(): number;
        get_slot(playerId: number): LuaMultiReturn<[number, string | number]>;
        get_stat(playerId: number, statisticId: number): number;
        is_loopback_address(address: string): boolean;
        is_private_address(address: string): boolean;
        json2lua(json: string): unknown;
        kick(playerId: number, message?: string): boolean;
        log(message: string): void;
        lua2json(value: unknown): string;
        recv_chat(message: string, fromPlayerId?: number): void;
        resetJoinCooldownEndForAll(): boolean;
        resetJoinCooldownEndForPlayer(id: number): boolean;
        send_chat(message: string, all: boolean): void;
        send_chat_to(message: string, playerId: number): void;
        set_coalition(sideId: number, password?: string): boolean | undefined;
        set_name(playerId: number, name: string): void;
        set_slot(
            sideId: number,
            slotId: string | number,
            coalitionPassword?: string,
            slotPassword?: string,
        ): boolean | undefined;
        trace(message: string): void;
    }

    Hierarchy

    • Omit<_net, NetFunction>
      • l_net
    Index
    CHAT_ALL: number
    CHAT_TEAM: number
    ERR_BAD_CALLSIGN: number
    ERR_BANNED: number
    ERR_CONNECT_FAILED: number
    ERR_DENIED_TRIAL_ONLY: number
    ERR_INVALID_ADDRESS: number
    ERR_INVALID_PASSWORD: number
    ERR_KICKED: number
    ERR_NOT_ALLOWED: number
    ERR_PROTOCOL_ERROR: number
    ERR_REFUSED: number
    ERR_SERVER_FULL: number
    ERR_TAINTED_CLIENT: number
    ERR_THATS_OKAY: number
    ERR_TIMEOUT: number
    ERR_WRONG_VERSION: number
    GAME_MODE_CONQUEST: number
    GAME_MODE_LAST_MAN_STANDING: number
    GAME_MODE_MISSION: number
    GAME_MODE_TEAM_DEATH_MATCH: number
    PS_CAR: number
    PS_CRASH: number
    PS_EJECT: number
    PS_LAND: number
    PS_PING: number
    PS_PLANE: number
    PS_SCORE: number
    PS_SHIP: number
    RESUME_MANUAL: number
    RESUME_ON_LOAD: number
    RESUME_WITH_CLIENTS: number
    • Executes trusted Lua in an allowed DCS state. This API is obsolete and unsafe.

      Parameters

      • state: string
      • luaSource: string

      Returns string | undefined

      `const result = net.dostring_in("mission", "return 2 + 2");`
      
    • Forces a player into a coalition/slot. Empty slot moves to spectators.

      Parameters

      • playerId: number
      • sideId: number
      • slotId: string | number

      Returns boolean

      `net.force_player_slot(id, 0, "");`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:422

    • Returns a player's coalition.

      Parameters

      • playerId: number

      Returns number

      `const side = net.get_coalition(id);`
      

      %DCS_INSTALL_DIR%/MissionEditor/modules/MultiplayerSelectRoleMap/MultiplayerSelectRole.lua:454

    • Returns the local player ID.

      Returns number

      `const me = net.get_my_player_id();`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:365

    • Returns a player's display name.

      Parameters

      • playerId: number

      Returns string | undefined

      `const name = net.get_name(id);`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:408

    • Returns all player attributes, or nothing for an invalid ID.

      Parameters

      • playerId: number

      Returns NetPlayerInfo | undefined

      `const player = net.get_player_info(id);`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:373

    • Returns one named player attribute.

      Parameters

      Returns unknown

      `const ucid = net.get_player_info(id, "ucid");`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:377

    • Returns connected player IDs.

      Returns number[]

      `const players = net.get_player_list();`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:361

    • Returns the connected server host/address.

      Returns string

      `const host = net.get_server_host();`
      

      %DCS_INSTALL_DIR%/MissionEditor/modules/mul_select_role.lua:1932

    • Returns the server player ID.

      Returns number

      `const server = net.get_server_id();`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:369

    • Returns player coalition and slot.

      Parameters

      • playerId: number

      Returns LuaMultiReturn<[number, string | number]>

      `const [side, slot] = net.get_slot(id);`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:412

    • Returns a player statistic selected by a net.PS_* constant.

      Parameters

      • playerId: number
      • statisticId: number

      Returns number

      `const ping = net.get_stat(id, net.PS_PING);`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:395

    • Tests an address for loopback scope.

      Parameters

      • address: string

      Returns boolean

      `const localOnly = net.is_loopback_address("127.0.0.1");`
      
    • Tests an address for private-network scope.

      Parameters

      • address: string

      Returns boolean

      `const privateAddress = net.is_private_address("192.168.1.1");`
      
    • Parses JSON to a Lua value.

      Parameters

      • json: string

      Returns unknown

      `const value = net.json2lua("{\"ready\":true}");`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:434

    • Kicks a player with an optional explanation. Server only.

      Parameters

      • playerId: number
      • Optionalmessage: string

      Returns boolean

      `net.kick(id, "mission restart");`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:387

    • Writes to the normal LuaNET log stream.

      Parameters

      • message: string

      Returns void

      `net.log("hook connected");`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:290

    • Serializes a Lua value as JSON.

      Parameters

      • value: unknown

      Returns string

      `const json = net.lua2json({ ready: true });`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:430

    • Injects a chat message locally, optionally pretending it came from a player.

      Parameters

      • message: string
      • OptionalfromPlayerId: number

      Returns void

      `net.recv_chat("Server notice", 0);`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:336

    • Resets join cooldowns globally.

      Returns boolean

      `net.resetJoinCooldownEndForAll();`
      

      %DCS_INSTALL_DIR%/Scripts/Hooks/webGUI.lua:152

    • Resets the join cooldown for one unit/player identifier.

      Parameters

      • id: number

      Returns boolean

      `net.resetJoinCooldownEndForPlayer(unitId);`
      

      %DCS_INSTALL_DIR%/MissionEditor/modules/mul_playersPool.lua:316

    • Sends chat globally or to the local coalition.

      Parameters

      • message: string
      • all: boolean

      Returns void

      `net.send_chat("Ready", true);`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:327

    • Sends direct chat to a player ID or net.CHAT_ALL/CHAT_TEAM.

      Parameters

      • message: string
      • playerId: number

      Returns void

      `net.send_chat_to("Ready", net.CHAT_TEAM);`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:331

    • Changes the local player's coalition.

      Parameters

      • sideId: number
      • Optionalpassword: string

      Returns boolean | undefined

      `net.set_coalition(coalition.side.BLUE, password);`
      

      %DCS_INSTALL_DIR%/MissionEditor/modules/MultiplayerSelectRoleMap/MultiplayerSelectRole.lua:461

    • Obsolete local-only player rename.

      Parameters

      • playerId: number
      • name: string

      Returns void

      `net.set_name(id, "Pilot");`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:426

    • Attempts to change the local player's slot. Password parameters are DCS UI extensions.

      Parameters

      • sideId: number
      • slotId: string | number
      • OptionalcoalitionPassword: string
      • OptionalslotPassword: string

      Returns boolean | undefined

      `net.set_slot(0, "");`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:418

    • Writes to the lossless LuaNET trace stream.

      Parameters

      • message: string

      Returns void

      `net.trace("packet received");`
      

      %DCS_INSTALL_DIR%/API/Sim_ControlAPI.md:291