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.
|
#### 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
|
#### Verified
|
||||||
This version type is released at a slower pace and includes features after they have been adopted and tested for some time.
|
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.
|
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.
|
Both versions are tested before release, but the `prerelease` version has a higher chance of small unintentional bugs while implementing new features.
|
13
_Sidebar.md
13
_Sidebar.md
@ -1,15 +1,16 @@
|
|||||||
* [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)
|
* [Getting Started](https://github.com/RaidMax/IW4M-Admin/wiki/Getting-Started)
|
||||||
* [FAQ](https://github.com/RaidMax/IW4M-Admin/wiki/FAQ)
|
* [FAQ](https://github.com/RaidMax/IW4M-Admin/wiki/FAQ)
|
||||||
* [Knowledge Base](https://github.com/RaidMax/IW4M-Admin/wiki/Knowledge-Base)
|
* [Knowledge Base](https://github.com/RaidMax/IW4M-Admin/wiki/Knowledge-Base)
|
||||||
* [Features](https://github.com/RaidMax/IW4M-Admin/wiki/Features)
|
* [Features](https://github.com/RaidMax/IW4M-Admin/wiki/Features)
|
||||||
* [Commands](https://github.com/RaidMax/IW4M-Admin/wiki/Commands)
|
* [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)
|
* [Permission Sets](https://github.com/RaidMax/IW4M-Admin/wiki/Permission-Sets)
|
||||||
* [Plugins](https://github.com/RaidMax/IW4M-Admin/wiki/Plugins)
|
* [Plugins](https://github.com/RaidMax/IW4M-Admin/wiki/Plugins)
|
||||||
* [API](https://github.com/RaidMax/IW4M-Admin/wiki/API)
|
* [API](https://github.com/RaidMax/IW4M-Admin/wiki/API)
|
||||||
* [Searching](https://github.com/RaidMax/IW4M-Admin/wiki/Searching)
|
* [Searching](https://github.com/RaidMax/IW4M-Admin/wiki/Searching)
|
||||||
* [Plugin Development](https://github.com/RaidMax/IW4M-Admin/wiki/Plugin-Development)
|
* [Plugin Development](https://github.com/RaidMax/IW4M-Admin/wiki/Plugin-Development)
|
||||||
* [Examples](https://github.com/RaidMax/IW4M-Admin/wiki/Plugin-Examples)
|
* [Examples](https://github.com/RaidMax/IW4M-Admin/wiki/Plugin-Examples)
|
||||||
* [Configuration](https://github.com/RaidMax/IW4M-Admin/wiki/Configuration)
|
* [Configuration](https://github.com/RaidMax/IW4M-Admin/wiki/Configuration)
|
||||||
* [Game Log Server](https://github.com/RaidMax/IW4M-Admin/wiki/Game-Log-Server)
|
* [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