Kick/Ban Command



  • Hello all. Great game so far and an even greater forum with a lot of useful information.

    We have our server setup but are running into some issues with admin commands in regards to kicking and banning.

    As I understand it, the AdminKick and AdminKickBan commands dont automatically remove a player but rather start a vote for them to be removed. I found this out by testing kicking someone with bEnableVoteKick=false (didnt want players abusing this command) and receiving a “votekick is disabled” message.

    So I switch the value back to true but set it so that only admins can start a vote and mess with the settings a bit more so that a vote doesnt have to be initiated:

    bEnableVoteKick=true
    bEnableVoteChangeMap=true
    bEnableVoteResetMap=true
    bOnlyAdminsCanInitiateVotes=true
    bOnlyAdminsCanVote=true
    bOnlyTeammatesCanVoteKick=false
    bOnlyTeammatesAbstainsCountAgainstMinimum=false
    fVoteMinAmountNonAbstainers=0.000001
    fVoteSuccessThreshold=0.000001
    fVoteDurationSeconds=30.000000
    fVoteTallyUpdates=3.000000
    fVoteEnactDelaySeconds=1.000000
    fVoteTimeBetweenVoteKicksAgainstSamePlayer=1.000000
    fVoteTimeBetweenVotesFromOnePlayer=1.000000
    fVoteKickBanDurationSeconds=9999999.000000

    I tested Adminkick and ran into a few issues after logging in as admin (confirmed by the chat msg that I logged in).

    1. Typing AdminKick (or AdminKickBan) gives me the playerlist but there is a blurb that says (YOU ARE AN ADMIN, YOU MUST ADMINLOGOUT IF YOU WANTED TO START A VOTE INSTEAD). even though bOnlyAdminsCanInitiateVotes=true

    2. Once I get the playerlist from above in #1, if I type confirm # or even adminkick #, it doesnt kick the player. It was only until I did **adminkick <playername></playername>**and then confirm # that it properly kicked the player.

    3. The player was not allowed to rejoin the server after being kicked (not banned). Said they were getting an “authentication failed” message. In reading the server_doc.pdf, AdminKick should only kick the player, not ban them and write their ID to the config file:

    Adminkick - Kicks a user. Requires you to type their whole name right now, which kind of sucks. It’s a built-in command.
    Adminkickban -Kicks a user and permanently bans them (i.e. puts their IP/NetID in the config file). Also a built-in command.

    I looked in the config file and found their ID in there though. Once removed they were able to get back in the server.
    Could it be due to fVoteKickBanDurationSeconds=9999999.000000? I figured that was for AdminKickBan only:
    fVoteKickBanDurationSeconds - Duration for which a kick vote’s temporary ban lasts

    Now that Im typing it, it would make sense to have the fVoteKickBanDurationSeconds be for kicks only (temp bans) and AdminKickBan would be permanent, but might as well keep all this typing and confirm in case it would help to clarify for others as well.

    Thank you for all the hard work and continued support. We have a lot of buzz in our community about this game and are looking forward to its progress.



  • @enf:

    As I understand it, the AdminKick and AdminKickBan commands dont automatically remove a player but rather start a vote for them to be removed.

    Incorrect. Once logged in, the adminkick & adminkickban are immediate kicks/bans to remove players from your sever without a vote. If you are not logged in as a server administrator, the commands will normally open a votekick if so allowed. Normal players would use the command Votekick xxxx to normally begin a votekick against a player.

    bEnableVoteKick=true
    bEnableVoteChangeMap=true
    bEnableVoteResetMap=true
    bOnlyAdminsCanInitiateVotes=true
    bOnlyAdminsCanVote=true
    bOnlyTeammatesCanVoteKick=false
    bOnlyTeammatesAbstainsCountAgainstMinimum=false
    fVoteMinAmountNonAbstainers=0.000001
    fVoteSuccessThreshold=0.000001
    fVoteDurationSeconds=30.000000
    fVoteTallyUpdates=3.000000
    fVoteEnactDelaySeconds=1.000000
    fVoteTimeBetweenVoteKicksAgainstSamePlayer=1.000000
    fVoteTimeBetweenVotesFromOnePlayer=1.000000
    fVoteKickBanDurationSeconds=9999999.000000
    

    @enf:

    2. Once I get the playerlist from above in #1, if I type confirm # or even adminkick #, it doesnt kick the player. It was only until I did **adminkick <playername></playername>**and then confirm # that it properly kicked the player.

    Correct. Adminkick gives you a list of players. If you ONLY type Adminkick, it will list all players. Then you Confirm # of player you’re looking to kick. Think of Adminkick as a player search. You can enter no name, partial names, or full names of players to list.

    @enf:

    3. The player was not allowed to rejoin the server after being kicked (not banned). Said they were getting an “authentication failed” message. In reading the server_doc.pdf, AdminKick should only kick the player, not ban them and write their ID to the config file:

    You’ll notice in your code up there the 9999999 seconds on Votekickbandurationseconds. That’s the temp ban the players get when you kick them, in seconds. In default settings, it is 300 seconds (5 minutes). You might want to tone that back down. When you Adminkickban, it is indefinite until you remove them from the list.



  • @JHoersten2:

    Incorrect. Once logged in, the adminkick & adminkickban are immediate kicks/bans to remove players from your sever without a vote. If you are not logged in as a server administrator, the commands will normally open a votekick if so allowed. Normal players would use the command Votekick xxxx to normally begin a votekick against a player.

    Im a little confused by this. What I am trying to accomplish is to only have admins kick or ban someone. I dont want players to be able to votekick, so I set bEnableVoteKick=false, but when signed in as an admin, it told me that voting is disabled when using Adminkick in console. Perhaps I should try again if indeed AdminKick and AdminKickBan should be bypassing the vote.

    @JHoersten2:

    Correct. Adminkick gives you a list of players. If you ONLY type Adminkick, it will list all players. Then you Confirm # of player you’re looking to kick. Think of Adminkick as a player search. You can enter no name, partial names, or full names of players to list.

    Got it. So the only way to actually kick/ban is to get the full name in there. Hopefully there becomes an easier way down the road. I guess I could always enable votekick for admins in cases when they have untypeable names.

    @JHoersten2:

    You’ll notice in your code up there the 9999999 seconds on Votekickbandurationseconds. That’s the temp ban the players get when you kick them, in seconds. In default settings, it is 300 seconds (5 minutes). You might want to tone that back down. When you Adminkickban, it is indefinite until you remove them from the list.

    Yeah thats what I figured. That will be going down quite a ways now that I know its just a temp ban. :)

    Thanks for the info.



  • @enf:

    Im a little confused by this. What I am trying to accomplish is to only have admins kick or ban someone. I dont want players to be able to votekick, so I set bEnableVoteKick=false, but when signed in as an admin, it told me that voting is disabled when using Adminkick in console. Perhaps I should try again if indeed AdminKick and AdminKickBan should be bypassing the vote.

    If you are logged in as admin and type Adminkick, there should be no vote at all, regardless of it being enabled for players or not. If you are NOT logged in as admin and votekick is enabled, typing adminkick will pull up a vote. Give this another try, making sure you are logged in as admin when you attempt. (Every map change you have to log in again)

    @enf:

    Got it. So the only way to actually kick/ban is to get the full name in there. Hopefully there becomes an easier way down the road. I guess I could always enable votekick for admins in cases when they have untypeable names.

    No! You don’t have to type the full name at all. You don’t have to type ANYTHING at all, really. If all you enter is “Adminkick”, a list of all players will pull up for you to view in the console. Then you must enter “Confirm #”, depending which user number you want to kick. Even if you enter the players whole name, you will still have to enter “Confirm #”, as you limited your player search to 1 person.


Log in to reply