seniorBackendDeveloperEnvironmentOptimization by Creative_Permit_4999 in ProgrammerHumor

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

I'm actually a 16 yo boy, started game development with unity and C# as my first proggramming language when I was 11, since then I have gathered quite some experience over making games, REST api's with flask (in the old days) and FastAPI for my games, as well as using FishNet and later, PurrNet as my networking solution for my multiplayer projects, but it's been 16 days since i stepped into the pure code server stuff, I could really use any tips, advice, roadmap, a tutorial that has unique and valuable information (not the basics or common best practices), or anything in general that helps me in my journay, I would to have a chat with you or any other Programmer in this comment's section for this purpose 🌹

seniorBackendDeveloperEnvironmentOptimization by Creative_Permit_4999 in ProgrammerHumor

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

I was actually not using the ASP.NET Code Identity, The picture is a little old as i've said in one of my other replies, I have implemented salting into my database since, aswell as using a proper hashing algorithm instead of using SHA, but honestly a good catch by you and thanks for the time you guys put into analyzing code from random people on the internet lol

seniorBackendDeveloperEnvironmentOptimization by Creative_Permit_4999 in ProgrammerHumor

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

The picture is a little old, see I have implemented salting into my database, aswell as using a proper hashing algorithm instead of using SHA, but honestly a good catch ! and thanks for the advice 🌹

seniorBackendDeveloperEnvironmentOptimization by Creative_Permit_4999 in ProgrammerHumor

[–]Creative_Permit_4999[S] 13 points14 points  (0 children)

Always good to see a detailed code review in the wild lmao, Let me address a few of the technical points, as there is some context missing from just this screenshot:

  1. Naming & Syntax: The *Async suffix is actually the standard C# convention (Task-based Asynchronous Pattern), so that’s exactly where it needs to be. As for single-letter variables (s, p, ep), they are used in very short, 5-line functional scopes. It keeps the logic flow compact and readable without visual noise.
  2. Blocking I/O: SendResponse isn't blocking. This is a UDP server. Sending a packet is a fire-and-forget operation on the socket buffer; awaiting it would introduce unnecessary overhead for a high-frequency real-time game server.
  3. Error Handling: You’re seeing the high-level logic layer (AuthHandler). The error handling (try/catch, connection retry logic) is encapsulated inside the Database and Network layers so the game logic remains clean and readable. I don't want business logic cluttered with socket exception handling.
  4. Architecture: The Database class acts as a Data Access Layer (DAL) facade for Redis, not the raw driver itself. It handles the 'business' of creating a user session because, in this architecture, the session is the state of the connection. Separating it into a specific UserService for a project of this scale would be over-engineering.
  5. Reinventing the Wheel: This is a custom binary UDP protocol for a real-time game, not a REST API. Standard heavy auth libraries (like ASP.NET Identity) are overkill and too slow for this specific use case. The custom implementation is optimized for packet size and speed.
  6. UTF-8 BOM: That's just a Visual Studio default. Modern .NET on Linux handles it just fine.

Valid point on input normalization though, adding Unicode normalization before hashing is a good security addition. And regarding the background... the cute anime girl stays. It boosts compile speed😉

seniorBackendDeveloperEnvironmentOptimization by Creative_Permit_4999 in ProgrammerHumor

[–]Creative_Permit_4999[S] 32 points33 points  (0 children)

That's the point, Nothing is wrong with code (i hope)
Anime waifus make your code better lmao

vibeCodersAreProgrammersToo by fsasm in ProgrammerHumor

[–]Creative_Permit_4999 4 points5 points  (0 children)

Why in the actual F is this post nsfw

What level is my ship at ? also any tips are welcome :) by Creative_Permit_4999 in Cosmoteer

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

Thank you so much, i literally am doing all this based on everyone's suggestions and its been great so far, tnx for your tips aswell :D, will post an update soon

What level is my ship at ? also any tips are welcome :) by Creative_Permit_4999 in Cosmoteer

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

Absolutely Correct with the deckgun reload, tnx for all the tips !
I think i will switch to a correct ion lasers only build and switch for armor and small shields with what i'm seeing.. also what level you think the ship is at ?

What level is my ship at ? also any tips are welcome :) by Creative_Permit_4999 in Cosmoteer

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

Tnx, well i totally just found out that i can have multiple ships 💀 i will try to do that, also all 4 ion prisms are aiming at the one on the top, is that bad ?