Pryaxis / orion-core

The next generation Terraria Server API.
https://pryaxis.github.io/orion-core
GNU General Public License v3.0
31 stars 12 forks source link

Bans #41

Closed QuiCM closed 4 years ago

QuiCM commented 7 years ago

How would we like bans to work? I believe there was a brief discussion in Slack involving a suggestion to simply have an 'enabled/disabled' flag on each account. Plugins simply modify this value to 'ban' a user and track any other information they may need independently (e.g., banned/disabled datetime, reason, who banned the account).

Suggestions? Feedback?

Ijwu commented 7 years ago

I would like to see a detailed ban system as a part of TShock 5. I think bans are a big part of game server administration, so providing a proper toolset out of the box is what I'd like to aim for.

I'd like to see these things at a minimum:

These things should be present in TShock 5 and not Orion. Orion should provide the capability to remove players from the server, but bans should be tracked entirely in TShock 5. TShock should provide the banning services entirely on its own.

QuiCM commented 7 years ago

To confirm, you'd like bans to be completely separate from Orion (no services, no enabled/disabled flag on accounts) and purely handled by external sources (such as TShock or any other plugin that chooses to implement a banning system)?

Ijwu commented 7 years ago

Yes, allow me to elaborate.

I don't see bans being a part of Orion. That's a functionality to aid server administration and so it should live solely in TShock. TShock should provide the ban service interfaces and implementations. TShock should handle keeping track of which users are banned and which are not.

These things will be tied into the AAA services eventually, of course. But those services are moving from Orion into TShock 5 anyway. They only exist in Orion right now to enable development.

Patrikkk-zz commented 7 years ago

I agree with @Ijwu . Since user system will be part of TShock 5, bans should be going in there too.

QuiCM commented 7 years ago

For clarification: AAA service definitions will be remaining in Orion, while implementations will be TShock (unless I have missed conversation about this recently)

Ijwu commented 7 years ago

@WhiteXZ @Patrikkk and I have discussed this in Slack. The results of our conversation would be that I agree with @WhiteXZ.

Service definitions should remain in Orion as TShock carries implementations only.

The purpose of this is to avoid building a relationship chain in which other plugins require TShock for their baseline functionality.

hakusaro commented 7 years ago

I'm inclined to say that bans are very independent of accounts -- but they're essential to a game server. Any server that exists will necessarily have bans, and thus, the service definition fits in Orion.

That being said, bans have to cover a wide variety of use cases, because IP bans, IP range bans, hostname bans, dnsbl, etc., are all variable, as well as things like disabling accounts.

hakusaro commented 7 years ago

(Disabling an account will actually do very little unless you're a whitelist only pay server)

tylerjwatson commented 7 years ago

For clarification: AAA service definitions will be remaining in Orion, while implementations will be TShock (unless I have missed conversation about this recently)

Nope, this much is set in stone

kevzhao2 commented 4 years ago

Closing this issue as it is not relevant atm.