Small client pause util for XC_Engine servers.
Made by Higor (UT99.org)
- Pauses server upon player request.
- Pause is immediate if player is alone.
- Other players can cancel the pause/unpause request.
- Auto-pauses tournament games that lose players.
- Pause/unpause notification is less laggy
- Unpauses server when empty
Add following entry (in UnrealTournament.ini) to [XC_Engine.XC_GameEngine]
Config entry (in UnrealTournament.ini, autogenerated after running server):
This utility applies script patching the moment the game starts and players spawn, during that time
all players' Pause button functionality is replaced by a delayed pause system that allows anyone to pause
the server as well as cancel someone else's pause attempt.
There's an anti-spam system that prevents the same player from using the same pause command
repeatedly, the commands are: Pause, Pause Cancel, Unpause, Unpause Cancel.
Also, if a player joins a paused game, the server will unpause for a single frame to force visual update.
In tournament games the module can function as an auto-pauser, it will automatically pause the game
the moment the server's player count drops below the amount of players the game initially started with.
When the game finishes and the end cameras are set, the pause mechanics are reversed to default.
- Script Patcher usage.
- Dynamic Array handling.
- Game start/end detection.
- 1:1 second timer.
- PawnActors/DynamicActors iterators.
The pause uses state-based control which does not reflect real time changes of the level's pause status.
If something else pauses/unpauses the server (NexGen or other server controllers) ClientPause won't
detect it and operate based on it's internal state instead (re-pausing a manually paused game for example)