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

Makes restart votes not restart the server if admins are online #11155

Merged
merged 5 commits into from Aug 19, 2015
Merged

Makes restart votes not restart the server if admins are online #11155

merged 5 commits into from Aug 19, 2015

Conversation

Niknakflak
Copy link
Contributor

Restart votes exist to restart the server if something goes horribly wrong and it needs to be restarted, not because "I ded, restart"

If admins are on, they can already restart the server with verbs if something goes horribly wrong and the server needs to be toasted. Therefore, the restart vote will pass if they are online but do nothing.

It also checks if the admins are afk so votes will still go through if you have a bunch of afk admins

@@ -116,7 +116,18 @@ var/datum/subsystem/vote/SSvote
else
master_mode = .
if(restart)
world.Reboot("Restart vote successful.", "end_error", "restart vote")
if(!admins.len)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this means the restart vote won't work if there aren't admins.

@optimumtact
Copy link
Member

actually 👍 yes

@Cheridan
Copy link
Contributor

Might as well stop the vote from happening together. If admins want democracy they can make their own vote.

@Niknakflak
Copy link
Contributor Author

If enough people are dead and or want to restart the round, letting the vote pass will reflect without instantly ending the round and admins can react in turn to this information in other ways.

@ChangelingRain
Copy link
Contributor

If the restart vote actually has enough people saying restart to pass, it's probably passing for a reason, because even at the most butthurt it's usually only 25-30% of the people on saying yes.
👎
Also this is literally a meme, players already think that votes don't work if admins are on, come on.

@Cheridan
Copy link
Contributor

if enough people are dead and want to restart the round, you'll be able to tell by them chanting "SEND DEATHSQUAD".

@Niknakflak
Copy link
Contributor Author

Because admins cancel them everytime, EVERYTIME. This just makes the solution concrete.
Just because there are a bunch of salty dead players, does not mean they have a right to end the round pre-maturally when other methods such as an admin ending it through IC means is available. If no admins are online, these alternative solutions are not possible and therefore the votes will actually reboot the server in that case.

var/active_admins
active_admins = total_admins - afk_admins
if(active_admins <= 0)
world.Reboot("Restart vote successful.", "end_error", "restart vote")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs an else, to let the users know that it is waiting on the admins.

As well as let the admins know that they need to decide to restart.

This way admins can allow a restart vote, and if it passes, decide to restart the server, AND users know this is going on.

Improve the check for active admins
return
var/total_admins
var/afk_admins
for(var/client/C in admins)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

He copied this from ahelp code, where it calculates afk admins for reporting.

MrStonedOne and others added 2 commits August 11, 2015 22:03
It will only count admins who can actually restart the server.

It will stop searching for admins once it finds one.

It will let the users and admins know that the restart vote will not automatically restart the server because of the active admins.
improvements to vote restart when admins are on
@PKPenguin321
Copy link
Contributor

while we're at it,
i think we should separate "did not vote" votes from "no" votes a little bit more, so that restart votes have a better shot at passing
for example, "Voted Yes: 23, Voted No: 2, Did not vote: 25" would normally result in "Yes: 23, No: 27" and the vote would fail
instead we should have something that automatically subtracts like 5 from the did not votes and then combine them with the no votes so didn't-vote votes don't mean quite as much. (which would make the previous example look like "Voted Yes: 23, Voted No: 2, Did not vote: 25" -> "Yes: 23, No: 22")

the reasoning for this is because i recently had a round on sybil where there were no admins for an extended period of time, and the nuke ops had killed literally everyone but a lawyer and somebody meta'd their shuttle and spaced the nuke, meaning the round was effectively a stalemate. a restart vote came around (that had valid reasoning and by all means should have passed), but it lost by like 3 votes because so many people just go AFK and wait for the round to end.

if this is out of the scope of this PR i'll post this in the ideas forum or something

@Niknakflak
Copy link
Contributor Author

Do not votes are counted as Nos because it's assumed that they are content with the round but didnt choose to vote. I think anyway....

A better solution would be for restart votes to ignore AFKs in their system completely.

@PKPenguin321
Copy link
Contributor

but the thing is, in the round i mentioned that stalemated, a bunch of people got bored in deadchat and just alt+tabbed, meaning they would have voted yes but didn't because they weren't even aware of the vote

A better solution would be for restart votes to ignore AFKs in their system completely.

this sounds good in theory, but you and i both know a bunch of joke restart votes will pass because of this

@GunHog
Copy link
Contributor

GunHog commented Aug 12, 2015

The restart vote is an emergency system only, at least that is how I see it. As previously stated, it is not for "i ded plz restart", it is for when the round has bugged out or reached an unreasonable state. It is an admin's duty to ensure that rounds to do not reach such extremes, therefore this system should only exist to allow players to fix the server themselves in the absence of admins.

@Niknakflak
Copy link
Contributor Author

That's what this PR does

@MrStonedOne
Copy link
Member

thats a config option pk

@freerealestate
Copy link
Contributor

Seems like a pointless change given restart votes fail 99% of the time anyway

I think I've seen four go through in three years, all due to bugs making the game unplayable (i.e. never due to "i ded restart", and due to admins not being quick enough to restart the game themselves despite it being broken)

It'd be interesting to know the situation you were in when you found yourself overrun by players wanting to restart the game, when you yourself didn't.

@theOperand
Copy link
Contributor

lmao restart votes never pass anyway, whats the point of this in the first place

@Jordie0608
Copy link
Member

I saw one pass once.

@Dorsisdwarf
Copy link
Contributor

They pass a lot on basil.

I once got a restart vote called when I dunked all 6 people on the station, set the singulo free, then blew myself up with C4

@freerealestate
Copy link
Contributor

Yeah, they should pass in that situation.

On 12 August 2015 at 23:54, Dorsisdwarf notifications@github.com wrote:

They pass a lot on basil.

I once got a restart vote called when I dunked all 6 people on the
station, set the singulo free, then blew myself up with C4


Reply to this email directly or view it on GitHub
#11155 (comment)
.

@GunHog
Copy link
Contributor

GunHog commented Aug 12, 2015

That is a case of the system working properly. I presume that admins are rare on Basil, so they players there must govern themselves. This change would not affect them much. When they have admins online, it then becomes that admin's job to handle things such as complete murderboner and the like.

Also, there used to be a check that restarted the round if everyone died. What happened to that?

@freerealestate
Copy link
Contributor

That check made testing locally a pain

On Thu, Aug 13, 2015 at 1:04 AM, GunHog notifications@github.com wrote:

That is a case of the system working properly. I presume that admins are rare on Basil, so they players there must govern themselves. This change would not affect them much. When they have admins online, it then becomes that admin's job to handle things such as complete murderboner and the like.

Also, there used to be a check that restarted the server if everyone died. What happened to that?

Reply to this email directly or view it on GitHub:
#11155 (comment)

@WJohn WJohn added the Administration As generous gods, we have deigned to throw the jannies a bone label Aug 12, 2015
@Lumipharon
Copy link
Contributor

Votes almost never pass. When they do, it's for a good reason. Why change this? Pretty sure admins can cancel votes, if for some reason having over 50% of people actively saying 'this round is utterly fucked' doesn't matter to them.

@Niknakflak
Copy link
Contributor Author

Because that's not the function of restart votes. The votes exists to solve a code problem or in a situation where the server can't restart, not just because 50% of the players are dead and are salty in deadchat. If admins are online, the vote would get cancelled and an admin would stir in IC things to end the round instead of just instantly making it end. When admins are not online, that option is viable so the votes actually work without them. I stated this like 3 times now

@ike709
Copy link
Contributor

ike709 commented Aug 12, 2015

Stop saying votes almost never pass. Votes never pass on Sybil. They pass on Basil fairly frequently. This is a good change and the only way to improve further would be to have "Did not vote" stop counting as "No". If they're content with the round, then they should vote "no". You shouldn't get butthurt if it passes when you didn't vote in the first place.
👍

@MrStonedOne
Copy link
Member

the only way to improve further would be to have "Did not vote" stop counting as "No". If they're content with the round, then they should vote "no". You shouldn't get butthurt if it passes when you didn't vote in the first place.

This is a config option.

@Lumipharon
Copy link
Contributor

@Niknakflak if over 50% of players are 'salty in dead chat' to the point they all actually vote for a restart, tha means it's more then just 'i ded pls restart'

ie: mcfaggot killing the entire crew an just recalling endlessly to try hunt down the last guy while 30 people sit with their dicks in their collective hands for an hour.

Or you know, the server going to shit.

@Niknakflak
Copy link
Contributor Author

You miss the point. That reason doesn't even apply if admins are on as they can solve that issue of mcfaggot recalling endlessly through IC means or deleting the console therefore ending the round organically and not fucking any antags round up by ending it abruptly.

If no admin is online, that can't be done therefore the votes will be allowed to work if no admins are online because the above solution can't be used.

@Aranclanos
Copy link
Contributor

I don't think this is done properly, the admins should probably get a query if they accept the restart vote BEFORE the vote is done and the entire server is informed

@Niknakflak
Copy link
Contributor Author

That's not the point of this PR though, that's not what needs to happen. This isn't about an admin using the vote to restart.

@Aranclanos
Copy link
Contributor

WHAT I WANT:
1-PLAYER SELECTS RESTART VOTE
2-ADMIN ACCEPTS IT
3-ENTIRE SERVER IS INFORMED ABOUT THE VOTE, EVERYONE CAN VOTE
4-RESULTS OF THE VOTE HAPPEN

@optimumtact
Copy link
Member

we dont' always get what want

@freerealestate
Copy link
Contributor

we get the world we deserve..........................

On 15 August 2015 at 12:14, Orange Borg notifications@github.com wrote:

we dont' always get what want


Reply to this email directly or view it on GitHub
#11155 (comment)
.

@Niknakflak
Copy link
Contributor Author

No, that's not that purpose of restart votes. They aren't supposed to be used that way.

  1. Player makes restart vote when admin is online because they want the round to end
  2. Players vote on it and whatever outcome happens, does nothing but admins see it and take note.
  3. Admins either end the round naturally but immediatly using their special button or end the round by calling the shuttle, or just doing an immediate server reboot.

If admins are offline.

  1. Player makes restart vote because the round is bugged and or a dickbag antag wont let the round end.
  2. the vote passes or fails depending on player votes.
  3. server reboots if it passes, does nothing if fails

What you want Aran does nothing

@MrStonedOne
Copy link
Member

Aran.

What happens if the status of admins changes while the vote goes on? HMMM???????

The check should be after, not before.

And there is no need to commit to a restart vote, the admin may want to use it purely to gauge server interest in restarting, then use that info to decide how many fun buttons to hit to help the round end.

Here, let me try speaking your language:
QUIT TRYING TO MAKE THIS SPECIALIZED.
THAT'S THE APPLE WAY, THIS IS A WINDOWS SERVER.
KEEP IT GENERIC, ALLOW THE ADMINS TO USE THE RESTART VOTE FOR NEW AND EXCITING THINGS.

Jordie0608 added a commit that referenced this pull request Aug 19, 2015
Makes restart votes not restart the server if admins are online
@Jordie0608 Jordie0608 merged commit fb1e5ea into tgstation:master Aug 19, 2015
@freerealestate
Copy link
Contributor

really gay

On 19 August 2015 at 21:07, Jordie notifications@github.com wrote:

Merged #11155 #11155.


Reply to this email directly or view it on GitHub
#11155 (comment).

@optimumtact
Copy link
Member

wow it's fucking nothing to get upset about jesus

@freerealestate
Copy link
Contributor

calling it really gay really isn't getting upset

On Thu, Aug 20, 2015 at 9:09 AM, Orange Borg notifications@github.com
wrote:

wow it's fucking nothing to get upset about jesus

Reply to this email directly or view it on GitHub:
#11155 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Administration As generous gods, we have deigned to throw the jannies a bone
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet