GithubHelp home page GithubHelp logo

clientless's Introduction

Clientless

A RotMG clientless bot, written in Rust

I wrote this mostly to learn rust and how it works, as I already have a feature packed clientless written in Go. This project will likely be left as-is, unless I get super bored one day. This bot has a decent amount of functionality and can do a fair amount of tasks. Ways to extend this would be to get projectiles working as well as loading xml gamedata.

Another way of extending this would be to ditch the 1:2 threading model that it uses. (Each client runs on its own thread, and spins up another thread for the networking stuff). Either an async approach and/or some sort of threadpool approach would probably be the best bet for the networking side of things.

How to install and run

Please note that I wrote this on linux so windows/macos users, you will kinda have to figure things out on your own.

Open a terminal, begin by cloning the repo:

  • git clone https://github.com/Zeroeh/Clientless.git && cd Clientless

Now make the build scripts executable:

  • chmod +x debug.sh && chmod +x release.sh

Now, go into the config/settings.json and change the build version if needed. In the config/accounts.json file, add your bots email and password to their respective fields. Change the game server ip as you see fit. Also make sure your charid matches up.

Once everything seems good, run the build script which will compile and run the bots: ./debug.sh or, for release mode: ./release.sh

Everything should start compiling and if compiled successfully, should get a message that your bot joined the game:

<bots email> joined Nexus! ObjectID: 50194

Also, there seems to be some nasty bug that causes clients to reach 100% CPU usage on the main thread when reconnecting sometimes. Not sure why this happens. I suspect it could be some sort of deadlock? If you know or experience it, let me know as I'm quite curious.

clientless's People

Contributors

zeroeh avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

batof yamaking1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.