Facepunch / sbox-issues

175 stars 12 forks source link

❤ (Dedicated Server) The important thing before open access. #5766

Closed Titanovsky closed 4 months ago

Titanovsky commented 4 months ago

For?

S&Box

What can't you do?

Can't do s&box promotion and commercial development

How would you like it to work?

Add the important thing:

• Dedicated Servers !

What have you tried?

.

Additional context

Garry wrote in March that he would like more players, more multiplayer players at that, and that "commercial development" could solve that problem. Especially since there is already experience with Rust

Why did people make servers in Rust Experimental in 2015 when every week plugins were breaking, servers were crashing, and the game itself looked like a bunch of raw shi... Right, they had dedicated and private server code, there was business there, and where there's business there's players.

das

I believe in Facepunch and I know they still have a lot of work to do. But now is the time, even with poor performance, complexities and tons of issues and raw moments (like Rust in 2015) - give the space for commercial development.

The fact that Garry wants to pay us for DAU is cool, but please give us the ability to monetize our own content, and without private server code - that's not possible.

ChaseAndTront commented 4 months ago

I hope they do it.

Nolankicks commented 4 months ago

You should split these into 2 issues

matekdev commented 4 months ago

I agree with @Nolankicks, split these up into their unique issues if they don't already exist in some form.

somewhere-in-the-universe commented 4 months ago

yeah, that will be very helpful

MD485 commented 4 months ago

You can have checklists for issue completion, it's fine so long as they're correlated, and this seems like two things that are reasonable to expect for an open beta release.

I'm a little confused with what you actually want here as well. You can remotely connect to a websocket and get all your server information from there if you want, I've been on a project where we've done that, none of the server code was on asset party.

Do you want facepunch to provide the servers? Do you want to be able to run sbox in headless mode?

Do you want to make it so you can split up your dll with "host" code and "client" code and choose which you distribute? Making code not work if you're not running your own server in the background? That seems like it's counter-productive to their P2P model.

I don't see the benefit in them providing servers as well, the P2P model works fine, running in headless mode would be nice though if we don't have that feature already. I saw it somewhere in the codebase.

Two things I would like to see is protected lobbies. (why can people join my editor sessions when I'm testing my game mode) And some asset.party level per player data store, or cloud saves.

The high score table is cool and all but sometimes you want to store different information, and you don't want people to lose their progress if they log from another machine. It's fine to have a data limit, but given how we can upload models and sound and whatever else to asset.party, not giving us some storage per player feels like an oversight.

I understand there are some added costs there, but it feels necessary for a cohesive player experience.

xezno commented 4 months ago

Please split this into two separate issues

rndtrash commented 4 months ago

@MD485

Speaking on Titanovsky's behalf.

You can remotely connect to a websocket and get all your server information from there if you want, I've been on a project where we've done that, none of the server code was on asset party.

That is true, it might work for a simple IO-styled game, but for a bigger project, you'd want to use the same project both for server and for client, as well as the s&box protocol, to avoid what essentially is the reinvention of a wheel. Say what you want, but there is potential for games that do have server code to hide the end users from.

Do you want facepunch to provide the servers?

Would be nice, but not necessary.

Do you want to be able to run sbox in headless mode?

Well, it depends on what do you mean by headless mode. As a fake P2P player that hosts the game - maybe? As a dedicated server like the classic hlds - yes please!

Do you want to make it so you can split up your dll with "host" code and "client" code and choose which you distribute? Making code not work if you're not running your own server in the background? That seems like it's counter-productive to their P2P model.

See, here's the deal - not every game works as P2P. Let's say an abstract DarkRP (I know, I know, everyone has been trying to make their own best interpretation of RP gamemode and it sort of became a local meme, but still!) would not work in P2P. I am not qualified in the field of network programming, but it feels like any non-sessional multiplayer game with the online of 30+ per game world would not work in P2P.

I don't see the benefit in them providing servers as well, the P2P model works fine, running in headless mode would be nice though if we don't have that feature already. I saw it somewhere in the codebase.

It does indeed work fine for the games that we currently have (either sessional games like CS:GO, where the server has no point to exist without the players, or co-op experiences where the host is the server).

Two things I would like to see is protected lobbies. (why can people join my editor sessions when I'm testing my game mode) And some asset.party level per player data store, or cloud saves.

Sure, make an issue about it, I would actually like to see these features implemented. Games like My Summer Cottage would benefit greatly from cloud saves.

rndtrash commented 4 months ago

@xezno can you please reopen this issue? Let's dedicate this issue to the dedicated servers :) and @Titanovsky will make a new one for the server-side code split. It would be nice to preserve the comments that were made here.

Nolankicks commented 4 months ago

Still a poor title. Just make it like Dedicated severs. It being an important things to release is irrelevant when it comes to the issue title.

Titanovsky commented 4 months ago

@Nolankicks What's the point?

The context will be lost, I'm not suggesting "Dedicated" and "Private Server Code", I'm suggesting "Solve the online and monetization problem with Dedicated and Private Server Code" and explaining why now is the time.

It's just that they already have "Dedicated" in Project Status. They're going to make it anyway.

dasd

Nolankicks commented 4 months ago

Just allow @rndtrash to remake it. My guess is that it’s already an internal issue.

Titanovsky commented 4 months ago

@Nolankicks ok