Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)C
Posts
0
Comments
6
Joined
3 yr. ago

  • Honestly, Hollow Knight 1, and what I've played so far of Silk Song have frustrating runback only if you feel that exploration should carry no risk. And also if you feel the consequences--dropping your resources and needing to abandon them--are game ending.

    The devs make no attempt to hide the fact that the father afield you get, the more dangerous it gets, but that you can get stronger if you make the most of what you've already explored.

    Resources are unlimited in the world, so you can always get back to where you were even if you abandon your cocoon/shade. You can also go back and spend the resources before you lose them.

    Once I realized that venturing too far off carries a growing risk, I started looking out for the telltale signs that I'm entering a boss room. When this happens or even when I just feel like I'm going to lose all health, I just venture back and spend at the nearest shop or just prioritize finding a bench. Where I don't heed the warning and go in anyway, I take it as my fault I can't recover my shade/silk before I once again prioritize finding a bench.

    All that said, at least so far I've found that whereas in Hollow Knight, if you die in a boss fight you're not equipped for, you MUST abandon it or try again. In Silk Song, the silk cocoon actually helps with the fight: instead of also trying to kill you, it's extra health that you can save until mid-way through the fight. Also, some boss rooms don't lock the entrance (at all or as quickly) so you can die closer to the entrance and safely recover your stuff.

    After starting Silk Song, I went back and started replaying the original and some changes like this are actually actually a quality of life improvement over the first 😂😂😂.

    (I'm just irrationally mad that they removed the cheeseable pogoing. It was so cheeseable but I get why they tweaked the mechanic to become harder to use in exactly the same way. I'm actually using the other offensive abilities more.)

  • Late reply, but just so you know...

    Before you first launch the game, you must agree to the Riot Games terms of service. The terms very clearly state what is toxic behaviour and are pretty easy to read through. After the tutorial and before you queue for the first time, you must agree to an in game code of conduct, which is a summary of what "[good in game conduct]" (paraphrased) is.

    Although it's not confirmed, players seem to be punished based on the volume of in-game reports and some sort of review. When you report a player, there are categories you can choose that describe their conduct. There's also a text box where you can type out what you feel they did.

    For text chat violations, this sometimes happens automatically, and even without reports. For example, if you use a racist term, you will be immediately muted in text chat for a time.

    Although it hasn't been confirmed, Riot has been trailing a system where they actually record and transcribe in game voice chat. The rumour is that an in game report will trigger an automated and/or manual review of the transcript. For most reports, you'll get a confirmation in a few hours that the player was punished and a thanks for the feedback that will help the community.

    Punishments range from a competitive queue cooldown (these get progressively longer the more you repeat the behaviour, and reset after a stretch of good behaviour) to hardware ID bans for the worst cases. A hardware ID ban prevents the player from playing on any account on a PC with the same hardware fingerprint for at least 5mo, and, in some cases, permanently closes accounts that are suspected to be theirs.

    If someone bought a bunch of in-game cosmetics, this will very likely cause them to move on to another game. But, of course, the worse offenders will find a way.

    And btw, the terms also make it clear that when you buy in game cosmetics, you're actually buying a non-transferable, revocable license to use them in-game. This license can be revoked at any time; for example if you violate the terms of service.

    And also, Riot's support site gives players a way to dispute bans, just in case a player was banned by mistake.

    It's not perfect (and the game isn't even perfect in any way... far from it) but they at least make it clear what is toxic behaviour, and have put some thought into this system for trying to handle it. I think the video/article is more about stepping up manual review and scale of punishments for the worst offenders.

  • Whoever made this has never used Google Cloud Platform.

  • I'm not sure if it's part of a TLS standard yet but I was talking about encrypted SNI (ECH, formerly called ESNI).

    Today, early on in a TLS connection, the client actually tells the server, in plain text, the domain name it's intending to communicate with. The server then presents a response that only the owner of that domain can produce, then keys are exchanged and the connection progresses, encrypted. This was required to allow a single server to serve traffic on multiple domains. Before this, a server on an IP:Port combo could only serve traffic on a single domain.

    But because of this, a man in the middle can just read the ClientHello and learn the domain you're intending to connect to. They can't intercept any encapsulated data (e.g. at the HTTP level, in the case of web traffic) but they can learn the domains you're accessing.

    ECH promises to make the real ClientHello encrypted by proceeding it with a fake ClientHello. The response will contain enough information to fetch a key that can be used to encrypt the real ClientHello. Only the server will be able to decrypt this.

  • And your ISP can still see which domains you’re going to if you use them as your DNS.

    Just so you know, because TLS SNI is not encrypted and not yet universally obfuscated (adoption of this is pretty slow and one of the largest CDN providers had to pause their rollout last I checked), not-even-barely-deep packet inspection can be used to track the sites you visit regardless of your DNS provider or wherever resolution is encrypted. Just do a packet dump and see.

    Also, if a website isn't fronted by one of the most popular CDN providers in existence, it can be possible to infer the sites you're visiting based on their server IP addresses.

    Although this just shifts where tracking can occur, a VPN is the only reliable way to maybe prevent your ISP from tracking the sites you visit, if this is your desire.

  • tl;dr - Second option usually.

    I think a huge part of shell programming (besides recognizing when anything more maintainable will do 😂😂😂) is trying to allow others who aren't as familiar to maintain what you've written. Shell is full of pitfalls, not the least of which is quoting and guaranteeing how many arguments you pass to commands and functions.

    To me, the whole point of quoting here is to be crystal clear about where command arguments begin and end in spite of variable substitution. For this reason I usually go for the second option. It very clearly describes how I'm trying to avoid a pitfall by wrapping each argument to find in a pair of quotes: in this case, double quotes to allow variable substitution.

    Sometimes it's clearer to use the first approach. For example, if the constant parts of one of those arguments contains a lot of special characters, it may make it clearer to use the first approach with the constant parts wrapped in single quotes.

    But even then there are more clear ways to create a string out of other strings. For example, the slightly slower, and more verbose use of printf and a variable, and then using that variable as an argument...wrapped in double quotes since it could contain special characters.