Jump to content

OSTracker 2.0 - User data tracking and storage API


Tom

Recommended Posts

GitHub

https://github.com/Tomhoogstra/OSTracker

If you found this repository useful, please consider giving it a star!

About

In late 2019, OSTracker 1.0 was released which was a client-server implementation that strived to collect user data for scripters with ease. There were a few problems with this type of implementation, and most of them were performance related and mostly poor ways of communication between the client and the database.

Today I am happy to release OSTracker 2.0, which transitions from this Client-Server approach to a RESTful API which allows for much easier and less intensive data submission and tracking.

OSTracker 2.0 API is built on Laravel, a PHP framework that specialises in the development of web applications.

Tracked Data (per user)

  • Experience gained for all skills
  • Items Received, Lost, or Spent (e.g. arrows and runes)
  • Time ran
  • Error logs (if setup)

Upcoming

  • Data retrieval end points that will allow you to filter certain users, scripts, skills, items, and more.

 

Client-side installation

Integration with your OSBot script is relatively simple. Simply copy the contents of the 'client' directory in this repo into your scripts code base.

In your scripts onStart, you should initialise OSTracker like so.

private Tracker tracker;

@Override
public void onStart(){
        try {
		tracker = new Tracker(getBot(), getName(), "BASE_API_URL", "YOUR_TOKEN")
				.setUpdateInterval(30) // Defaults to an hour
				.start();
		tracker.getSessionTracker().setVersion(getVersion());
		
	} catch (Exception e) {
		if (tracker != null) {
			tracker.stop();
		}
		e.printStackTrace();
	}
}

And end the tracker in your scripts onExit like so

@Override
public void onExit(){

	if(tracker != null){
		tracker.stop();
	}
}

Your token will be created when deploying the Laravel API to your server, or it will be provided to you if you are choosing to integrate with somebody else's API.

From here, OSTracker will automatically handle experience, loot, and script runtime tracking, and by default will submit this data to the API once per hour. Data will also be submitted when the script is stopped.

API installation

Don't fancy setting all this up? I can host your data for you for $3 USD per month.

 

  Reveal hidden contents

 

Post-installation instructions / API endpoints

  Reveal hidden contents

 

 

 

Edited by Tom
  • Like 4
Link to comment
Share on other sites

  • Gunman pinned this topic
  • 1 year later...

Thank you for sharing! I hope it will be better than the first OS Tracker because it was not working. I like that the integration with your OSBot script is relatively simple, and you don't need to lose a lot of time on it. When I was using the first version of OS Tracker, I was stocking all the data on my SSD. Unfortunately, water destroyed it, so I lost all the data. My mistake was that I had thrown the SSD because, at that time, I didn't know that there were such services as salvagedata.com that could restore the data from such SSDs.

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

  On 2/28/2022 at 11:45 AM, AnnaMurray75NSA said:

Thank you for sharing! I hope it will be better than the first OS Tracker because it was not working. I like that the integration with your OSBot script is relatively simple, and you don't need to lose a lot of time on it.

Expand  

Yep, the first version was awful. I tried to keep the script implementation as simple as possible, the server-side setup is a little more complicated though

  On 3/3/2022 at 6:46 AM, Fich420 said:

I made my own ghetto way of doing this... and then found this :feels:

Expand  

Nice, hopefully you can find some use of the code / idea

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...