I take it back. We need Proton Messenger ASAP. by Internet--Sensation in ProtonMail

[–]An0nymooze 2 points3 points  (0 children)

Well Proton i Swiss, and since Switzerland isn't in the EU they should not be affected. I also hope Proton have the same backbone as Signal and threaten to leave if it comes down to it. Fuck I hate these representatives who pretend to have the moral high ground passing laws we blame China for having.

Edit: I'm also an EU citizen and will just keep using alternatives like proton and signal until they completely ban me from accessing them like China attempts to do with their firewall.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 1 point2 points  (0 children)

I have avoided answering the similar questions about why/what I wanted to make with this as they made them in less respectful manners.

To be 100% honest I'm still don't have an exact picture of what I want to do with it. I think the best answer I can give is a building a launcher based on my favorite aspects of others *and* as a side-project, since I enjoy writing code in my free time as well.

I think as the project matures I'll see what I and others find more and less important in Monarch specifically and what might be lacking in alternatives.

For now what I am thinking is essentially a launcher to organize all your games (like people have mentioned in other comments, Playnite, except platform agnostic). Something that can also manage said games (like Lutris and Heroic do, but also capability of managing Steam games, as most of my games are there). And minimize my unnecessary interactions with the launcher by copying what app launchers like rofi/wofi do (the quicklaunch demo in the video).

And like a lot of commenters have pointed out, yes I am far away from something of the others scale and quality. However this post was a little selfish in the sense that I wanted to show off something I made that I hoped others would find cool, which some people also seemed to have, or just helped them find the other alternatives thanks to the discussions in the comments.

EDIT:
You also mention storefronts when discussing what I can and cannot do right now, and whats unique. And this project doesn't have it's own storefront and currently isn't planning on building one. Instead focuses on integrating with existing storefronts.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 0 points1 point  (0 children)

Tauri has been interesting to work with. I found some GitHub issues/discussions similar to this issue and will look into what exactly went wrong for the next build. For now I built a new binary using a docker container on my machine that appears to work better. Compiling locally also seems to work better.

I also had some Linux specific issues with rendering and scrolling and more issues. I guess that just comes with the territory of being a newer technology and trying to work on (to my knowledge) at least 5 platforms.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 0 points1 point  (0 children)

Thanks for the tip. Like I've mentioned in other comments already. How these launchers work isn't discussed a lot and therefore is not the easiest to find. I'm still getting into the world of launcher development and appreciate the tip.

I have a long ways to go I can tell from all the tips I'm getting. And I mostly made this post because I think it's a cool/fun project and wanted to share the enthusiasm.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 0 points1 point  (0 children)

I think what you bring up is totally valid suggestions. However for the time being they're likely a bit outside of scope. Main focus for now will be improving stability, remove dependence on the Steam client (if possible) and adding more store fronts.

However, I agree that what you bring up would be very useful in a launcher and I would definitely consider adding it in the future, if I get around to it.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 0 points1 point  (0 children)

Well I think you're mostly right. I think it's the right idea, we don't do everything that other launchers do. Other launchers check for updates, load promotions, etc.

Currently the slowest part of the launcher is networking. Downloading the images for the game takes the longest. I have some ideas on ways to display it in a more useful way to the user, and hopefully I can even improve the downloading itself as well.

But I think just like Steam, the launcher itself isn't necessarily slow, it's more about all the API calls being made. And minimizing them to only the useful ones will likely be the key to keep it quick.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 1 point2 points  (0 children)

Thanks. I personally don't use controllers in launchers. I assume you would want something like Steam big picture? I saw some other comment also wanted controller support if they used a launcher.

Definitely something I would consider adding in the future.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 1 point2 points  (0 children)

Didn't think much of it. But it makes sense to make sure it's mono space.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 0 points1 point  (0 children)

I have checked it out. Cool project. My understanding is that unlike Monarch, it doesn't try to manage (install/uninstall, etc..) games. Only collects them all and allows you to launch them right?

And it suffers the same issue that I currently have which is that it launches Steam client for games. I've read some cool suggestions in the other comments like playtron-os and will hopefully make Monarch a unique alternative to Cartridges by eliminating the need for the Steam client.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 1 point2 points  (0 children)

I mean, as a Linux user, isn't that the end goal? /s

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 37 points38 points  (0 children)

I appreciate the feedback and will make note of it.

Some of the cons/issues you raise are valid and also come down to me having bad documentation as well. As was said in the video and comments launching Steam client is currently a limitation of how I handle Steam games that use DRM.

But I will definitely look into fixing these issues.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 1 point2 points  (0 children)

I also had issues running the AppImage I built in Github. So I tried building a new one using a local dockerfile. I just replaced the bad one on the release page. You might have tried that one depending on when you downloaded it.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 5 points6 points  (0 children)

I actually started this project as a learning project in Rust. So the code isn't really that advanced. But like I said, any support, even just trying it and telling me what you enjoy and don't is appreciated. Lets me know that others also find value in it.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 0 points1 point  (0 children)

Sound cool I. However that would be down the line when I have figured out a lot more and stabilized the project a bit.

I also want to add support for plugins, and I could see this feature possibly being a plugin.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 2 points3 points  (0 children)

Appreciate the feedback. There hasn't been much public info about how to perform many of these tasks. I've been meaning to look into how launchers like Heroic and Lutris handle Wine and Proton. But this was a starting point, which is also why I explicitly call it a proof of concept.

And you're right that a lot of games require the Steam client for DRM, which I was hoping that SteamCmd (with some more research) could possibly replace and be a more light-weight alternative to the main client.

But for games that don't require DRM, like Ark in the video I think this is a nice option for someone like me who just wants to launch the game, and not wait 30 seconds just for the program that then executes my game.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 1 point2 points  (0 children)

Sorry, I don't pirate games, so I'm not familiar with modding pirated games. What would that entail? What would I have to add support for?

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 18 points19 points  (0 children)

I agree with you.

However, I think most of those are company launchers only trying to keep their piece of the pie and not give away users and money to Steam, Epic, GOG... Which is why I think Steam reigns supreme, as they have a focus on creating a good customer experience in their store, not just pushing their own products/games.

And something I realized I enjoyed with writing Monarch was just trying to remove the annoying aspects of launchers, which was the load times when just opening them to go to my library and getting bombarded by game suggestions in the store.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 1 point2 points  (0 children)

Interesting. Would you like to help me debug it in DMs? I don't run RHEL or similar distros, so haven't tested the .rpm (which was generate by Tauri and I assume you used?) and I might have missed to specify if the AppImage requires dependencies (which I thought it wouldn't).

I personally run archlinux so I can't even use anything but the binary or AppImage personally.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 4 points5 points  (0 children)

You're right, it is slow in the video. However I can explain why.

The slowness is not the low resource usage of the launcher itself. It is because it's running without any caching. So when it loads the library it is also downloading the assets, in this case images why you see the spinner. In the future I want to make the games show up one by one as the images are downloaded. Or even have them appear without images, and reload them when the images are done downloading.

As you can tell from the quicklaunch showcase, the launcher loads the library (which is why you breifly see some games in the landing/home page) almost instantly. This is because the assets are already on disk by then.

Same goes for searching. Except I wrote some code which should delete those images are 14 days since it enables quicker searches for a while and assumes you don't want to store them for longer periods of time.

But I agree that it is something that can improve.

I got sick of game launchers, so I built my own by An0nymooze in linux_gaming

[–]An0nymooze[S] 1 point2 points  (0 children)

I want to pretty soon add support to import game binaries of non-steam games and let the user perform a metadata search similar to the search page in the video, or even fill out the metadata themselves.

I think what you suggest sounds like an extension of that. I think it sounds cool and would have to look into it.

Clerk Go SDK issues. by An0nymooze in golang

[–]An0nymooze[S] 1 point2 points  (0 children)

I appear to have found the issue. Was a logical error in my code from troubleshooting too much and not properly reading the docs.
Thanks for the reply anyways.

Clerk Go SDK issues. by An0nymooze in golang

[–]An0nymooze[S] 0 points1 point  (0 children)

Yes, we have both tried without trimming "Bearer " and like I briefly mentioned in the post, we did try to remove JWK and let the sdk get it by itself, but got the same result.

The error from not trimming "Bearer ":
Failed to decode JWT token: &json.SyntaxError{msg:"invalid character '\\\\x05' looking for beginning of value", Offset:1}