sss

RaidMax 2023-06-07 11:21:13 -05:00
parent 7c1b98f505
commit 9542f55b93

@ -1,17 +1,17 @@
## Preface # 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. 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. Modifying game mechanics and creating commands that interact directly with the game just isn't possible out of the box.
Enter the **Game Interface**... Enter the **Game Interface**...
## What is 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. 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**. 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. 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**. These custom commands enrich the experience and enhance the integration of **IW4MAdmin**.
## What games are supported? # What games are supported?
The following games are supported in some capacity The following games are supported in some capacity
| Game | Notes | | Game | Notes |
@ -21,12 +21,12 @@ The following games are supported in some capacity
| T5 | | | T5 | |
| T6 | | | T6 | |
## How to install # How to install
The fastest way to install the game interface is *copying the .gsc files to your game server 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**. **Make sure to restart IW4MAdmin and your game server after installation**.
### IW4x ## IW4x
| Source | Destination | Notes | | Source | Destination | Notes |
|------------------------------------------------- |----------------- |------- | |------------------------------------------------- |----------------- |------- |
@ -34,7 +34,7 @@ The fastest way to install the game interface is *copying the .gsc files to your
| GameFiles/GameInterface/_integration_shared.gsc | `%IW4XInstall%`/scripts | | | GameFiles/GameInterface/_integration_shared.gsc | `%IW4XInstall%`/scripts | |
| GameFiles/GameInterface/_integration_iw4x.gsc | `%IW4XInstall%`/scripts | | | GameFiles/GameInterface/_integration_iw4x.gsc | `%IW4XInstall%`/scripts | |
### Pluto IW5 ## Pluto IW5
| Source | Destination | Notes | | Source | Destination | Notes |
|------------------------------------------------- |------------------------------------------------- |---------- | |------------------------------------------------- |------------------------------------------------- |---------- |
@ -42,7 +42,7 @@ The fastest way to install the game interface is *copying the .gsc files to your
| GameFiles/GameInterface/_integration_shared.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 | | | GameFiles/GameInterface/_integration_iw5.gsc | `%LOCALAPPDATA%`/Plutonium/storage/iw5/scripts | |
### Pluto T5 ## Pluto T5
| Source | Destination | Notes | | Source | Destination | Notes |
|------------------------------------------------- |------------------------------------------------------- |--------- | |------------------------------------------------- |------------------------------------------------------- |--------- |
@ -51,7 +51,7 @@ The fastest way to install the game interface is *copying the .gsc files to your
| GameFiles/GameInterface/_integration_t5.gsc | `%LOCALAPPDATA%`/Plutonium/storage/t5/scripts/mp | | | GameFiles/GameInterface/_integration_t5.gsc | `%LOCALAPPDATA%`/Plutonium/storage/t5/scripts/mp | |
| GameFiles/GameInterface/_integration_t5zm.gsc | `%LOCALAPPDATA%`/Plutonium/storage/t5/scripts/sp/zom | | | GameFiles/GameInterface/_integration_t5zm.gsc | `%LOCALAPPDATA%`/Plutonium/storage/t5/scripts/sp/zom | |
### Pluto T6 ## Pluto T6
| Source | Destination | Notes | | Source | Destination | Notes |
|------------------------------------------------------ |------------------------------------------------ |------- | |------------------------------------------------------ |------------------------------------------------ |------- |
@ -60,27 +60,27 @@ The fastest way to install the game interface is *copying the .gsc files to your
| GameFiles/GameInterface/_integration_t6.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 | | | GameFiles/GameInterface/_integration_t6zm_helper.gsc | `%LOCALAPPDATA%`/Plutonium/storage/t6/scripts/zm | |
## How to add new commands? # How to add new commands?
Utilize the `RegisterScriptCommandObject` function. Utilize the `RegisterScriptCommandObject` function.
**You must have working knowledge of GSC (Call of Duty® game scripting)** **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) See [example_module.gsc](https://github.com/RaidMax/IW4M-Admin/blob/develop/GameFiles/GameInterface/example_module.gsc)
## Troubleshooting # Troubleshooting
Coming soon... Coming soon...
## Advanced # Advanced
### Bus Mode ## Bus Mode
One of the limitations of the **Game Interface** is data transfer speed. 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. 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). 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. 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 support
File bus mode is supported on these games File bus mode is supported on these games
**Currently only supported local game servers** (game servers running on a different machine are not supported) **Currently only supported local game servers** (game servers running on a different machine are not supported)
| Game | Notes | | Game | Notes |
@ -88,7 +88,7 @@ File bus mode is supported on these games
| IW4 | | | IW4 | |
| T6 | Using [t6-gsc-utils](https://github.com/fedddddd/t6-gsc-utils#io) | | T6 | Using [t6-gsc-utils](https://github.com/fedddddd/t6-gsc-utils#io) |
#### Configuring bus mode ### Configuring bus mode
In your server configuration set the following values In your server configuration set the following values
`set sv_iw4madmin_integration_busmode "file"` `set sv_iw4madmin_integration_busmode "file"`