add game interface docs
parent
5d9f2e5bf4
commit
9ebc6d1cac
95
GameInterface.md
Normal file
95
GameInterface.md
Normal file
@ -0,0 +1,95 @@
|
||||
## 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](https://en.wikipedia.org/wiki/Bus_(computing)) 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](https://github.com/RaidMax/IW4M-Admin/blob/develop/GameFiles/GameInterface/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](https://github.com/fedddddd/t6-gsc-utils#io) |
|
||||
|
||||
#### 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>"`
|
@ -1,6 +1,6 @@
|
||||
**IW4MAdmin** is an administration tool for [IW4x](https://xlabs.dev), [IW6x](https://xlabs.dev), [Pluto T6](https://forum.plutonium.pw/category/6/plutonium-t6), [Pluto IW5](https://forum.plutonium.pw/category/14/plutonium-iw5), [CoD4x](https://cod4x.me), [TeknoMW3](https://github.com/Musta1337/TeknoMW3), and most Call of Duty® dedicated servers.
|
||||
**IW4MAdmin** is an administration tool for [IW4x](#), [IW6x](#), [Plutonium T6](https://forum.plutonium.pw/category/6/plutonium-t6), [Plutonium IW5](https://forum.plutonium.pw/category/14/plutonium-iw5), [Plutonium T5](https://forum.plutonium.pw/category/51/plutonium-t5), [Plutonium T4](https://forum.plutonium.pw/category/36/plutonium-t4), [CoD4x](https://cod4x.me), [H1-Mod](https://h1.gg/), [TeknoMW3](https://github.com/Musta1337/TeknoMW3), and most Call of Duty® dedicated servers.
|
||||
|
||||
It allows complete control of your server; from changing maps, to banning players, **IW4MAdmin** monitors and records activity on your server(s). With plugin support, extending its functionality is a breeze.
|
||||
It allows complete control of your server; from changing maps, to banning players, **IW4MAdmin** monitors and records activity on your game server(s). Also included is a fully featured and mobile friendly web interface that allows you to watch over and administrate your game servers even on the go. With plugin support, you can extend **IW4MAdmins** functionality to fit all your needs.
|
||||
|
||||
#### If you are new to IW4MAdmin, check out the [Getting Started](https://github.com/RaidMax/IW4M-Admin/wiki/Getting-Started) page.
|
||||
|
||||
@ -10,7 +10,7 @@ It allows complete control of your server; from changing maps, to banning player
|
||||
#### Verified
|
||||
This version type is released at a slower pace and includes features after they have been adopted and tested for some time.
|
||||
|
||||
#### Prerelease
|
||||
#### Prerelease (recommended)
|
||||
This version type is released as new feature requests and bug-fixes are pushed.
|
||||
|
||||
Both versions are tested before release, but the `prerelease` version has a higher chance of small unintentional bugs while implementing new features.
|
@ -1,9 +1,11 @@
|
||||
* [Home](https://github.com/RaidMax/IW4M-Admin/wiki/Home)
|
||||
* [Overview](https://github.com/RaidMax/IW4M-Admin/wiki/Overview)
|
||||
* [Getting Started](https://github.com/RaidMax/IW4M-Admin/wiki/Getting-Started)
|
||||
* [FAQ](https://github.com/RaidMax/IW4M-Admin/wiki/FAQ)
|
||||
* [Knowledge Base](https://github.com/RaidMax/IW4M-Admin/wiki/Knowledge-Base)
|
||||
* [Features](https://github.com/RaidMax/IW4M-Admin/wiki/Features)
|
||||
* [Commands](https://github.com/RaidMax/IW4M-Admin/wiki/Commands)
|
||||
* [Webfront](https://github.com/RaidMax/IW4M-Admin/wiki/Webfront)
|
||||
* [Game Interface](https://github.com/RaidMax/IW4M-Admin/wiki/GameInterface)
|
||||
* [Permission Sets](https://github.com/RaidMax/IW4M-Admin/wiki/Permission-Sets)
|
||||
* [Plugins](https://github.com/RaidMax/IW4M-Admin/wiki/Plugins)
|
||||
* [API](https://github.com/RaidMax/IW4M-Admin/wiki/API)
|
||||
@ -12,4 +14,3 @@
|
||||
* [Examples](https://github.com/RaidMax/IW4M-Admin/wiki/Plugin-Examples)
|
||||
* [Configuration](https://github.com/RaidMax/IW4M-Admin/wiki/Configuration)
|
||||
* [Game Log Server](https://github.com/RaidMax/IW4M-Admin/wiki/Game-Log-Server)
|
||||
* [Webfront](https://github.com/RaidMax/IW4M-Admin/wiki/Webfront)
|
Loading…
Reference in New Issue
Block a user