SERVER {SF} Auto Tips, Lamer Detection, Anti Spam, 16/7 Admin

Discussion in 'Community Teams & Servers' started by isair, Jan 27, 2018.

  1. isair

    isair

    Posts:
    28
    Likes Received:
    30
    Description

    Based in London.

    Map lists are up to date with the latest patch, separated into two lists based on suitability, and available for voting via RTV.

    I have forked and heavily modified RTVRTM for various purposes. Right now, on the duel server, I am collecting server logs concerning laming cases and details of players who have lamed in those logs so I can build a system using machine learning to automatically detect lamers.

    Features:
    - Tips for new players every round. Tips are specialized based on what server you are on and what mode the server is on.
    - [Duel] Lamers are automatically tagged, warned, and given enough offenses, kicked. All incidents are sent to me as mobile push notifications and additional information is logged to disk.
    - [Open][FA] Automated anti-spam system specifically built to detect spams of bound say commands and allow normal human chat even if it is fast. The penalty for spamming is being muted for 10 minutes.
    - Important chat messages are sent to me as mobile push notifications. Like ones that report a lamer or glitcher. These messages have the info on who killed you last to make banning easy if necessary. If the volume of these is too high, they are aggregated to prevent spam.
    - I can take actions from my phone via an ssh connection. And an app is coming soon so it'll take me a second or two to take an action in response to any kind of issue if human intervention is required.
    - Flood protection enabled.
    - Unpure clients (modified pk3 files) are welcome.
    - Maximum dismemberment. Client settings must match though, so make sure you type seta cg_dismember 100 in the game console.
    - Servers are dockerized and restart themselves automatically upon any type of failure.
    - RTVRTM restarts itself upon any type of failure.
    - Servers scale automatically if system resources are not enough so players will always have a great experience. One of the many advantages of hosting on an Amazon EC2 instance.

    [​IMG]

    Servers

    {SF} Duel Auto Noob Tips
    52.56.157.28:29070

    {SF} Open Auto Noob Tips
    52.56.157.28:29072

    {SF} Fun No Rules
    52.56.157.28:29071

    Sometimes there is another server you can see on the master list but I use that for development purposes.

    Ban Objections

    If you've been banned and you think it's in error, drop a message on our Discord: Discord - Free voice and text chat for gamers
     
    Last edited: Feb 23, 2018 at 1:53 AM
  2. MuscBodypillow

    MuscBodypillow

    Posts:
    52
    Likes Received:
    29
    The idea of using ML for detection is interesting but I would never advise for such a thing personally. Considering that such detection is highly dependent on the alg, its hyperparameters and the data used, it is highly possible that the data cannot represent such subjective behaviour. If the goal is only detection, that's fine but if you use that to automatically ban people, you will have false positive and false negative for sure. I would need to know the log content in depth to be completely sure that it's not appropriate but currently I have all my doubts. Also I doubt you can do data augmentation to increase robustness and generalisation so that's another important point to be considered when attempting to use ML.
     
  3. isair

    isair

    Posts:
    28
    Likes Received:
    30
    Apologies for the late reply.

    You are right about the false negatives and positives. To go into more detail:

    I have finished implementing a more customized banning system that I'm using right now, which will also be used as a base for the system I mentioned. When using the !ban command, users are added to a list with a log snapshot of when they were banned so the bans can be reviewed easily.

    On top of this, I will be building a non-ML system based on players mentioning being lamed, who these players are killed by, how many of the people being killed by these killers mention being lamed, and the times between kills of them. I have been banning lamers by hand using just the logs and remote rcon commands with over 90% accuracy (seem to get 2 wrong out of every 30 bans) and have taken notice of some clear patterns concerning these variables. There are also a couple edge cases like ganking on a legit player by many lamers which have also been taken into account as well. However, not all lamers can be caught this way. For example, it's difficult to tell when a player lames AFK players every now and then. However, this will serve as an invaluable tool for data collection, and as a temporary system until the better one is implemented. I'll also be reviewing bans every weekday to minimize the impact of any false positives and to make some quick tweaks if need be.

    To make the ML system work, after building the previous system I mentioned, I will be forking OpenJK to include additional logs such as combat engagement data. I'll also look at logging additional user data at the time of a kill as, for example, seeing BP in the kill logs would help a lot. As I have more cases in my hand, I'll see what else should be included in the logs as well.
     
    Last edited: Feb 2, 2018
  4. noel

    noel Internal Beta Team

    Posts:
    235
    Likes Received:
    197
    I noticed one of your tips about Perfect Parries stops says that it stops damage being done to you

    I think you got it confused with pb as currently perfect parries do nothing unless you're using cyan which in that case they cause a stagger

    cool idea for a server
     
    n00b likes this.
  5. isair

    isair

    Posts:
    28
    Likes Received:
    30
    Oh, thanks! It'll be fixed on the next server restart.
     
  6. Noob

    Noob Donator

    Posts:
    830
    Likes Received:
    711
    you know what mb2 needs? artificial intelligent admins
     
    Almapa and isair like this.
  7. isair

    isair

    Posts:
    28
    Likes Received:
    30
    I have implemented a basic version of the automatic lamer kicking and banning system which partially covers these two types of lamers:
    1. People who go online, and start laming serially. The most malicious type. Some of these guys usually steal another player's nickname.
    2. People who run into dueling pairs and kill them, not necessarily often.

    It has been running for half a day now and I'm very happy with the results. It nowhere near detects most of the lamers but it's a good start.

    How it works is that an overall laming score is calculated by aggregating return values of different algorithms that each give you a laming score based on behaviors they check. Based on the final score you get, you either get warned, kicked, or banned.

    Soon to be covered are people who lame by choking/pushing others into lava, and via other similar actions. And then a reporting system will be implemented using commands !lamekilled and !lamer <playername> which will allow some not-so-serial lamers to be caught by the system. (Those commands will only work if the player you are reporting has killed you, and then there are some extra checks)

    [​IMG]

    Here is a snapshot of how the whole thing works. All the "Suspect: <id>" lines you see are warned players. The timestamps are the time of printing and not when the action is taken as docker logs seem to let the output buffer build up for background processes before printing it all out.

    It has been a very busy month in our startup, so I'm just getting time to work on this properly. Expect a lot of improvements over this week.
     
    Last edited: Feb 12, 2018
    Almapa and noel like this.
  8. isair

    isair

    Posts:
    28
    Likes Received:
    30
    I have seen a very interesting behavior by a troll named cat today (and a second client from the same IP with a different nickname). They were baiting people into laming. Since all incidents are logged, cat has been perma banned instead. But thanks to them an anti-baiting logic will be implemented soon as well.
     
    Last edited: Feb 21, 2018 at 1:52 AM
  9. Eazy E

    Eazy E

    Posts:
    135
    Likes Received:
    140
    This is what the Matrix warned us about. Weird isn't it? The end of humanity begins on MB2, it's almost as if we should've expected it.
     
    isair and Hexodious like this.
  10. isair

    isair

    Posts:
    28
    Likes Received:
    30
    I have relaxed the automated laming punishments until the reporting system is implemented as in chaotic conditions, or in cases of baiting, its judgment could be wrong. Now even player warnings are logged to disk and all actions that cause a ban now just cause a kick. The catch is that now a push notification system has been implemented that allows the viewing of a short report of any incidents so bans will still be coming to those who deserve it, fast.

    Apologies to anyone who's had a bad experience.

    [​IMG]

    maxi, for example, was banned shortly after the notifications about them. Since that wasn't an automated action it doesn't have a notification here.
     
    Last edited: Feb 19, 2018 at 2:58 AM

Share This Page