Runescape Bot Classification with Machine Learning

Поделиться
HTML-код
  • Опубликовано: 8 сен 2024
  • In this machine learning project, we will explore the possibility of classifying Old School Runescape (OSRS) players into bot or not-bot classes. Bots are rampant problem in the OSRS world and entire channels and events have been dedicated to their busting.
    They’ve personally taken a lot of fun out of Runescape for me ever since I began playing in the late 2000s. Back then, I always assumed technology would advance far enough to push these bots into extinction or at least burn them down into much smaller numbers. However, it looks like they’re still around and thriving.
    That said, we'll see if we can use the latest techniques in machine learning classification to efficiently and accurately identify bots to automate the banning/busting process - thereby changing the OSRS landscape forever!
    Part 1 of the series will focus on attempting to collect data in the wonderful world of OSRS. It's not the sexiest part of any ML project but it's arguably the most important step.
    OSRS RuneFest - Bot Busting Highlights: • OSRS RuneFest: Bot Bus...
    Complementing Cows in OSRS with Machine Learning (ft. BillNyeTheAI): • Complimenting Cows usi...
    Player Data CSV: github.com/chr...
    Thank you all for being the amazing community you have been and I hope to see you all here again soon!
    ___________________________________
    All code available via GitHub: github.com/chr...
    For more questions, comments and chill chats: / discord
    Sick OSRS bops: / @osrsbeatz

Комментарии • 65

  • @11myRSvidz11
    @11myRSvidz11 4 года назад +16

    Hey, as someone who is trying to learn to program, this is a fantastic idea. Thanks for making these videos!

    • @ChronicCoder
      @ChronicCoder  4 года назад +7

      Absolutely!! I'm definitely considering making more short but concise educational ones too. I've just been trying to see if there are enough people who fit the ML + gaming niche that'd be interested, looks like there very well might be :)

    • @roberthollon7240
      @roberthollon7240 4 года назад +2

      @@ChronicCoder Very interested.
      !! Grasshopper app didnt really teach me shit but how to add and subtract with code

    • @stephantimmers9843
      @stephantimmers9843 4 года назад +3

      @@ChronicCoder Where could i start learning about how to apply / practise ML coding? I can do some coding but never learned ML.

    • @ChronicCoder
      @ChronicCoder  4 года назад +1

      @Stephan Timmers Great question! I answered a similar question yesterday so it'll sounds pretty similar but my advice definitely still stands!
      I think it's best to start by reading a book (hands on machine learning is my suggestion) or doing a short online course - just to understand the overarching basics. Then I think it's incredibly important to choose something you're passionate about enough to apply it to.
      I'll warn you though, it's much more difficult in an area that doesn't already come with tons of data, it's simple enough to start collecting on your own but it takes a lot of time and effort as you'll see throughout this series. But it's infinitely more rewarding cause you'll seriously learn what it takes to apply it in real world scenarios.
      In short, pick a topic and start running with it applying what you learn from books/courses (hopefully ones that have more applied examples). Let me know if you have more questions! You can also find us on discord, great and active community of folks interested in the same thing :) discord.gg/ZummSXK

  • @JD0S
    @JD0S 4 года назад +15

    Very interesting concept! Glad to see some good Python usage!

    • @ChronicCoder
      @ChronicCoder  4 года назад

      Thank you, really appreciate that! :)

  • @securityfolk
    @securityfolk 4 года назад +2

    CS bachelor here, leaned towards cybersecurity, but i always thought if somebody woudn't be able to play with ML to spot bots and report them. Such interesting series sir, keep it up.

  • @romanbaker6475
    @romanbaker6475 4 года назад +2

    This is such a cool video, I always was curious what a CS person thinks about these bot clients! Most of the bot busting people aren’t approaching it from this point of view this is sick!

  • @JM7900
    @JM7900 3 года назад +1

    Badass series

  • @mr_sich
    @mr_sich 4 года назад +1

    So excited about this one!

  • @ddddchannel837
    @ddddchannel837 2 года назад

    Thanks for data set!

  • @3s843a
    @3s843a 4 года назад +6

    This series is a treat.

  • @robertsmith512
    @robertsmith512 4 года назад +4

    BRINGING DOWN THE
    B A N H A M M E R !

  • @cannonpalms4249
    @cannonpalms4249 4 года назад +1

    Because of the usefulness of said data in PREVENTING bot bans, I would not expect Jagex to provide data or comment on this in any way.

    • @ChronicCoder
      @ChronicCoder  4 года назад

      Yeah, that's a completely fair expectation. Just thought it wouldn't be a bad idea to shoot for the stars, ya know?
      Whatever it is, we'll hopefully be able to acquire the data we need on our own to produce a good proof of concept. And, if anything, it'll hopefully give Jagex some ideas of how easy a solution like this would be with their pre-existing bot data (if they aren't already doing something similar)

    • @cannonpalms4249
      @cannonpalms4249 4 года назад +1

      Chronic Coder agreed. Btw, according to them, they already use ML heavily in botwatch. They claim to be able to track player behavior to the point that they can identify a player’s alts by how he plays. Apparently this is all just overkill, so they have it toggled off. I’m not sure what of botwatch has been ported to OSRS. Likely very little, given that weath still often applies bans manually.

  • @PopkDodge
    @PopkDodge 4 года назад

    Honestly, one difficulty of this problem is that the lack of a "target class" makes this an unsupervised learning problem vs a supervised learning problem. Jagex can create pseudo "target class" by the ammounts of flagged accounts through ingame reporting.

    • @PopkDodge
      @PopkDodge 4 года назад

      A brute-force solution is to manually encode whether or not you think player "X" is a bot. You may only need to do it to around 100-300 players to create a pattern then use the pattern to create your target class.

    • @ChronicCoder
      @ChronicCoder  4 года назад +1

      Exactly!! I'm working on that as we speak haha, it should be a video in the next 2 days or so. Like you mentioned, itd be SOO MUCH easier if I had data like what Jagex has. That aside though, I did some more serious unsupervised learning with data over time that allowed me to easily target ones I thought were bots and then I labelled them manually. So yeah, keep you eyes peeled for the next one! :)

  • @reino7887
    @reino7887 9 месяцев назад

    does that mean player needs to send a message to prevent to be reported? so someone is asking are you bot and once they don't answer you report them? juts wondering how that could even work becaus probably 805 of player base keeps theis public chat off..

  • @caffeineB34R
    @caffeineB34R 4 года назад +2

    RUclips didn't notify me on the last vids :(

    • @ChronicCoder
      @ChronicCoder  4 года назад

      Thanks for coming back! Yeah I don't post that often so RUclips doesn't push my stuff often. If you click the notification bell it'd help or join our discord! Or did you already have the bell and didn't get notified? :O

  • @Timtier
    @Timtier 4 года назад +1

    Very cool concept :)

  • @sebastianvbb
    @sebastianvbb 3 года назад

    make a neural network and try to use unsupervised learning to determine if you can cluster bots/non-bots

  • @Fsoza2008
    @Fsoza2008 4 года назад

    Great stuff!

  • @ReiLyfe
    @ReiLyfe 4 года назад +6

    Boomers: Give us something useful.
    Gen Z: Uuuuhhh C++?!
    Boomers: No something that's old and useful to us of a dying era.
    Zoomers: Aight I got you fam here's your Python back, we've repurposed it into a game you can understand.

    • @ChronicCoder
      @ChronicCoder  4 года назад +1

      Hahah #bridginggaps

    • @ReiLyfe
      @ReiLyfe 4 года назад +1

      @@ChronicCoder Yeahhhh I would have never thought to use Python in such a way before finding your videos. I LOVE IT!

    • @ChronicCoder
      @ChronicCoder  4 года назад +1

      Thank you!! :D I'm glad you like it, was definitely fun to work on haha

  • @Basieeee
    @Basieeee 4 года назад +1

    I'm going to be frank here I've used dreambot in the past, and once I gotn beter at coding I even wrote my own scripts. I never used it for financial gain or anything I just really liked how my script could make things happen in the rs world, I'm sorry :( haha. All of the accounts got banned eventually.

    • @ChronicCoder
      @ChronicCoder  4 года назад +2

      To be honest, I love all the different/creative ways that people learn to code. Even if I'm banning bots here, I think it's a pretty awesome way to learn if that's what gets people into coding :) happy coding!

  • @bettertelevision968
    @bettertelevision968 4 года назад +1

    gratz.

    • @ChronicCoder
      @ChronicCoder  4 года назад +1

      Thank you!

    • @bettertelevision968
      @bettertelevision968 4 года назад +2

      @@ChronicCoder but also like any other mind your own business and don't cry about it like everyone else like all youtubers

    • @ChronicCoder
      @ChronicCoder  4 года назад +1

      Thanks again! I really appreciate that :) Im glad to be able to contribute and actually try doing something about it.

    • @bettertelevision968
      @bettertelevision968 4 года назад +2

      @@ChronicCoder Also you can use Openosrs and runelite for data collection in that way you are a legit player

  • @codenamenomadman6034
    @codenamenomadman6034 4 года назад +2

    2:56 what is program ?

    • @ChronicCoder
      @ChronicCoder  4 года назад

      It's called LabelImg: github.com/tzutalin/labelImg. It's open source and I got it straight from that github! Let me know if you have any questions :)

    • @codenamenomadman6034
      @codenamenomadman6034 4 года назад

      @@ChronicCoder can you make a bot play a game flash on web "Deep Learning or Machine Learning

  • @cowllama123
    @cowllama123 3 года назад +1

    Hey, I've done Data Eng professionally in Ad-Tech in the past, and this is super cool + intuitive to see.
    About Bot/Non-Bot labeling: Couldnt you check to see if an account got banned a few weeks later? Given that biases against "crappy" botting scripts and not the ones that can fly under the radar, but it would essentially put the classification on par with what anti-cheat Jagex has.
    Did you think about scaling out this data collection with AWS/GCP? Id imagine CVS are not pleasant to work with compared to a DB like Postges

    • @ChronicCoder
      @ChronicCoder  3 года назад

      Hey! Sorry for the really late reply, been on somewhat of a hiatus. Yes, you're absolutely right, in a later video I end up working with someone who actually works at AWS who has been tracking accounts over time and storing the data with dynamodb. It still came with some issues though because fully understanding whether they were banned or not remained elusive (had to make a few assumptions)

  • @robnergal575
    @robnergal575 4 года назад +1

    why are you choosing to wait for observation of animation to look them up?

    • @ChronicCoder
      @ChronicCoder  4 года назад

      Good question, it's because we initially collected data on the animations each player was currently doing. We thought it might give us some insight into what the player was doing but now I believe it's not too important and we can remove that. Great observation though!

  • @blu3x3
    @blu3x3 3 года назад +1

    lmao the intro about trump made me almost spit out my beer

  • @pauleugenio5914
    @pauleugenio5914 4 года назад +3

    Are you concerned that such a bot-seeker bot might inadvertently result in a generative adversarial network? Where bots function as generators and bot-seekers as discriminators. Perhaps a fixed point exists in which the bots are indiscernible from real players.

    • @ChronicCoder
      @ChronicCoder  4 года назад +2

      Now that's a really interesting thought experiment! I think that's entirely possible if ML in this area gets to a really complex and advanced point. Just thinking about what's been going on without ML, botters are consistently and constantly modifying their software/code to deal with Jagex's attempts at identification. So I believe, in that same way, botters might be able to use this to go back and forth between what is grounds for ban-able and build off that.
      To answer your question though, I'm not particularly afraid because I personally think that my model/data will not be conclusive for Jagex to fully implement and be grounds for banning players. At most, I think it could be a nudge for Jagex to take this kind of program and implement it with their own data. That would make it much better but also that would be proprietary and not open to botters/the public to easily build off.
      Also, if it ever gets to a point where bots are no longer discernible from players (even after real humans try to distinguish them) wouldn't that be kind of revolutionary? If AI ever got to that point, we could build entire online games based on that concept where you wouldn't need others to not be lonely. But yeah that'd be a grim future...

  • @shinetalent
    @shinetalent 3 года назад

    This has big flaws. Logic at the end is simple if it only trains one stat its a bot, if not its not a bot. What about bots that switch tasks or ones that do something that doesnt level up anything?

  • @devinmccleary5762
    @devinmccleary5762 4 года назад +1

    Ok but hear me out. What if we’re ALL bots?

  • @germandrummer13
    @germandrummer13 4 года назад

    From Hawaii?

    • @ChronicCoder
      @ChronicCoder  4 года назад

      I'm from Malaysia! But I live in the states right now so my accents all jumbled haha. How bout you?

    • @germandrummer13
      @germandrummer13 4 года назад

      Chronic Coder States as well but have family in Hawaii and the accent is very similar haha

    • @ChronicCoder
      @ChronicCoder  4 года назад

      Ooh that's interesting. I need to visit sometime :P

  • @user-xz9st8hm1n
    @user-xz9st8hm1n 4 года назад

    dreambot 😂

  • @doomtomb3
    @doomtomb3 3 года назад

    just install spyware on everyone's computer and figure out what programs are running and label those as bot software. bam done.

  • @lycan2494
    @lycan2494 Год назад

    this dude sound singaporean