Results 1 to 10 of 10

Thread: Player class .ban()

  1. #1

    Player class .ban()

    I know it has likely been intentionally left out, but I would like to plead my case for having some way to ban abusive players via scripting.

    I keep a fairly popular "dedicated server" up near 24/7 for my deckbuilding game series. While the latest additions of onChat() and getSpectators() functions have been a godsend, having the ability for my whiteListed admins to be able to ban abusive players would be very helpful. We occasionally have trolls that will join the table over and over while spamming their mic and chat. My moderators and admins can continually kick them over and over, but it typically requires me remoting into the server and manually banning to deal with them for good.

    If you guys are set on not allowing .ban(), perhaps a compromise could be made by either allowing promoted players to use the default /ban chat command, or allowing some sort of rcon (essentially forward a message that the host would then submit).

  2. #2
    Probably will not come since currently ban means kick + add on block list of the host (who is the only person that can ban). So they would have to introduce bans bound to tables (expiring after session ends?) or something like that, or players that ended up on the receiving end of player.ban() will clutter host block list.

    It wouldn't be hard to make a "ban" button available for promoted players (spawned on something) that would also add the player to a list that kicks him on join every time from now on.

  3. #3
    Quote Originally Posted by dzikakulka View Post
    Probably will not come since currently ban means kick + add on block list of the host (who is the only person that can ban).
    I do not see any issue with that; that is what I am wanting.


    Quote Originally Posted by dzikakulka View Post
    It wouldn't be hard to make a "ban" button available for promoted players (spawned on something) that would also add the player to a list that kicks him on join every time from now on.
    The only way for that to function would be to have a timer that checks all players at the table every so often and kicks them if their steam_id matches one in that table of "banlist" players. There is nothing in the API to catch a player that just joins the table and sits in spectator spamming their mic. While that is a workaround that has been suggested to me before, it is cumbersome and requires a timer to be running indefinitely (which has issues when you have a table up for days/weeks at a time).

  4. #4
    Use a coroutine if you don't want a timer (what issues are there if you run it long?). Check for player count every frame, compare with the last value, handle if changed.

    Quote Originally Posted by 3volution View Post
    I do not see any issue with that; that is what I am wanting.
    players that ended up on the receiving end of player.ban() will clutter host block list
    This could screw up someone beyond the scope of having to reopen the table which is not good.

  5. #5
    Join Date
    Apr 2016
    Posts
    157
    You could try my auto promote mod and see if that fits your needs.

  6. #6
    Quote Originally Posted by Flolania View Post
    You could try my auto promote mod and see if that fits your needs.
    I'm not trying to sound rude, but how would that be of any assistance? If promoted players had access to ban, I wouldn't have made this thread. All that a promoted player can do regarding player administration in stock TTS is mute other players.

  7. #7
    Quote Originally Posted by dzikakulka View Post
    Use a coroutine if you don't want a timer (what issues are there if you run it long?). Check for player count every frame, compare with the last value, handle if changed.
    This could screw up someone beyond the scope of having to reopen the table which is not good.
    After a few days of uptime, timers and some digital objects stop functioning. Have had a few issues with object physics behaving erratically over the last few updates as well, when up for a few days.

    I still do not see any issue of adding entries to the host's block list though. That is what I am wanting. It is a lot more elegant and less resource intensive than checking a table on a timer/onUpdate. Ideally Player.admin should be able to administrate a table, regardless if they are .host or .promoted.

  8. #8
    Join Date
    Apr 2016
    Posts
    157
    Quote Originally Posted by 3volution View Post
    I'm not trying to sound rude, but how would that be of any assistance? If promoted players had access to ban, I wouldn't have made this thread. All that a promoted player can do regarding player administration in stock TTS is mute other players.
    Quote Originally Posted by 3volution View Post
    My moderators and admins can continually kick them over and over, but it typically requires me remoting into the server and manually banning to deal with them for good.

    If you even looked at my mod then you'd would of seen that I offer a solution. My auto promote simply mutes non whitelisted people instantly on join, ;It could be easily be modified as a black list and auto kick people on join. (No need to ban when they are auto kicked faster than than you could do anything manually.) You wanted a solution, I gave you one. Now on your later point of running a server over a length of time: only need to keep the last few idiots in a ban list. Any more would be pointless as you can only have 10 people max. A simple list lookup is fine.

  9. #9
    Quote Originally Posted by Flolania View Post
    If you even looked at my mod then you'd would of seen that I offer a solution. My auto promote simply mutes non whitelisted people instantly on join, ;It could be easily be modified as a black list and auto kick people on join. (No need to ban when they are auto kicked faster than than you could do anything manually.) You wanted a solution, I gave you one. Now on your later point of running a server over a length of time: only need to keep the last few idiots in a ban list. Any more would be pointless as you can only have 10 people max. A simple list lookup is fine.
    Sorry for presuming that you meant that promoting someone via an auto promote mod would cover what I was requesting (that being the ability to ban players from my table without having to manually do so on the host account).

    I've actually seen your mod previously and can see the use for it in a lot of applications. I do appreciate the effort in offering a solution.

    For my pseudo 'dedicated server' for TTS though, polling a list of players and checking their steamIDs against a table of blackListed players every single frame has proven more resource intensive than I would like when previously tested. We've had issues of the new voice chat cutting out, object physics spazzing out occasionally, and timers randomly terminating when uptime surpasses a few days, all happening more frequently when doing anything on update(). I believe there is still a garbage collection issue going on and occasional Steam server desynchs. Just for reference, the table is hosted on a high spec server (Xeon E3-1240v3, 32GB ECC RAM, OS and Steam/TTS installed on SSD, etc.) with a dedicated 1Gbps up and down hardwired Internet connection that is properly port forwarded, and the TTS mod is carefully scripted to be as efficient and as less taxing as possible.

    Simply allowing the option to properly ban players via scripting would alleviate the issue of having to check blackListed/banned players against a table on a timer, or do so every single frame (as there's no sort of onJoin in the API to hook a player).

  10. #10
    Join Date
    Apr 2016
    Posts
    157
    Quote Originally Posted by 3volution View Post
    We've had issues of the new voice chat cutting out, object physics spazzing out occasionally, and timers randomly terminating when uptime surpasses a few days.
    TTS was never meant to have a server running more than a day, hence all the errors you're seeing. I'd simply suggest restarting TTS every ~12 hours.

Similar Threads

  1. Replies: 4
    Last Post: 06-12-2017, 08:37 AM
  2. Multi-Player verses Single-Player Games Saves
    By Ajkiger1 in forum General Discussion
    Replies: 4
    Last Post: 06-01-2017, 09:32 PM
  3. Replies: 3
    Last Post: 01-29-2017, 06:14 AM
  4. Replies: 1
    Last Post: 01-18-2017, 09:18 PM
  5. Replies: 0
    Last Post: 03-03-2016, 08:50 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •