Skip to content
Garrett Guillotte edited this page Jan 7, 2023 · 19 revisions

Table of Contents

A Note About Version Numbers

In order to communicate with each other, the server and all clients need to share the same version number. Servers and clients whose version numbers are 0 bypass this check. In any case, they might not function properly with each other if built from different codebases.

If you intend to play using the official builds, for example, ensure that you're on the same codebase by checking out the release tag. You can see these tags here or by typing git tag --sort -v:refname. You also should override the version numbering in the build scripts, as by default the current compile date (not the tag/release/etc.) is used to generate the version number.

For example, to create builds which share the same codebase with the February 18th 2020 official builds, check out the corresponding release tag, being in the SeriousProton and EmptyEpsilon directory:

cd SeriousProton
git checkout EE-2020.02.18
cd ../EmptyEpsilon
git checkout EE-2020.02.18

It is easy enough, regardless of which platform/OS you are using, to add some defines to the end of the CMake command in the build process and override the version number which will be generated.

Following the example above, add the following defines to the end of the relevant CMake line (after a space):

-DCPACK_PACKAGE_VERSION_MAJOR=2020 -DCPACK_PACKAGE_VERSION_MINOR=02 -DCPACK_PACKAGE_VERSION_PATCH=18

Those who wish to explore other options for setting the version number should see issue #221 for further discussion.

Debug builds

To enable debug features in a build, add a build type define to the relevant CMake line:

-DCMAKE_BUILD_TYPE="Debug"

For details, see the Debug build page. An alternative to debug that could help find problems, but won't abruptly stop the server on certain conditions:

-DCMAKE_BUILD_TYPE=RelWithDebInfo

"Release with debug info" creates a release but has enough stack trace information that if an error occurs, it is a bit easier to track down. It's not quite as rigorous as plain Debug.

Windows

Build from source for a Windows target:

If builds fail with "Fatal error: Windows.h: No such file or directory", see discord/gamesdk-and-dispatch issue #100 for workarounds.

Linux

Build from source for a Linux target:

Android

Android build instructions

macOS/OS X

macOS/OS X instructions

Clone this wiki locally