Coder Social home page Coder Social logo

ut4xkickidlers's Introduction

UT4X-KickIdlers

Automatically kicks idlers for online Unreal Tournament games.

Information

Description

UT4X Kick Idlers mutator is a server side mutator (or plugin) that will automatically kick idle players.

The vanilla auto-kick feature in UT4 only kick during map change.

This mutator allows players to be kicked during match and have some extra settings to tune it.

Since it's a server side mutator, player does not need to download the mutator and no redirect is needed.

Author

Thomas 'WinterIsComing' P.

Version History

  • 1.1 - 18/04/2021
    • Fixed elimination gamemode auto-kick while player waiting to respawn
    • Fixed bad config file. Changed to UT4X.ini
    • Added admin only command "mutate enablekickidlers" and "mutate disablekickidlers" to enable/disable plugin
    • Added a few extra logs
  • 1.0 - 17/04/2021 - First version

License

See licence file

Installation

  • Clone repository or download repository from https://github.com/xtremexp/UT4XKickIdlers

  • Move UT4XKickIdlers folder <Windows/Linux>Server/UnrealTournament/Plugins

  • You should then have <Windows/Linux>Server/UnrealTournament/Plugins/UT4XKickIdler folder

Enable Mutator

For hubs

Globally

This will allow to run for any game either from a ruleset or a custom game

  • Edit <Windows/Linux>Serverr\UnrealTournament\Saved\Config\Game.ini file
  • Add or edit this section
[/Script/UnrealTournament.UTGameMode]
ConfigMutators[0]=UT4XKickIdlers

For a specific ruleset

In your ruleset, in GameOptions, add this:

?mutator=UT4XKickIdlers

E.G: "gameOptions": "?mutator=UT4XKickIdlers"

For dedicated server

Add this in command line:

?mutator=UT4XKickIdlers

Configuration

Default configuration of this mutator can be changed modifying in <Windows/Linux>Server\UnrealTournament\Saved\Config<Windows/Linux>Server\UT4X.ini file. (this file is automatically created at first start).

If file is not present you can create it with this content (see /Config/DefaultUT4X.ini file in this plugin folder) :

[/Script/UT4XKickIdlers.UT4XKickIdlers]
KickIdlersEnabled=True
MaxIdlingDuration=90
MinPlayersForKickIdlers=2
KickIdlersInPrivateGamesEnabled=False
Property Default Value Description
KickIdlersEnabled True Activate auto kick idlers.
MaxIdlingDuration 90 Max duration in seconds until player is kicked if idling.
MinPlayersForKickIdlers 2 Minimum players
KickIdlersInPrivateGamesEnabled False Activate kick idlers if it's a private game (passworded or lan game)

These values can modified modifying UT4X.ini file as seen before.

Commands

As a logged admin (command: "rconauth mypassword"), you can enable or disable mutator:

Enable KickIdlers:

mutate enablekickidlers

Disable KickIdlers:

mutate disablekickidlers

Build UT4XKickIdlers

Requirements

  • Windows OS
  • Microsoft Visual Studio 2015 (Community Edition (free) or paid one)
  • Git client (either Git for windows or TortoiseGit)

Procedure

  • clone Unreal Tournament repository from https://github.com/EpicGames/UnrealTournament
  • run "Setup.bat" in root UnrealTournament folder (might take a long time since it downloads at UT4 content (textures, maps, ...))
  • clone UT4XKickIdlers repository to UnrealTournament\UnrealTournament\Plugins folder
  • run "GenerateProjectFiles.bat -2015" in root UnrealTournament folder
  • open "UE4.sln" solution file within Visual Studio 2015
  • Build plugin (first build can quite a long time since it's building UT4 as well)
    • For Windows select Shipping Server / Win64 / UE4 configuration then "Build -> Build Unreal Tournament" in menu
    • For Linux select Shipping Server / Linux / UE4 configuration then "Build -> Build Unreal Tournament" in menu
  • Compiled plugin binaries will then be available within UnrealTournament\UnrealTournament\Plugins\UT4XKickIdlers\Binaries folder

ut4xkickidlers's People

Contributors

xtremexp avatar

Watchers

James Cloos avatar

ut4xkickidlers's Issues

Improve idling time computation between rounds

Default max idling duration is 90s.
For the moment, the idling timer is reset for each player when they respawn.
Since elimination rounds are quite short (less than 90s on average), idling players are not likely to be kicked.

As a solution, rather than resetting idling duration when player respawns, keep track of idling duration when player dies then reapply this duration when next round (player respawns) starts.

Config File Location

Modifying configuration only works if a Mod.ini file is in
<Linux/Windows>/UnrealTournament/Saved/Config/<Linux/Windows>Server

Configuration should be working with Mod.ini file in folder:
<Linux/Windows>/UnrealTournament/Saved/Config

Either save Mod.ini configuration in this folder or create a new UT4X.ini config file in folder
<Linux/Windows>/UnrealTournament/Saved/Config/<Linux/Windows>Server

Add configurable MaxIdlingDuration option

Allow changing MaxIdlingDuration via option in command line (e.g: "?MaxIdlingDuration=60")
This would allow changing the default max idling duration depending on ruleset for exemple.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.