-
-
Notifications
You must be signed in to change notification settings - Fork 928
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
Allow server to supply a reason to kicked / banned clients #7756
Comments
bjarnithor99
added a commit
to bjarnithor99/OpenTTD
that referenced
this issue
Dec 12, 2019
…d clients This commit adds the missing feature of allowing the server owner to provide a reason for kicking/banning a client. The implementation extends the network protocol by adding a new network action called NETWORK_ACTION_KICKED that is capable of having an error string, unlike the other network error packages. Additionally, the kick function broadcasts a message to all clients about the kicked client and the reason for the kick.
bjarnithor99
added a commit
to bjarnithor99/OpenTTD
that referenced
this issue
Jan 13, 2020
…d clients This commit adds the missing feature of allowing the server owner to provide a reason for kicking/banning a client, which the client sees in a pop-up window after being kicked. The implementation extends the network protocol by adding a new network action called NETWORK_ACTION_KICKED that is capable of having an error string, unlike the other network error packages. Additionally, the kick function broadcasts a message to all clients about the kicked client and the reason for the kick.
bjarnithor99
added a commit
to bjarnithor99/OpenTTD
that referenced
this issue
Jan 21, 2020
…d clients This commit adds the missing feature of allowing the server owner to provide a reason for kicking/banning a client, which the client sees in a pop-up window after being kicked. The implementation extends the network protocol by adding a new network action called NETWORK_ACTION_KICKED that is capable of having an error string, unlike the other network error packages. Additionally, the kick function broadcasts a message to all clients about the kicked client and the reason for the kick.
LordAro
pushed a commit
that referenced
this issue
Feb 4, 2020
This commit adds the missing feature of allowing the server owner to provide a reason for kicking/banning a client, which the client sees in a pop-up window after being kicked. The implementation extends the network protocol by adding a new network action called NETWORK_ACTION_KICKED that is capable of having an error string, unlike the other network error packages. Additionally, the kick function broadcasts a message to all clients about the kicked client and the reason for the kick.
douiwby
pushed a commit
to douiwby/OpenTTD
that referenced
this issue
Apr 16, 2020
…d clients This commit adds the missing feature of allowing the server owner to provide a reason for kicking/banning a client, which the client sees in a pop-up window after being kicked. The implementation extends the network protocol by adding a new network action called NETWORK_ACTION_KICKED that is capable of having an error string, unlike the other network error packages. Additionally, the kick function broadcasts a message to all clients about the kicked client and the reason for the kick.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The problem
Right now, when a server operator wants to kick or ban a client, the client is booted straight back to the main menu with a simple "You have been kicked" UI message.
This is fine for basic usage, but quite often it is extremely useful to provide the client with extra context as to why they have been kicked or banned, so that they may learn from their misdemeanours. Right now, the only way to achieve this is to send a direct message to the client immediately before kicking them - however, this isn't particularly obvious to the offending client, because it is only visible in two places:
The suggested solution
It would be incredibly helpful to operators to be able to define a reason alongside kick / ban commands that are then displayed to the user (and to the rest of the server in the disconnect reason posted in chat).
For example, a player breaching rules may get a UI console prompt with something like
You have been kicked: 'Please don't destroy trees'
, orYou have been banned: 'The administrator didn't like the cup of tea you made for them'
. The message would also be displayed in the server chat for everyone else, for example:* Player has left the game (Kicked: 'Please don't destroy trees')
.This will probably involve adding message data to a kick packet, so it'll need a networking change.
The console commands
kick
andban
could simply be extended to the format[kick|ban] [clientid|ipaddress] (reason)
(where the reason is optional), allowing backwards compatibility with existing scripts that call these commands.Bonus points
For extra bonus points, adding functionality to the ban system to record that reason with the IP address in
openttd.cfg
(so that when the client tries to reconnect they get the same message) would round off this new functionality exceptionally well.The text was updated successfully, but these errors were encountered: