• 0 Posts
  • 187 Comments
Joined 2 years ago
cake
Cake day: June 10th, 2023

help-circle
  • I’ve worked with GUIs on python for a couple of years, we used PyQt, which is a python wrapper for Qt which is a C++ library for GUIs. It’s fairly straightforward and easy to get something up on the screen in no time.

    However from parts of your comment it seems you want to implement your own graphics library, and that is a lot harder to do.

    Also you mentioned legacy hardware, not sure how legacy it would be. Python should run on most things people would call legacy nowadays, but there’s definitely an overhead that could be felt if you’re trying to run this on an embebed system or a REALLY old (as in 90s/00s era) computer.

    You also mentioned mobile, I don’t think PyQt can be compiled to mobile easily, nor do I think you should even if you manage to (been there, done that, not a happy time). Desktop and Mobile GUIs are very different, realistically if you want something that works well on both mobile and desktop with the same codebase the easiest approach is web UI.


  • I can beat anyone now because I’m not matched with or against people who are better than me, I don’t learn anything.

    I call bullshit on that. If that were the case your skill would be considered higher and you would be matched against ever higher skilled players until you’re not able to win that much. If you can beat anyone in a SBMM system, you would absolutely obliterate every single match in a non-SBMM. You might think you’re bad at those games, but this is what’s happening to you: https://xkcd.com/2501/ i.e. You think the average player is winning most matches, but the truth is that the average player wins around 50% of the mathes. If you win significantly more than 50% of the games you’re placed in then you’re among the top players and just aren’t enough skilled people online to match up with you, which means that if you were to be put in a non-SBMM lobby you would be MVP 99.999% of times and win the match solo. Think about it this way, imagine there are 1000 people searching for matches in your area, and for ease let’s also asume their number also represents their skill level compared to the other, i.e. 1 is a total noob, 1000 is a pro, in this scenario on a SBMM you’re likely in the top 995 so you get paired with the top 10 and according to you you still win that match, on a non-SBMM your average enemy would be 400 skill levels below your current enemies.

    I want to jump into a game and have fun, I want to lose some, I want to win some, I want to try in some, I want to goof around in others.

    I’m sorry, but that will never happen, you’re just too good at the game, you win most matches when paired against people of your relative skills, which means there aren’t people with your skill around, pairing you with random people will just result in even more frustrating matches for you. You’re like a martial artist who goes on dojos fighting the black belts and winning and think that it would be more fun if you were allowed to fight a random belt color.

    I can’t join a lobby of people, lose to them and then try to beat them in the next game, because they reset the lobby after every match.

    According to a quick Google search that has nothing to do with SBMM but it’s because different maps and different modes have different number of players. Not to mention that just thinking about it real quick I realized that probably lots of people just play a match and leave, so your lobby would get smaller and smaller unless you allowed it to be refilled after every round. Not that any of this matters, because that scenario won’t happen to you, because you don’t lose matches, remember?

    Cod is also a lot less social because of this, you can’t make friends or enemies across matches anymore.

    That’s a bummer, but seems related to the topic of lobby reset, not SBMM.

    These big multiplayer games have dropped fun, instead they want people to win win win so they keep playing and buy skins. That’s why people don’t improve anymore, there’s no challenge, every game is the same thing, same strategy required.

    Have you considered that maybe you’re so good at these games that YOU keep winning but that the same is not true for 90% of people? These are multiplayer games, it’s literally impossible for everyone to win all the time, it’s a zero sum game, for someone to win, someone has to lose, and if you’re winning more than 50% of the time it means you’re an above average player.

    I played some mainstream games recently and they put you against bots and stuff for like 10 of your first games

    That sounds ridiculous, but with the amount of people playing CoD I don’t think they need bots. At least for me every time I play I get matched against people, but realistically I don’t play that much.

    If they want “fair” games against players, they can play ranked. Just give us our casual lobbies back.

    You are looking for a mystical fun of being able to play against people more skilled than you, that won’t happen, because casual players are in general terms much worse than you, you’re like a pro NBA basketball player wanting to go back to play in the yard against kids, you have good memories of that time, but your skill level would make those matches extremely boring for you and unfair for others.


  • First of all SBMM has been going in for WAY longer than that, at least going back to 2007 on CoD according to google. If it wasn’t a problem before, it shouldn’t be now, it’s just that now you’re aware so you’re salty about it. And may I ask, what’s the problem with it? You don’t like playing with people you might lose to? What’s the reasoning behind not liking it?

    Also you’re assuming a uniform distribution of skill level, which doesn’t make sense, i.e. for every person who’s playing CoD for the first time there are multiple people with at least some experience, and the more experienced the more the person plays so the more likely they’ll be put in a match. This means that for people in the bottom, probably closer to bottom 10% they’re likely to be the only bottom player in the whole match, so the game for them would be spawn, die, wait over and over, which will be frustrating and so they’ll quit, and now the same will happen to the next bottom 10%, so on and so forth until no one else is left playing.

    Random matchmaking is not a thing, it hasn’t been a thing for a LONG time, any match that you found online and had fun had SBMM. Small games can get away with it because the distribution is more even, but in huge titles with millions of people it’s not feasible. You know why this began to annoy you 6 years ago? Because 6 years ago you became good enough to jump from the bottom to the midrange level, and now you’re matched with people you can’t so easily beat all of the time.

    I do think games should allow you to do fully random matchmaking, although I have a strong suspicion it would be lots of work to set up for a feature that almost no one will use, because you think you want that, but if you got it you will always be the worst player in the match, and if you aren’t people who’re worse than you will eventually get frustrated and quit until you’re the bottom player and get frustrated and leave.



  • Nibodhika@lemmy.worldtoSelfhosted@lemmy.worldHelp with domain
    link
    fedilink
    English
    arrow-up
    13
    ·
    edit-2
    4 days ago

    Lots of questions, let’s take it one step at a time. You have a domain, now you can point it to your public IP, so that whenever someone tries to access example.com they ask their DNS server and it replies with 10.172.172.172 (which btw is not a valid public IP). Now that request will hit your router, you need to configure your router to redirect ports 80 and 443 to 192.168.200.101, that way the request to example.com gets to your local machine.

    Ok, so now you need your local machine to reply on that port, I recommend using Caddy it’s very easy to setup, but NGIX is the more traditional approach. A simple Caddy config would look like:

    example.com {
        respond "Hello"
    }
    
    
    jellyfin.example.com {
        handle {
            reverse_proxy http://192.168.200.101:1020/
        }
    }
    

    So after the request reaches Caddy it will see that the person tried to access, example.com and respond with a “Hello”.

    If instead you had tried jellyfin.example.com the DNS would have sent you to 10.172.172.172, your router would send that to 192.168.200.101, Caddy would then send it to 192.168.200.101:1020, which is Jellyfin so that would get returned.

    There are some improvements that can be made, for example if both caddy and Jellyfin are docker you can share a network between them so Jellyfin is only exposed through caddy. Another possibly good idea is to add some authentication service like Authelia or Authentik to harden stuff a little bit. Also as you might have noticed Caddy can forward stuff to other computers, so you can have one machine on your network exposing multiple services on multiple machines.









  • For backups I don’t think full disk backups are ever needed or useful. Because if the system is running there’s always a chance of corruption. Besides 90% of what’s on your system is recoverable, so you should automate that part and backup what is not recoverable, i.e. personal documents. I use Borg, check out Pika or Vorta for some GUIs for it, and I use Borgbase for my remote, but you can also backup to some folder.

    For the other two you need windows. Even if you managed to get vscode to compile and tested with wine, that’s not a guarantee that it will work on Windows. Same thing for excel, even if libre office had those features it’s not guaranteed that stuff that works there would work on excel.

    If you need windows for work you need to find a way to have windows available, trying to circumvent this would be a source of pain.




  • AMD Drivers: if your GPU is new enough (which it probably is since you’re playing Star citizen) it should be just magic here since they come together with the kernel.

    Chrome: it’s available for Linux, no need to switch. Although Firefox is very nice too.

    Gmail: not sure what you mean, Gmail is a website, those are available on any platform. If you meant a desktop email client (which honestly I have never in my life used) there’s Thunderbird.

    Office 360: Are you talking about Microsoft 365? Is that not a website too? In any case Libre office is a nice alternative to the classical Office desktop app too in case you want that.

    I-Tunes: A quick search online reveals people use wine to run the Windows version of iTunes, although I would probably consider migrating. Spotify has a native client and there are some places where you can buy music and have it locally for playback.

    JBL: not sure what this is other than a brand for speakers.

    Anti-virus: You almost assuredly don’t need an anti-virus on Linux, as long as you install software through the proper channels (i.e. using the package manager) chances of virus are so small it’s not something to worry about. Most Linux anti-virus serve to check windows binaries in the system to avoid someone using the Linux machine to send virus to Windows users.

    PyCharm: it’s available for Linux

    Remote desktop to iOS: Not sure this is possible even on Windows, I use remmina for remote desktop, it supports several ways of connecting to the other device so maybe see if it works for you.

    Star citizen: Never played it but it seems to be playable with Wine.

    Steam: While steam is available not all games are compatible, check out https://www.protondb.com/ to see the status of any specific Steam game.

    VPN: should be native on Linux, there’s a protocol caller OpenVPN which most VPN providers will give you a Config file for that you can use directly on the network applet on Linux.

    PS: Next time share the list in text, it makes it easier to reply



  • First of all I agree with most of your a, b and c points, just would like to point out that while it’s true that Docker containers provide an extra level of security they’re not as closed down as people sometimes believe, but as a general rule I agree with everything you said.

    But you’re wrong about the way Plex works, this is a quote from their documentation:

    So, your Plex Media Server basically “relays” the media stream through our server so that your app can access it since the app can’t connect with your server directly.

    If that’s not clear enough:

    Your security and privacy is important to us. When you have enabled secure connections on your Plex Media Server, then your streaming will continue to be secure and encrypted even when using our Relay feature. (When using secure connections, the content is encrypted end-to-end and tunneled through our Relay. The connection is not terminated on our servers and only your Plex Media Server has the certificate.)

    So it’s very clear data is streaming through their relay server, which goes back to my original point of I expect that to be a paid feature, it’s using bandwidth from their relay servers.

    As for the security again you’re wrong, authentication happens on the Plex remote server, not on your local one, which is why you can’t use Plex without internet (part of my dislike for them). So you connect to Plex remote server and authenticate there, you then get a client that’s talking to the remote server, even if someone was able to bypass that login they would be inside a Plex owned server, not yours, they would need to then exploit whatever API exists between your home server and that one to jump to your machine, so it’s an extra jump needed, again similarly to having Authelia/Authentik in front of Jellyfin.


  • You are, authentication on the VPS, you’re relying on Jellyfin authentication against the internet. Correct me if I’m wrong, but this is your suggested setup: [home server] Jellyfin -> [remote server] Reverse Proxy -> [remote machine] users. Let’s imagine a scenario where Jellyfin has a bug that if you leave the password empty it logs you in (I know, it’s an exaggeration but just for the sake of argument, an SQL injection or other similar attacks would be more plausible but I’m trying to keep things simple), on your setup now anyone can log into your Jellyfin and from there it’s one jump to your home server. On Plex’s solution even if Plex authentication gets compromised the attacker only got access to the remote server, and would now need to find another vulnerability to jump to your Plex at home.

    Putting something like Authelia/Authentik on a VPS in front of Jellyfin is a similar approach, but the Jellyfin client can’t handle third party authentication AFAIK