l3lackShark / gosumemory

Cross-Platform memory reader for osu!
GNU General Public License v3.0
684 stars 63 forks source link
counter linux memory osu pp reader websocket windows

Yet another memory reader for osu! Supports both Linux and Windows. (requires sudo on Linux though since only root can read /proc)

Build custom pp counters with ease!\ You can contact us here: https://discord.gg/8enr4qD

Real-World examples:

cpol FlyingTuna Alumetri Sotarks Mrekk Mathi RyuK

Usage

  1. Download the latest Release

    • Unzip files anywhere

      In the root folder of the program, you can find the static directory. It contains all of the available counters. Those are getting streamed via HTTP-File server

  2. Run gosumemory & osu!

    • Visit this link in your browser: http://localhost:24050 and choose the counter that you like.
    • Add a browser source in OBS (Width and Height could be found in the Included counters spoiler)
  3. If using built-in counters covers all of your needs, then you are done here.

    Please note that auto-updates only cover the executable itself, however, if a new counter gets released, we will mention it in the Release Notes.\ If you want to make your own, just create a new directory in the static folder.

Does this work in-game?

Yes! see this

Included counters:

Click ME ### InGame1 > Size: 240x133\ \ By: [Dartandr][1]
### InGame2 > Size: 370x120\ \ By: [Dartandr][1]
### InGame3 > Size: 150x70\ \ By: [Dartandr][1]
### reComfortaa > Size: 1152x245\ > *Song Selection*\ \ >*Gameplay*\ \ By: [Xynogen][6]
### MonokaiPane > Size: 512x150\ > *Song Selection*\ \ >*Gameplay 1*\ \ >*Gameplay 2*\ \ By: Xynogen
### WaveTournament > Size: 1920x1080\ > *Chat + Warmup (Team score disabled) view*\ \ > *Chat + Warmup (Team score disabled) view*\ \ > *Gameplay*\ \ By: [VictimCrasher][4]
### Classic > Size: 550x300\ \ By: [Dartandr][1]
### OldClassic > Size: 550x300\ \ By: [Dartandr][1]
### Simplistic > Size: 750x150\ > *Song Selection*\ \ >*Gameplay 1*\ \ By: [jassper0][5]
### DarkAndWhite > Size: 840x140\ \ By: [cyperdark][2]
### Kerli1 & Kerli2 > Size (1)(2): 794x124 | 353x190\ \ By: [Dartandr][1]
### Luscent > Size: 1920x1080\ Open-Source Implementation of [Siae's Luscent][3] overlay. No elements were stolen. This is a remake. Please [consider buying](https://gumroad.com/l/Luscent) her version!\ \ Remake by: [Dartandr][1] ### VictimCrasherCompact > Size: 560x150\ > *Song Selection*\ \ > > *Gameplay*\ \ By: [VictimCrasher][4]
### VictimCrasherOverlay > Size: 1920x1080\ \ By: [VictimCrasher][4]
### UnstableRate > Size: 300x100\ Just a plain number that shows current UnstableRate, could be useful if you want to put it above your UR Bar.\ By: [Dartandr][1] ### MaximalLime > Size: 800x306\ \ By: [cyperdark][2]
### MinimalLime > Size: 640x130\ \ By: [cyperdark][2]
### TrafficLight > Size: 458x380\ \ By: [cyperdark][2]
[1]: https://github.com/Dartandr [2]: https://github.com/cyperdark [3]: https://twitter.com/mk_cou/status/1464208290158501894 [4]: https://github.com/VictimCrasher [5]: https://github.com/jassper0 [6]: https://github.com/Xyn0gen

How does it work?

gosumemory streams WebSocket data to ws://localhost:24050/ws that you can use in any programming language to develop a frontend. We recommend JavaScript though, as it's much easier to make something pretty with the Web framework. All of the included counters are good starting points. There is also http://localhost:24050/json that you can open in a web browser to see the available data. We strongly recommend against sending GET requests to that address in production, please use WebSocket instead.

Example JSON and a little wiki of it's values

What if I don't know any programming languages but still want to output data to OBS?

https://www.youtube.com/watch?v=8ApXBEO5bes

How do I submit a pp counter?

Head over to static and create a pull request there. If it's good quality, then it will get approved and included in the next release.

Tournament Client

When operating in tourney mode, real-time pp counters for each client, leaderboard and grades don't work. Each gameplay object is sorted by tournament client "id", "menu" object is a tournament manager (state 22). Tournament mode works only with Cutting Edge tourney client and is not supported on Linux.

Linux

You have two options. Either run native, but with sudo privileges, or through WINE. Please note that Linux builds are not well tested and could contain crashes. Report them if you encounter any.

Consider supporting

Buy Me A Coffee

This project depends on:

Special Thanks to: