Skip to content

GameInterface

RaidMax edited this page Jun 7, 2023 · 14 revisions

Preface

Most game servers provided a limited set of functionality that IW4MAdmin can utilize. This restriction results in the game server exposing primarily administrative commands.
Modifying game mechanics and creating commands that interact directly with the game just isn't possible out of the box.
Enter the Game Interface...

What is the game interface?

The Game Interface is a set of utilities that allows IW4MAdmin and the Call of Duty® game scripting engine to communicate with each other.
Without getting too technical, the Game Interface uses a bus system to allow two way communication with IW4MAdmin.
This allows creation of custom commands that directly interact with the game using scripting. These custom commands enrich the experience and enhance the integration of IW4MAdmin.

What games are supported?

The following games are supported in some capacity

Game Notes
IW4
IW5
T5
T6

How to install

The fastest way to install the game interface is copying the .gsc files to your game server install.
Make sure to restart IW4MAdmin and your game server after installation.

IW4x

Source Destination Notes
Gamefiles/GameInterface/_integration_base.gsc %IW4XInstall%/userraw/scripts
GameFiles/GameInterface/_integration_shared.gsc %IW4XInstall%/scripts
GameFiles/GameInterface/_integration_iw4x.gsc %IW4XInstall%/scripts

Pluto IW5

Source Destination Notes
Gamefiles/GameInterface/_integration_base.gsc %LOCALAPPDATA%/Plutonium/storage/iw5/scripts
GameFiles/GameInterface/_integration_shared.gsc %LOCALAPPDATA%/Plutonium/storage/iw5/scripts
GameFiles/GameInterface/_integration_iw5.gsc %LOCALAPPDATA%/Plutonium/storage/iw5/scripts

Pluto T5

Source Destination Notes
Gamefiles/GameInterface/_integration_base.gsc %LOCALAPPDATA%/Plutonium/storage/t5/scripts
GameFiles/GameInterface/_integration_shared.gsc %LOCALAPPDATA%/Plutonium/storage/t5/scripts
GameFiles/GameInterface/_integration_t5.gsc %LOCALAPPDATA%/Plutonium/storage/t5/scripts/mp
GameFiles/GameInterface/_integration_t5zm.gsc %LOCALAPPDATA%/Plutonium/storage/t5/scripts/sp/zom

Pluto T6

Source Destination Notes
Gamefiles/GameInterface/_integration_base.gsc %LOCALAPPDATA%/Plutonium/storage/t6/scripts
GameFiles/GameInterface/_integration_shared.gsc %LOCALAPPDATA%/Plutonium/storage/t6/scripts
GameFiles/GameInterface/_integration_t6.gsc %LOCALAPPDATA%/Plutonium/storage/t6/scripts
GameFiles/GameInterface/_integration_t6zm_helper.gsc %LOCALAPPDATA%/Plutonium/storage/t6/scripts/zm

How to add new commands?

Utilize the RegisterScriptCommandObject function.
You must have working knowledge of GSC (Call of Duty® game scripting) See example_module.gsc

Troubleshooting

Coming soon...

Advanced

Bus Mode

One of the limitations of the Game Interface is data transfer speed.
Because the default implementation uses RCon to transmit data, various factors can affect the speed and responsiveness of Game Interface commands.
However, some Call of Duty® clients support filesytem operations (either officially or with unofficial mods).
For those clients, the Game Interface has an alternative bus mode that uses the filesystem instead of rcon; which increases reliablity and decreases latency.

File bus mode support

File bus mode is supported on these games
Currently only supported local game servers (game servers running on a different machine are not supported)

Game Notes
IW4
T6 Using t6-gsc-utils

Configuring bus mode

In your server configuration set the following values
set sv_iw4madmin_integration_busmode "file"
set sv_iw4madmin_integration_busdir "<absolute path to default gsc filesystem access>"

Clone this wiki locally