Dedicated Servers

Is there any information about dedicated servers?


What do you mean? Of course we will have dedicated servers, that’s a given.


Is it gonna be like gmod SRCDS?
Is it gonna support multi-core usage? etc…


It’s more about if “source 2 supports dedicated servers” and for that, I have no idea. Fp could create their own dedicated server, but they already have listen servers, so I don’t really know. It’s probably not too important right now though, because it’s not public yet. When it becomes public they would create some form of dedicated servers for sure.


Garry has already shown both listen and dedicated servers. It will support both, but i am not aware of any other details.


It’s possible to connect by Steam ID and by IP address, so yes dedicated servers are possible and I’m sure it will ship with a server client to run on said dedicated servers.


This commit states that there are dedicated servers.


I would like to know the performance of S&Box’s dedicated servers compared to those of Gmod.


I hope not necroposting this thread, and I know that it may be irrelevant to discuss servers and so on during this early stage of S&Box development.
Nevertheless, I enjoy discovering the way Facepunch implements multiplayer. It’s like a treasure hunt and instead of keeping everything for myself, I thought it could be nicer to share everything with all of you, at least to re-open the discussion. The intention is not to annoy any of you, of course, so please let me know if this is the case.

I have done some research but I need to keep seeking information on the internet. This is what I found so far:

There’re multiple ways to implement a server with Source:

  1. using hlds for GoldSrc-based game or srcds for Source-based games (check Source Multiplayer Networking if you want to know more). Thus, this is not applicable for S&Box
  2. using an eventually hidden/not-release-yet dedicated server for Source2-based game, so for that, I checked all released products with Source2 with network features. I did not find any common binary or tool, but we have some ideas like Dota 2 using arguments to run a dedicated server (-dedicatedexample)
  3. using networking API from Source2. However, it seems that Source2 SDK is not completely documented in the Valve developer website. We have access to some workshop tools though:
  1. using Steamworks API (used by @InsDel in HLADM for instance), special mention to the networking API (github repo)

Looking at the different commits made by FP recently and their Steamworks C# bindings (wiki page), I think they would also use it for S&Box.

Regarding the way to start a dedicated server, we also have some options:

  • headless game as Dota 2 did (something like -dedicated at startup)
  • standalone binary
  • something else

We already have some hints with the Facepunch Steamwork wiki page that explains dedicated servers. Something that might also be possible according to their implementation is that we should be able to adapt the default behavior of the server by overriding SocketManager or using P2P networking.

I just want to add this blog post: Why making your own source server is a great idea written by @Tom.bat for the gKart project, this was really interesting to read