Hello !

Back in the day I made some “MMO” web games, you know you have action points, ‘many’ players, enemies items etc and it’s all “real time” (but you’d only play once or twice a day) and Lemmy have made me quite nostalgic so I thought why not whip up a little game?

So first I thought I could use the users (and the authentication in the http request) of the lemmyverse as players (go to my game community, be redirected to the game, and your credentials is already your login/pass) but I don’t really know how to do that, and I feel I’d spend way too much time doing it and maintaining it.

So I thought, I just redirect a community to a “webserver” that does it all, and that’s why I’m here.

What’s, in your opinion, the easiest simplest webserver with an authentication system where I can plug my game (the game will take like GET/POST variables and give some text and GET/POST inputs back and that’s about it).

The best would be some fire & forget soft that’s a bit supported. I know I can install Apache and make it work but it seems so large for what I want to do.

Ah, and a Rust “backend” (my game) would be cool, or python if that’s not possible.

Cheers

  • AggressivelyPassive
    link
    fedilink
    71 year ago

    Almost all servers can do that to some degree, Apache, nginx, etc. You could also use keycloak to offload the heavy lifting.

    • @souperk@reddthat.com
      link
      fedilink
      31 year ago

      👍for keycloak

      Been using that for my side projects, with the added benefit that I got a single instance running on docker for all my projects, sharing a realm so a user has to register only once.

      I can share my docker-compose.yaml in case you want to try that.

      It supports oidc, so if you are using python you can set up authlib with 5-10 lines of code. I can share code if there is interest.

      • @pastermil@sh.itjust.works
        link
        fedilink
        21 year ago

        lighttpd, then. If you want to go even more, uhttpd. You can even use the test server from python (perhaps rust provides something similar).

        At some point, you’d lose the features you’d want to keep, tho, like the part that handles concurrency, as well as cryptography stuff (you’ll definitely want some certs if you’re putting it in public).

        nginx is quite lightweight too, FYI. Just gotta make sure you’re not installing the full set.

        • @Valmond@lemmy.mindoki.comOP
          link
          fedilink
          21 year ago

          Uh, that looked so nice and even perfect, but dude it was a hassle to compile and then it just choked on its own config file (reading the port config no more, in the middle of it all).

          Crapped it all and installed the precompiled version (with apt) and it wasn’t better.

          I know Linux stuff isn’t always easy but as I’m looking for something simpleton that works out of the box, and hopefully will upgrade easily etc I have to pass on this one.

          Thanks though!

  • nickwitha_k (he/him)
    link
    21 year ago

    For a Rust backend, you might check out Bevy. I’ve been meaning to take a look for a while but paused due to all the Rust drama.

    • @Valmond@lemmy.mindoki.comOP
      link
      fedilink
      11 year ago

      Bevy seems to be a game engine, and that’s not what I’m looking for.

      Best case I’d like an already built front end with registration and login, so that my code can just do the game stuff.

      • nickwitha_k (he/him)
        link
        2
        edit-2
        1 year ago

        Oh. I misunderstood your request.

        For webserver, as mentioned by others, any modern webserver will work as a reverse proxy for your app backend. All offer HTTP Basic Auth (user + hashed password). For anything more complex, something like Keycloak would be the way to go for an auth middleware.

  • @intensely_human@lemm.ee
    link
    fedilink
    21 year ago

    You might check out Auth0 (that’s a zero). Last time I was a dev, like five years ago, it was a solution for authentication that happened at their own server.