GithubHelp home page GithubHelp logo

kiiyya / battlefox Goto Github PK

View Code? Open in Web Editor NEW
7.0 3.0 2.0 1.02 MB

A modern Procon replacement for Battlefield 4.

License: GNU Affero General Public License v3.0

Rust 99.68% Dockerfile 0.32%
game-admin server-admin battlefield-4 rcon procon rust async stv vote mapvote

battlefox's People

Contributors

kiiyya avatar razer2015 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

battlefox's Issues

Make balancer.

The procon balancer is terrible for rush.

We have the possibility (not yet implemented, uses weird battlefield API, ask kiiya or xfile) to retrieve the amount of mcoms detonated and amount of tickets still remaining. We could use that to implement better balancing.

There's a lot of decisions to be made on how balancing is concretely implemented. We should discuss beforehand what gets implemented and how.

Make squad manager

Simple things like /lead to get lead of the squad, /unlead, etc. And maybe giving squad lead to the player with the highest K/D or highest rank (so that other squadmates have a SL who will provide better spawn opportunities). Very open-ended issue.

Multiple RCON connections to prevent lag

Currently Bf4Client uses just one RconClient, which causes lag when the mapvote spammer runs 64 * 3 rcon queries at the same time, usually around 2.5s. Since there's a limit of 17ms per rcon packet per rcon connection.

Create "harmless" mode for testing.

So that you can connect to a production bf4 server, but it just won't send any commands which actually do anything.
So no mapchange commands, no chat commands, etc. It'll just log them instead.

Animate STV

I could even go as far as to display that animation, personalized for every person. So that they can track where their own vote ended up in o.o

[ADMIN] Eliminated Pearl
             Metro   ====
             Locker  ===
(Your vote)  Pearl   =
[ADMIN] Eliminated Pearl
             Metro   ====
(Your vote)  Locker  ==+
             Pearl   
  • Maybe also display "Your vote x2"
  • Maybe order the maps by the order the player voted in? (So, not in order of score)
  • Maybe give VIPs access to a !tally command so they can access this before the vote ends.

VIP slots

Need to add VIP slots, with backing in either MySQL or in RCON reservedSlots

VIP features TODO:

  • 2x map vote weight
  • !nominate map only for VIPs (currenly anyone can nominate)
  • Can see vote leader and runner-up.

Ballot assignments to players tracking issue.

My ballot:
grafik

Here my vote is assigned to zavod night:
grafik
Then in the next step, my vote somehow is assigned to Pearl Market, even though I never voted for it:
grafik
At least the score(Pearl) doesn't increase, and the score(Firestorm) increases, which is where my votes ended up in. So STV itself is still correct, just not how I track where a player's vote ended up.

Distr { distr: {MapInPool { map: ZavodNight, mode: Rush, extra: () }: Ratio { numer: 2, denom: 1 }} }

elem_t(MapInPool { map: ZavodNight, mode: Rush, extra: () }, MapInPool { map: PearlMarket, mode: Rush, extra: () }):
 ==> Distr { distr: {MapInPool { map: ZavodNight, mode: Rush, extra: () }: Ratio { numer: 0, denom: 1 }, MapInPool { map: PearlMarket, mode: Rush, extra: () }: Ratio { numer: 2, denom: 1 }} }

User interface useability and utilization for unification of the unilaterial unfestered ubiquitously implementation

  • Reduce messages to players who already voted to only show their current ballot and /v to vote again
  • Simplify the vote message/instructions e.g. "Type a number or mapname from below to vote:"
  • Remove the requirement to use ! to vote OR include ! in the ongoing maplist (!1 locker !2 metro...)
  • Simplify example of voting, always show the number variant first "Indicate 1st 2nd and 3rd preference e.g. !1 2 3"
  • Add a spam message to the existing spam bot message queue "VIP's can "!nominate mapname" for themapvote"

Voting enhancements

mapvote

Add support for voting with numbers !1 2 3

Also possibly add an option for voting with shorter map names? The shortest unambiguous name.
For example:
!metro
!metr
!met

Configurable shortest character count to prevent conflicts with other plugins? Or perhaps an option to add reserved commands in blacklist?

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.