dedicated server

I would love to run a dedicated server instance for multiplayer games for better stability and reachability. I would even be willing to help!

If we talk about Diablo-2-like-battle.net: Thats not gonna happen. The Dev’s doesn’t have enough ressources to deliver something like that, and than again its the Question: Is it needed anyway? Most People who play GD play it SP anyway. And if i remember correctly crate stated often enough that something like this won’t gonna happen, but maybe in the Future they will change their mind… we will see…

If we talk about an external Tool, i’m not sure how this would work. How want you to manage which world is loaded? The first one who connect, or how?

A dedicated server does not have to be battle.net. That’s a huge, huge investment that I would rather see spent on making content. What I am asking is for a program that anyone can run that will be able to make / create games. It doesn’t even have to be fancy, CLI interface only is just fine.

The game already has cloud saves, it could simply message the server application on which save to load. No mystery.

Worlds are saved on a character-by-character basis. If a character does not start a session, no world can be loaded.

Whoever joins first then. Still better than connecting to people only to find out they don’t have good internet connection, seeing lags all the time, dying often and ultimately getting disconnected before being able to collect gear from the final boss chest.

Having a good internet connection is an investment that not everyone can afford. Monthly payment is one thing, another is having a good/expensive router and enough technical experience on how to configure it.

It would seem that you are reinforcing my point - if I were to design this I would go about it like so:
give the server these broad abilities -

broadcast game availability to the lobby
create character/game (CRUD operations)
save character/game (CRUD operations)
upload character from client

The server would basically handle the game events / client inputs, with multithreading to help with scaling.
As far as the abilities I would opt to go for child classes of what is already put together in the game client to save time and cull any methods that are not explicitly needed.
I’m not sure exactly how the messaging between clients works / format etc. And I’m not sure if would be allowed to reverse engineer that (I would think it would be fairly easy to capture packet data and dissect it).
Unfortunately the end of the quarter is coming up for me and I have my hands full enough with that to pursue this seriously though.

Why do you need any of this instead of simply hosting a game with what we have now ?