ID:119254
 
Redundant
Applies to:Dream Daemon
Status: Redundant

This feature has already been implemented, or is already achievable with existing methods.
OK, so when you kick someone, they are banned till for the whole hosting period. I think it should be they are booted but they can just reconnect.

I should explain why I need it, well I'm hosting this game and the player limit is 12 and a few people are logged on but they are AFK i don't wanna ban them for the whole session just kick them so others can join the server.
The reaosnable assumption is that if you kick someone out it's because you don't want them to immediately come back in.

A possible alternative however would be offering more choices for kicking, including letting the user set a timer on the kick so it expires after a while.
Lummox JR wrote:
The reaosnable assumption is that if you kick someone out it's because you don't want them to immediately come back in.

A possible alternative however would be offering more choices for kicking, including letting the user set a timer on the kick so it expires after a while.

Well that would work like all I wanna do is boot AFK People, so others can join.

Cause the game in question only allows 12 people on the server, so I kick them from dream daemon but that bans them for the whole session.
Then make a verb on the game that has something like:

mob/staff
....verb
........Kick_AFK_Users() //verb name
............for(var/mob/M in world) //any mob in the world defined as M
................if(M==usr) //checks if M is you
....................continue //skips your username
................if(M.AFK) //checks if they are afk
....................del(M) //boots them

so that then when you see them AFK, just have your account logged in and press that verb.
You shouldn't use usr in verbs unless they have a src setting. You could more effectively filter yourself from that loop with for(var/mob/M in world-src). Instead of deleting the mob, you should delete their client, for a more natural logout. If you're going to automatically detect AFK status with a variable like that, you would probably be better off auto-booting them...
Also, all of that assumes that this person has access to the source, and isn't just a host.
It also doesn't make sense that kicking someone from DD places a temporarily permanent ban on them in the first place...
It's not "temporarily permanent", which is a ridiculous phrase, just a session ban. The assumption behind Kick and Ban is that in either case you want to get rid of the user for something they did, not for simply violating an arbitrary user limit (which is silly to enforce manually if there are any alternatives). So Ban bans for good, and Kick bans for the session.
A session ban as the effect of kicking somebody is just as ridiculous as the terminology that I used to describe it. A kick is meant to instantly, but temporarily remove somebody from the game. Not to permanently remove them from the game for as long as it remains hosted, which on a decent game/host could be days. There is already a ban system in place to do just that, if desired. What's the point of even having a Kick option on top of a Ban option when they're going to yield nearly identical results?
I don't see how using a session ban for a kick is any stranger than using none at all. The assumption that kicking someone is intended to keep them out for a while is at least as reasonable as the one that they should be able to come back instantaneously. In your style of games, I see where this breaks down because obviously the game isn't hosted in discrete sessions; for pick-up games this is completely different.

The best choice here, as I said from the beginning, would be to add an option allowing greater flexibility on the way Kick behaves.
Considering it just uses the ban system anyway, why not just remove the "Kick" option, and after you ban somebody, prompt for a time period?
How about when you kick someone, just go immediately remove the ban right afterwards.
In response to BlueLightningSamurai
BlueLightningSamurai wrote:
How about when you kick someone, just go immediately remove the ban right afterwards.

Most people probably wouldn't even be aware that kicking somebody actually bans them. That is also a pointless extra step, and the entire system is redundant when kicking bans and banning bans.
Ter13 resolved issue (Redundant)

User administration options are best left to the developer.