State of server binary in Godot 4.0?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By prismetix

I’m trying to set up a Godot 4.0 project that will be using a dedicated server but I think the docs may need a bit of TLC. In this document, there is a link to the “server downloads page” which 404s:

Exporting for dedicated servers

The broken link:

server downloads page

Since I’m currently compiling the Godot editor myself to use some custom modules and already have a build pipeline for that set up, I figured I could just compile the godot-server binary instead since the downloads seem to be gone. In trying to figure out how to do that, I read this doc:

Compiling for Linux, *BSD

Which recommends:

To compile a debug server build which can be used with remote debugging tools, use:

scons platform=linuxbsd target=template_debug

However, that doesn’t seem to build a server binary. The resulting binary is:

godot.linuxbsd.template_debug.x86_64

And when I run that with --main-pack ./my-project.pck, it seems to just run like a normal client.

I looked at the history of that doc and in Godot 3.X it used to be a little different:

Compiling for X11 (Linux, *BSD)

It used to recommend building a server binary via:

scons platform=server ...

This other doc still references that server platform:

Introduction to the buildsystem

But when I run scons platform=list on my own Linux machine, that platform isn’t available.

I wouldn’t mind contributing and updating docs myself but without digging through scons scripts I don’t know enough about how this is supposed to work. Can anyone briefly explain the workflow for dedicated server binaries in Godot 4.0?

  • Is the general flow here still accurate? (Export a .PCK, build/compile godot-server, run godot-server --main-pack ./my-project.pck)

  • Where can I download the godot-server binary from?

  • How can I compile the godot-server binary myself?

:bust_in_silhouette: Reply From: prismetix

After looking through git history I found the pull request that removed the server platform:

I’ll submit an issue to get the documentation updated because the following are now inaccurate:

  • server platform is listed on the “Introduction to the build system page”
  • “Exporting for dedicated servers” page links to a 404, presumably because godot-server binary files no longer exist so the download page for them has been removed
  • Update the “Exporting for dedicated servers” page to point out the new --display-driver headless option?
    • Make sure this is the recommended solution for a dedicated server