Giter Site home page Giter Site logo

ut4xbalancer's Introduction

UT4X-TeamBalancer

UT4 plugin mutator for balancing teams at start.

Information

Description

UT4X Team balancer mutator is a server side mutator (or plugin) that will automatically balance teams by average ELO

when game starts.

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.2.1 - 27/12/2021

    • Modified game options TeamBalancerEnabled to UT4XBalancerEnabled to not confuse with generic ut4 option "BalanceTeams"
    • UT4XBalancer is now no longer disabled if BalanceTeams=false
    • Changed min player count from 6 to 4 to balance teams
    • Modified game options BalanceTeamsInPrivateGames to UT4XBalancerEnabledInPrivateGames
    • Modified command "mutate enableteambalancer" -> "mutate enableut4xbalancer"
    • Modified command "mutate disableteambalancer" -> "mutate disableut4xbalancer"
  • 1.2 - 29/05/2021 - First public version

License

See licence file

Installation

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

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

  • You should then have <Windows/Linux>Server/UnrealTournament/Plugins/UT4XBalancer 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]=UT4XBalancer

For a specific ruleset

In your ruleset, in GameOptions, add this:

?mutator=UT4XKickIdlers

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

For dedicated server

Add this in command line:

?mutator=UT4XBalancer

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/UT4XBalancer.UT4XBalancer]
UT4XBalancerEnabled=True
UT4XBalancerEnabledInPrivateGamesEnabled=False
Property Default Value Description
UT4XBalancerEnabled True If true ut4x team balancer will be enabled else not.
UT4XBalancerEnabledInPrivateGamesEnabled False If true private games will have team balancer enabled.

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

Note: BalanceTeams generic ut4 option is not linked with ut4x balancer.

Commands

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

Enable TeamBalancer:

mutate enableut4xbalancer

Disable KickIdlers:

mutate disableut4xbalancer

Force team balance and randomization:

mutate balanceteams

Display current elo for both teams (as a normal user)

mutate teaminfo

Build UT4XBalancer

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 UT4XBalancer`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\UT4XBalancer`\Binaries folder

Notes

UT4X Balancer has some experimental features (disabled in code) not yet properly working such as:

  • picking up the right team for new player joining game in progress
  • auto-switch player if teams become uneven after some player left

You may try to fix them.

ut4xbalancer's People

Contributors

xtremexp avatar

Stargazers

Mirko avatar

Watchers

James Cloos avatar  avatar

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.