Jump to content

Nullable

Administrator
  • Posts

    3062
  • Joined

  • Last visited

  • Days Won

    110

Title group 1

Text group 1

Nullable last won the day on May 7

Nullable had the most liked content!

Recent Profile Visitors

17599 profile views

Nullable's Achievements

Tribot King

Tribot King (13/14)

  • Well Followed Rare
  • Very Popular Rare
  • Dedicated
  • Reacting Well
  • One Month Later

Recent Badges

1.1k

Reputation

  1. As some may or may not know, in the background of everything else going on, I've been rewriting Tribot from scratch. I know, I know, a lot of you have heard that one before. "Good one, Nullable, now fix script download issues". I get it. I even still use the project codename created in 2017 for the first of many supposed "rewrites". But this is real and the best part is that I am still prioritizing development for what you use right now. So at the very least, no harm done. That being said, I am making a lot of progress and I figured some would like to get some details. Injection? Reflection? What are these things? The current version of Tribot is a Reflection bot, for reference. What is Reflection in terms of botting? Reflection refers to the programming mechanism of the same name. It's where, during runtime of the program, code can examine the contents of itself. Since the game runs in the same process, we can use this mechanism to "examine" the game memory and read data. This is allows us to know where the objects and npcs are and stuff like that. The upside of this is that it doesn't modify game bytecode. The downside is that it can be slow. Tribot uses a lot of intelligent caching, though, making it one of the most efficient reflection bots created for the game. Nowadays, we're one of the only reflection bots out there. And Injection? "Injection" refers to the technique of modifying the game bytecode as it loads it. It "injects" friendly names and interfaces into the game's classes so that it can simply call them directly and receive game data. The upside is that it's fast and direct. The downside is that it modifies bytecode. The problem with modifying bytecode is that it's legally dubious and has the potential to be reflected itself. While there is no indication of any sort of reflection-based anti-bot, and patching it would be possible for injection clients, it's always a possibility. So what is Tribot X? Tribot X won't be using either. It will use Compile-Time Wrappers. Not a very catchy name, admittedly. While developing the basis of the new bot, I realized we could have the best of both worlds for how we interact with the game. This technique is actually really simple. The game is just a jar like any other, and can be programmed against. So we do that! public int getSomeValue() { return client.obfuscated_name * multiplier; } And now when we compile and run this, we get the value. Of course, this has lots of problems. I would need a ton of these to get all the data and I would need to change them every time the game updates. Also, there are various other roadblocks that I won't go into for getting this to actually run. We solve the main problem by generating code and compiling it against new game updates. These generated classes act as wrappers and give us the same functionality as injection without needing to inject anything. As such, they are just as fast and require no game modification. We've already written a complete generator for doing this automatically. More details! Since this is my first post on Tribot X, I'll give some one-liners over some of the other random technical details I may not write full posts about. Tribot X has a lot more flexibility in terms of spoofing, and includes the spoofing of runtime information that could be used in the future for bot detection (even though it isn't currently). Tribot's mouse has been completely swapped out and is astronomically more efficient and less prone to error. The current tribot uses an event queue mechanism while the new one uses a single thread with locking to enforce thread safety. By doing so, we reduce the number of threads and overhead. Every method for manipulating the canvas has been optimized. Faster code, less CPU, less RAM. It supports tabs! But really properly this time with perfect isolation and spoofing. The GUI of Tribot X uses Jetpack Compose. The entire bot is written in Kotlin. For really CPU intensive tasks or to share code with our launcher, we have a way to interop Kotlin and Rust code in the client. The architecture of the bot has been entirely changed. Plugins separate from scripts are now a possibility.
  2. Check out the beta for the launcher here:
  3. Script queues will eventually be entirely replaced by a full script automation system.
  4. Hello everyone, I've been talking about this project a lot in the past few months and I'm happy to announce we can start distributing it as a working beta. This new launcher is a big upgrade to our current one. We're still missing a couple features for full parity (sorry, no bulk launcher just yet...), but we have the core features ready to try out. Note: You can have this installed alongside the current launcher. We will keep it functioning for the foreseeable future. Download Windows: Tribot Installer ZIP Open the .zip and run the included exe installer. It will walk you through the installation. You may need to click "More Info" and "Run Anyway" if given the prompt. If windows defender gives you trouble, you can whitelist the installer and then whitelist C:/users/[yourusername]/appdata/Local/Tribot as well. MacOS: Tribot Installer DEB Running the installer will be blocked by newer versions of MacOS. Follow this guide to run: https://www.wikihow.com/Install-Software-from-Unsigned-Developers-on-a-Mac It will be a one-time thing. Linux: Tribot Install AppImage chmod +x the file and then execute it. This app uses AppImage - it will often work first try but if not, the command line will tell you what you need to do to get it working, such as installing a dependency. Features New Account Manager This launcher has it's own account manager that you can add multiple jagex accounts to and run them without needing to login each time. When running clients with this launcher, the client will inherit the launcher's account manager instead of using the old one. There is currently no way to import/export. The new account manager will also keep track of data such as combat level, stats, items, quests, and more to make it easier for you to keep track of which account is which. This will also serve as a basis for bot farm automation features in the future. New Proxy Manager Similar to the old proxy manager, but a little more user friendly. Allows you to associate proxies with Jagex Accounts so that when you launch one, it automatically applies the proxy. Client Management This launcher keeps track of all running clients and can give you details about them. The only functionality it offers right now is the ability to minimize and maximize clients and display what script/account they're running. A lot more to come! Always-Running When you close the window, Tribot stays running in the background (like Discord or Steam). It's highly optimized in this state and uses very little CPU and RAM. By doing this, we'll be able to add features such as bot farm management and better CLI features. Tribot Login Management The launcher keeps track of your Tribot auth, meaning you'll never be logged out unless you do it explicitly. Only clients launched via the new launcher inherit its auth, though. Better Auto Updating and Observability By utilizing standard installation mechanisms, this app auto-updates itself with a lot more stability than the previous launcher. While not quite as smooth as something like discord or chrome, it will no longer leave some users in invalid states and gives us a lot more flexibility on what kinds of updates we can push. We also improved the status of launching clients. You'll be able to see errors instead of the app just crashing. And you'll be able to see download progress. More To Come Bulk Launching Account import/export Proxy import/export Ability to set a proxy when initially logging into a jagex account New CLI Home screen with quick actions, announcements, blog links, newly released scripts, and more Advanced settings Built-in Instance Manager with meaningful names and data
  5. I'm guessing this is just a troll post. I'll allow it for now. If anyone is seriously wondering, the first image is from the runescape website and highlights rating data from PEGI (Pan-European Game Information) for rating video games. It refers to Runescape's use of microtransactions. All video games with any form of in game purchases include these as it's required by law. The second image is from Runelite's landing page on their website, highlighting that they integrate with Discord's status, which you can disable in discord itself if you want. It also has nothing to do with bot tracking as it literally just sends your discord app two strings of data that doesn't even get persisted in Discord, let alone sent to Jagex. Tribot doesn't run through runelite so their discord integration doesn't affect you anyway. Neither of these images are related to bots in any way.
  6. Good to hear. I'm making it so that the launcher will also keep track of character stats, quest completion, bank contents, location, etc so that organization is a lot easier. This will also eventually lead into advanced automation features.
  7. In addition to the roadmap and official announcements, I thought I'd add another blog category for talking about incremental progress that isn't as visible. For those who saw the 2024 update in the announcements, those items listed are exactly what I'm working on. Stability is at the forefront of efforts currently and much of that is going to be enabled by the new launcher that I'm sure you've heard me talk about before. Stability means different things for different people. For some people, the most important stability issue is mouse movement inconsistencies. For others, it's script instancing. For others, downloads. And for others, it's jagex account support. For some it's even that the current launcher downloads don't behave properly with their machine/ISP. Our current efforts are on fixing all of these holistically. We're always looking quick wins but we also need to pay off years of technical debt. New Tribot Launcher I've talked about this a lot in the past. I'm proud to say we're currently allowing some MacOS users the ability to beta test a very light version of it to tackle the jagex account issues. But also, I'm working on a solution that can benefit everyone. The overall idea is to start moving features from the client itself into a constantly running launcher. By having the account manager here, it will make it much easier to... well... manage accounts. This is especially important for Jagex Accounts. The idea behind this is to make the account manager easy to use whether you have 1 account or 5000 accounts. What's done so far: Vastly improved persistent (local) storage for jagex accounts, regular accounts, characters, proxies, and client settings Bidirectional communication between the new launcher and Tribot clients Launcher that gets minimized to the taskbar properly on all systems, and only takes <10mb of RAM while running in the background. Jagex account login support with the ability to store the session such that re-login is not required. What's left: Bulk launch support Data import Auto-updates Polishing Once those items are done, we can have a full 1.0 release to replace old launcher. From there, we can expand into real bot farm management and automation features. About script downloading issues Over the past couple months, a lot of users have had intermittent issues with downloading scripts and client updates. It seems like lately there's been a lot of service degradation with our CDN hosting, which is unfortunate. I plan on creating a custom download server that handle caching and secure downloads better. I also plan on hosting launcher dependencies locally or through github as the regular servers for those also don't always perform adequately. A new tribot client? I actually made a ton of progress on a new client a couple months ago. Full hook support, a fast and stable mouse, keyboard input, much lower resource usage, etc. I'm putting this work on the backburner to focus on the launcher, but am hoping to pick it up in the next couple months. It's an enormous amount of work to make a new client that supports so many scripts that use APIs made over a decade ago, but we're finally at a point where the path forward is clear enough to realistically achieve it. We have no shortage of ideas on how to make the best OSRS bot possible. But technical debt makes it difficult to make these ideas come to life. We brought forward a ton of new features last year by paying off our server side tech debt, and we plan on doing that this year with the client. Once the new launcher is further along, I'll be writing a dev blog with all the technical details.
  8. https://tribot.org/download Download the client and log in. Your script is added to your account.
  9. @Jarty We updated our rules: You are allowed to post your discord link assuming your thread complies with the rules.
  10. @Oogle We updated our rules: You can add your discord link back assuming it complies. Make sure to include your Discord ID here.
  11. @HelloThere It's fixed now (except on MacOS) You can find the button here:
  12. @Karmas Here @cuzzy Jagex account support has been moved to the Tribot Launcher. Look for the button there and try it.
  13. Update: Jagex has now started enforcing more security on their login flow. I'll be working on a fix but there is no ETA.
  14. Hello, you might have been experiencing bugs due to the recent game update. We've made fixes to the client. Can you try again?
×
×
  • Create New...