Jump to content

Gold Farming Dashboard (Regular Project Updates)


ByteStack

Recommended Posts

Update 10/11/2019: 

I'm putting this update here at the top because I believe it's pretty important to start off with. I've begun the process of moving the site to a publicly accessible domain! I'm looking to find people who are interested in testing the dashboard, these people must be script writers as there are no publicly available scripts that have the code required to update my database. Feel free to PM me about it. It's late and I intend to work on this over the weekend, but I felt like a short post would be good after being MIA for so long. 

signature.php?username=All

 

I built a dashboard for my private scripts. 

 

When I'm not working I generally like to fiddle with a bunch of different projects, some of which are OSRS related. I got curious a while back about how much things were actually earning and decided to start collecting a bunch of data on each of my scripts. 

 

Example: If the script does something in the wilderness then I collect information from the players I interact with, like name, level, exact position, whether they killed me, and the exact time. 

I might use PKer data to build a heat map since I tend to bot a few different locations in the wilderness and I have tools like Explv's Map at my disposal. Here's one of the banned accounts, minus locations because I might use that for something in the future: https://github.com/Eligeion/Data/blob/master/PKerData.csv

 

Heat map of the data in that CSV, not exact, but close enough. 

QyrH7kt.png

 

JGvVYi5.png

 

Anyway, since this project is ongoing and I'm adding new stuff to both my scripts and this dashboard pretty much weekly I figured I might as well post it somewhere. Let me know if you guys want more info.

 

No this is not public, but I might offer it as a service in the future. 

 

 

Update 9/11/2019:

 

Since it seems like people are interested in it, I'm going to post my list of things I want to add to this. I'll check things off and show my results as I finish each.

 

  • Mule From Dashboard
    • Database already has the ability, and muling is somewhat supported by my script so implementing it won't be crazy difficult.
  • Kill Button
    • Stop script/close client when pressed from the dashboard. 
  • Bank Page
    • Each time the script banks I want to update the database with the entire bank's contents. 
    • Need a way to visualize it on the site. 
  • Loaded Accounts
    • I've only really worked on the main dashboard and a pker list page, I want another page to show all loaded accounts so that I can click on each to get details on the account. Completed 09/17/2019
  • Item Database
    • I automate the selling process on my accounts and I rely on a third party for GE prices, since I'm constantly getting actual updated buy and sell prices for items that are relevant to me I'd like to create my own API for my use.
  • Statistics Page
    • I have a considerable amount of data stored, but I'm not doing a whole lot with it. Granted I currently am in the testing phase for the scripts that populate this page and since they're all profitable I tend to suicide the accounts so ban information will be skewed, but I'd like to create a stat page with average ban times per method, profit and prep time, that sort of thing. Completed 09/17/2019

 

If you guys have any suggestions that might be cool to see, let me know.

 

Update 9/14/2019:

 

It's been a few days and I was at a wedding so not a whole lot has been done. I've implemented the Ajax auto-refresh, the demo that was provided on the website is not intended for use in the way that I have begun using it, but I do thank @Fratem for showing me Ajax. I am having some issues with a memory leak (about 40 minutes in I get the Aw, snap! Google Chrome ran out of memory error). I don't know enough about Ajax to fix that issue yet, but AJAX is fascinating and if you don't know what it is and you're into web dev I highly recommend reading up on it here

I've done some additional ban testing and made some discoveries that improved my ban rate (I actually got an account to survive a whole 24 hours past a 14 hour long run, it then got banned after a 10 hour run the following day), so I'm going to stop doing suicide runs with accounts and see how far I can go with each. Next time I post an update I'd like to have 3-4 instances running at once with a significant amount of progress and no bans (fingers crossed).

It will also be interesting to see how the PKer Leaderboards progress. Here's the current dashboard.

vATAa7a.png

 

Update 09/17/2019:

I have not gotten around to creating more accounts, but I've done quite a bit with the website. I've added the following pages and features.

  • Accounts
    • I have created a login system, the security of which is debatable. I'm not a security expert so the method I used might be quite vulnerable for all I know.
    • Hashed passwords with some added NaCl just in case.
    • I'm exploring the use of cookies, the method I'm using right now is VERY basic and is only there so that I don't have to repeatedly log in while exploring other options.
  • Stats Page
    • Shows skills, run time, gold earned, and exp gained of any account currently loaded in the the database.
    • Currently if you know the ID you can look at any account, whether it's listed under the username that's logged in or not.
  • PKer List
    • Shows a list of all the PKers that have been collected by the script.
    • Only shows PKers that have interacted with banned accounts, just in case I make the page public it limits the amount of info available.
  • Loaded Accounts
    • Displays all accounts attached to a given username.
    • Prevents the logged in user from seeing other users accounts. 
    • Links to the stats page of each account.
  • Signatures
    • Currently this is locally hosted therefore a signature page doesn't really matter but it lets me see what my lifetime stats are quite quickly, eventually I might pay for hosting, but I'm no where near ready to make this public.
    • I haven't spent any time on making a graphic for it, so it's pretty ugly.

 

Ideas:

  • I want to eventually start storing emails/passwords for my accounts in the database, but security is always a concern. 
    • Solution: Reversible Symmetric Encryption
      • The user is responsible for protecting their key, without they key the passwords and emails store in the database would be useless. *
      • This key is used to encrypt and decrypt the contents of an account.
      • If the wrong key is used the contents are still useless.
      • The key is not stored anywhere on the site, therefore is inaccessible to an attacker.

 

* - Take that with a grain of salt. It really depends on the key, ideally I'll force the user to use a "randomly" generated key of letters and numbers rather than letting them choose something like "dragon12".

 

pkgsEIP.png

Video of the pages in action (forgive the resolution) https://i.imgur.com/DN8yCbY.mp4

Edited by Eligeion
  • Like 11
  • Heart 1
Link to comment
Share on other sites

1 hour ago, Fratem said:

Very interesting to see!
Do you do 'live' updates? -> e.g. new entry in DB -> reload recent actions & update data
Or do you only get to see new info when you manually refresh?

Thank you!

 

Somewhere in between, if an account is logged in I use HTML to refresh the page every 60 seconds. Might use JQuery in the future to make it auto-refresh though

 

Link to comment
Share on other sites

1 hour ago, Eligeion said:

Thank you!

 

Somewhere in between, if an account is logged in I use HTML to refresh the page every 60 seconds. Might use JQuery in the future to make it auto-refresh though

 

https://aiocollective.com/blog/ajax-auto-refresh-volume-ii/

^ this might be of interest to you AJAX in combo with PHP & MySQL DB

Link to comment
Share on other sites

8 hours ago, Fratem said:

https://aiocollective.com/blog/ajax-auto-refresh-volume-ii/

^ this might be of interest to you AJAX in combo with PHP & MySQL DB

 

More simple than expected. I'll likely implement this, or something like this in the future. It would get around the need to refresh when going from 0 bots online since I only auto-refresh when at least one client is running. Cheers :) 

  • Heart 1
Link to comment
Share on other sites

On 9/11/2019 at 1:03 PM, Eligeion said:

Thank you!

 

Somewhere in between, if an account is logged in I use HTML to refresh the page every 60 seconds. Might use JQuery in the future to make it auto-refresh though

 

Yea. Just have jQuery pull from an "API" to get new info after x seconds.

  • Like 1
Link to comment
Share on other sites

Try using setTimeout instead of setInterval, in that case a new Ajax call is only executed if the last one was succesfull (e.g. new data found & inserted). -> should bring the memory usage down.

Let me know if that atleast helped a little :) 

 

Edited by Fratem
  • Like 1
Link to comment
Share on other sites

Added update for 09/17/2019.

 

On 9/15/2019 at 7:37 AM, Fratem said:

Try using setTimeout instead of setInterval, in that case a new Ajax call is only executed if the last one was succesfull (e.g. new data found & inserted). -> should bring the memory usage down.

Let me know if that atleast helped a little :) 

 

If my understanding of setTimeout and setInterval are correct then that would be about as effective as the auto refresh that I had happening before. If an account is logged in and actively updating then awesome, but if there's no accounts online and then one comes online then you'll have to refresh the page to get it started again. It's not a huge deal, but I'd like to figure out why the memory leak is happening since everything I've found indicates that it shouldn't be a thing. I have a theory, but I haven't looked into it since I wanted to work on the other things I posted about. I very much appreciate your comments, you've been a great help :) 

 

 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...