/tosu

Memory reader and PP counters provider for osu! and osu! Lazer

Primary LanguageTypeScriptGNU Lesser General Public License v3.0LGPL-3.0

Version License: GPL--3.0 Twitter: kotrik0

Welcome to tosu 👋


Eponymous software for reading osu! memory, accounting for most of gosumemory's issues

Instruction

  1. Download tosu
  2. Extract tosu.exe to a Folder
  3. Run tosu.exe
  4. Go to http://127.0.0.1:24050
  5. Now you in overlays dashboard, in here you can download counters, or tweek settings of tosu
  6. Here you can watch showcase of dashboard: link
  7. Have fun!


Features

  • All Gamemodes are supported
  • Gosumemory compatible api
  • Brand new api for websocket
  • In-game overlay (based on gosumemory closed overlay injection)
  • Available websocket data:
    • Settings
    • Gameplay data
    • User ingame data
    • Beatmap data
    • Session (Work in progress)
    • Multiple graphs for different skill sets (aim, speed, etc)
      • Extended starrating stats (per mode)
    • Leaderboards list (array)
    • Folders paths and Files names
    • Direct paths to files
    • Result screen
    • Tourney data (not tested, yet)
  • LOW CPU USAGE (I actually checked, this thing has a much lower memory recoil than the gosu)


In-game overlay

  • To enable it, you need to edit tosu.env, and turn on ENABLE_GOSU_OVERLAY=true (make it equal true)
  • Tutorial: link


Routes

gosu compatible api

  • / - List of all counters you have
  • /json - Example of /ws response
  • /ws - response example
  • /Songs/{path} - Show content of the file, or show list of files for a folder

v2 (tosu own api)

  • /json/v2 - Example of /websocket/v2 response
  • /websocket/v2 - response example
  • /websocket/v2/precise - response example
  • /files/beatmap/{path} - same as /Songs/{path}
  • /files/skin/{path} - similar as /files/beatmap/{path}, but for a skin

api

  • /api/calculate/pp - Calculate pp for beatmap with custom data
    • Response example
    • BY DEFAULT IT USES CURRENT BEATMAP (:))
    • All parameters are optional
    • path - Path to .osu file. Example: C:/osu/Songs/beatmap/file.osu
    • mode - Osu = 0, Taiko = 1, Catch = 2, Mania = 3
    • mods - Mods id. Example: 64 - DT
    • acc - Accuracy % from 0 to 100
    • nGeki - Amount of Geki (300g / MAX)
    • nKatu - Amount of Katu (100k / 200)
    • n300 - Amount of 300
    • n100 - Amount of 100
    • n50 - Amount of 50
    • nMisses - Amount of Misses
    • combo - combo
    • passedObjects - Sum of nGeki, nKatu, n300, n100, n50, nMisses
    • clockRate - Map rate number. Example: 1.5 = DT


Support

  • Give a ⭐️ if this project helped you!
  • If you need help setting up this program or have any suggestions/comissions, feel free to go to the discord channel above in the 🔵 tosu section


Author

👤 Mikhail Babynichev

Special thanks to @xxCherry, for providing memory reading library


🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page. You can also take a look at the contributing guide.


📝 License

Copyright © 2023-2024 Mikhail Babynichev.
This project is LGPL-3.0 licensed.