l3lackshark / gosumemory Goto Github PK
View Code? Open in Web Editor NEWCross-Platform memory reader for osu!
License: GNU General Public License v3.0
Cross-Platform memory reader for osu!
License: GNU General Public License v3.0
Original architectural structure decisions were made back in the day when I was just starting coding and so it really is a mess. Was honestly surprised how stable it became after so many crutches and polishing attempts.
Current flaws:
mem
package)To combat that until it's too late I made a decision to rewrite most of the project.
The progress will be updated below:
pp
package with https://github.com/l3lackShark/cgoppaimemory
package to the point that it's consistent with the way we read memory and send payload to webJSON snippet on gameplay/replay
...
"mods": {
"num": 0,
"str": ""
}
...
JSON snippet on song selection/score results
...
"mods": {
"num": 0,
"str": "NM"
}
...
Should've been an easy fix, I reckon. But I can't code much.
https://osu.ppy.sh/beatmapsets/236837#osu/549766
crashed on this map after end
localhost:24050
(connection refused)Ubuntu 20.04.2 LTS, 64-bit, Linux 5.8.0-48-generic
(default) kernel
[Main]
update = 100
path = /home/bittheprotogen/Games/osu/Songs
cgodisable = false
memdebug = false
memcycletest = false
wine = true
[Web]
serverip = 127.0.0.1:24050
cors = false
[GameOverlay] ; https://github.com/l3lackShark/gosumemory/wiki/GameOverlay
enabled = true
gameWidth = 1920
gameHeight = 1080
overlayURL = http://localhost:24050/Simplistic
overlayWidth = 355
overlayHeight = 97
overlayOffsetX = 0
overlayOffsetY = 0
overlayScale = 10
Problem that I encountered :
Every gameplay on current PP use the NM Current instead with mods as you can see in this JSON. On previous version this data is fine until this happened.
For the replay data, here I will attach you my osr for investigation.
OSR Plays : https://drive.google.com/file/d/1zBQGgSfgg1h4g5dc3WBR_2B_ro3SxtIt/view?usp=sharing
Also here is the beatmap links for related osr : https://osu.ppy.sh/beatmapsets/914242#osu/1919496
Version : 1.3.1
Due to recent changes in osu, watching replays doesn't count as 'plays' in memory anymore.
Add support to add multiple In-Game overlays.
This could be beneficial, to have a regular pp counter, like you normally would, and have a few, select statistics displayed, via simple Name: Value
formatting.
eg. UR on the top right of osu! and Simplistic on the topp left.
In the config, you could allow to have multiple sections of [GameOverlay]
in the (regex) format of [GameOverlay[[:digit:]]*?]
. Then only the part, that actually reads the config needs to change, as now there are just 2 Counter Objects instead of one (if that is, how the programm is structured).
My impression of this attribute was that if, from any given point in a play, you SS everything, that will be the pp you get at the end. However, sometimes after breaking combo this value slowly decreases even while playing perfectly. That isn't really the maximum then, or am I misinterpreting this attribute?
Video of this happening (see the pp-bar at the right side at around 0:22): https://www.youtube.com/watch?v=v9cMb2aP_Rw
UR Integer overflow in this play: https://drive.google.com/file/d/1ox5GMejtgku64kW3PwfjuEUGXOuP8AUG/view?usp=sharing
Beatmap Links : https://osu.ppy.sh/beatmapsets/597111#osu/1262436
Proof: https://youtu.be/OxowFk3MqkU?t=21
It would be nice to be able to download maps as soon as they are chosen in multiplayer.
However, it's not possible currently, the program doesn't show map IDs if the beatmap isn't present.
Is there any way this can be added?
Many thanks.
I could originally access the link for the counter but now it wont let me any solutions? thanks
As the title says, I would like to use ONLY the addresses and offsets in read.go. Is it possible to use them and remain my repository under the MIT License at the same time? Namely, could I be granted the rights to use them with a thank instead of making a reference of this repository :)
My code that refers to them is here.
Best regrads.
Probably an issue with array reading in the mem
package.
When i use gosumemory for tournament client, only first team players shows second just ignored(?)
is it possible to add the max combo of a map to the JSON values?
As far as i know there are no state in that case, i won't lie about the fact i need it for my application in order to not count watching replay as playing the game when in reality the user isn't doing anything.
How to set this up?
I didn't find it in the JSON so I thought I'd request it.
Currently PP is only showed for FCs, e.g. I miss, it still shows max PP for current accuracy.
Say I have 90% Accuracy on Cry Thunder, it'd say ~500pp even though I just got a 100 on the first few notes. In reality the play can still be a 700pp play. I could also get e.g. 5 misses and then FC rest and It'd show 650pp for a 99% 5 miss run.
Therefore I wanted to ask whether you could implement a PP calculation if the rest was SS'd on the map.
For example (Arbitrary values):
Max PP: 700
1x100: 695
1xmiss: 559
Hopefully I could explain it somehow.
Looks like this piece of code is only present if the user is logged in. A fix would be to resolve it only in tournament mode (since it's impossible to be in a tournament manager while logged out)
I was playing around with the pp values inside the menu object and every time I enter a map to play it randomly changes its values, sometimes it changes them, sometimes it doesn't. It also sometimes fixes itself by going back to the map selection menu but other times it displays the wrong values.
...
"pp": {
95: 180
96: 186
97: 195
98: 207
99: 224
100: 249
...
...
"pp": {
95: 13
96: 19
97: 28
98: 41
99: 59
100: 85
...
I'm guessing this is the max pp the map can give with or without mods right? I was trying to use it that way but I kept getting these inconsistencies when playing a map.
Some edge case triggers this, needs investigation
So I noticed, that for every Module, there is a Width and Hight.
Those combos are Static. One Module cannot have multiple Width's and Height's (afaik).
So how about removing the following properties:
overlayURL = http://localhost:24050/Simplistic
overlayWidth = 650
overlayHeight = 150
and replacing them with the following:
overlayName = Simplistic
Everything before and after would still stay the same of course.
One could still reconstruct the needed URL, because we have serverip
as a property. The reconstruction should just look similar to this: "http://" + serverip + "/" + overlayName
(Please use format Strings in actual code!).
One could then add a config.ini
file to each module, where it's height and width are stored. Something along the lines of this:
Width = 650
Height = 150
I open gosumemory.exe open osu! and gameoverlay dont work, and and after 5 - 10 minutes it crashes
https://prnt.sc/10kalj9 - config.ini
https://prnt.sc/10kam3e - The problem.
Help me please! Contact - n1xware#1337
im not sure what is happening, i went to song select, i got the mania message, i exit the program, http://localhost:24050 isnt working. i installed both 64 and 32, i unzipped them both, help!
Hello, like 1Month ago i used gosumemory normaly on Linux it worked with sudo and trough wine.
Now i got back to gosumemory and updated it but i get this messege and cant bring it to run.
Specs:
OS: Manjaro Linux x64
Kernel: 5.10.0-101-tkg-pds
osu! running trough wine 6.0 x64
Latest osu cuttinedge b20201210
Have seen this several times, but cannot reproduce. Please report if you encounter this.
Hello! Please add CTB counter all so
settings.folders.osu
settings.folders.songs
& settings.folders.osu
change backshashes to slashWas spotted on 1650super, 2060M, 2060Super. Needs investigation/help from someone that can reproduce this issue, and test another video card in the same system to make sure that this is an nvidia driver issue.
I tried doing http://192.168.0.108:24050 from my other device and it doesn't connect. I tried doing this but it looks like gosumemory listens only on the localhost.I s there a way I could configure it to see the webpage from another computer within the same network?
Cheers!
Every few maps I get the error that It could not find the specific mp3 file, resulting in values not displaying correctly.
My directory is C:\Games\osu!\Songs{Song Folder}
I doubt that is the issue. I can replicate this issue as much as I want for instance with this beatmap.
Let me know if I need to send in any details, e.g. logs if there are any.
This is more of asking support unfortunatelly i didnt find any place to ask other than here (perhaps im blind? ahah) anyways, yesterday the first time i executed gosumemory it worked perfectly fine, i probably did something and now i seem to be spammed with this message
I already reinstalled to assure it was not something i have done but that didnt fix the issue, im still able to access the built-in overlays but not the /json endpoint :( any idea of a fix for this? or is it a known bug?
For the past few days, I was experimenting a little bit with gosumemory (tried to make my own overlay), and I noticed that whenever my overlay was transitioning (start of a game/replay or end of game/replay), it would show a scrollbar at the bottom.
To be honest, it's not a big deal, it's not breaking things, it's just visual (and maybe I've done something wrong on my overlay lol).
But I'm submitting this issue anyways in case it would be useful idk.
Video example: https://www.youtube.com/watch?v=tRowPLGuFco
Pay attention to the bottom of the screen when I'm starting the replay and when the replay is finished. (I was lazy to cut the gameplay)
Referring to issue number #44 , similar but right now the Difficulty of the beatmaps and also the Mods that used in game resetted when in result screen.
OSR Plays : https://drive.google.com/file/d/1zBQGgSfgg1h4g5dc3WBR_2B_ro3SxtIt/view?usp=sharing
Also here is the beatmap links for related osr : https://osu.ppy.sh/beatmapsets/914242#osu/1919496
I already attached you also the .sql that maybe help you to solve this issue.
reportbug.zip
Version : Artifacts 1.3.1 (https://github.com/l3lackShark/gosumemory/actions/runs/465304131)
This would require a JSON output for each of the tournament "clients" as well as the tourney manager (BO, Stars, etc..)
The json page is currently sent with the 'Content-Type: text/plain' header when it should be sent as 'Content-Type: application/json'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.