-
Notifications
You must be signed in to change notification settings - Fork 186
Build
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.
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.
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.
Build from source for a Linux target:
- Debian Linux for any Debian-based distribution, including Debian, Ubuntu, and Raspbian for the Raspberry Pi
- Alpine Linux for Raspberry Pi
- Alpine Linux (general)
- Fedora Linux
- OpenSuSE Linux
- Nix/NixOS for systems with Nix (package manager) installed or for NixOS
- Home
- ECS
- Stations
- Main Screen/Captain
- 5-6 Player Crews
- 3-4 Player Crews
- 1 Player Crew
- Game Master
- Additional Stations and Views
- Setting up a Game
- Lore
- Expanding the Game
- Additional Features
- Building from Source