Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Cooldown API and forfeit votes #39

Closed
shavitush opened this issue Jul 1, 2016 · 5 comments
Closed

Feature Request: Cooldown API and forfeit votes #39

shavitush opened this issue Jul 1, 2016 · 5 comments

Comments

@shavitush
Copy link

I'd like to constantly update get5 on my servers instead of staying behind because of some features I (horribly) implemented in my servers, hopefully you'll add them!
#1. Cooldown API

When a player leaves, let him have X minutes to reconnect. If he's not coming back, call a global forward that is something like that:

forward void Get5_OnClientCooldown(const char[] steamid, int disconnectiontime);

(steamid being AuthId_Engine and disconnectiontime being the unix timestamp of the moment that player left the server)

This API will be very helpful for fully automatic servers with cooldowns system. It will allow developers to ban players for an amount of time that depends on how many times they've been banned before, with SourceBans for example. I'm willing to send a pull request that does it if you add this feature!
#2. Forfeit votes

Add a command (sm_forfeit) that initializes a vote to the players of the same team. If the whole team votes yes, stop the game and make the opposite team the winners.

Also add a global forward if possible, something like Get5_OnTeamForfeit(int team).


Thanks for reading, good luck with development! 👍

@splewis
Copy link
Owner

splewis commented Jul 2, 2016

I'm fine with them being added, but don't plan on doing it myself. Some thoughts:

  • having cooldowns like that only makes sense to me if there is a ready up system for each client instead of anyone on the team being able to ready up
  • both features would need to be disabled entirely by default

@shavitush
Copy link
Author

Alright, if I implement it soon, should I do it within the base plugin or through a third party?

@splewis
Copy link
Owner

splewis commented Jul 2, 2016

If it's going to create get5 forwards it should be in the base plugin.

Get5_OnClientCooldown should also use the steam64 id rather than AuthId_Engine since that's what the plugin stores everywhere internally. I'm not entirely sure what the purpose of the disconnectiontime timestamp either.

I would imagine the plugin should be tracking total time disconnected since match start, and when that total time reaches some cvar get5_client_cooldown_threshold (or something like that) seconds it would fire the forward.

I think to make this useful there may have to be a separate mechanism checking if clients originally connect when the match is loaded. Aka #7. Only checking leavers and not someone never connecting would be an incomplete feature imo.

@splewis
Copy link
Owner

splewis commented Mar 18, 2017

FYI: these features are only useful for a pugging system, which means they are pretty unlikely to be implemented anytime soon.

Repository owner deleted a comment from Prefix Aug 16, 2017
Repository owner deleted a comment from ItsCEED Aug 16, 2017
@splewis
Copy link
Owner

splewis commented Dec 2, 2017

I'm going to close this since I don't plan on ever implementing it, as it's not very useful for competitive plan (only for pugs/matchmaking systems).

@splewis splewis closed this as completed Dec 2, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants