A re-implementation of the 2003 Space Game Freelancer in C# and OpenGL.
Currently running on Windows and Linux (macOS pending maintainer) Pull Requests are welcome!
Support Librelancer on Patreon: https://www.patreon.com/librelancer
Download compiled binaries from https://librelancer.net/downloads.html
- GPU must be capable of OpenGL 3.1+
- A Freelancer installation (Vanilla recommended, some mods may work)
Note for developers: .\build.ps1 or build.sh must be ran before opening the .sln file, as it generates required files for the solution.
Prerequisites:
- 64-bit Windows 10 or newer
- Visual Studio 2022 with:
-
- .NET 8.0 SDK
-
- Desktop C++ Development Workflow
- CMake version 3.15+
Steps:
- Clone this repository with all submodules (Visual Studio's Team Explorer, Git bash, etc.)
- Run
build.ps1
in Powershell. (Can be launched from cmd bypowershell -File .\build.ps1
)
Troubleshooting:
If you run into issues with Powershell execution policies, you can bypass them with powershell -ExecutionPolicy Bypass -File .\build.ps1
If you have installed both the 32-bit and 64-bit dotnet SDKs, your PATH can be in an invalid state and the build will fail.
This can be checked with where dotnet.exe
in the command prompt. If it returns output like:
> where.exe dotnet
C:\Program Files (x86)\dotnet\dotnet.exe
C:\Program Files\dotnet\dotnet.exe
You need to either uninstall the 32-bit dotnet SDK (recommended), or modify your PATH so the 64-bit SDK appears first in the list.
Prerequisites:
- x86-64 or arm64 .NET 8.0 SDK
- SDL2 (or SDL3)
- openal-soft
- gcc and g++
- CMake 3.15+
- GTK3 headers (will contain freetype etc.)
Steps:
- Clone this repository with
git clone --recursive https://github.com/Librelancer/Librelancer
- Run
build.sh
Troubleshooting:
Microsoft.CSharp.Core.targets(84,5): Error : Unhandled exception. Interop+Crypto+OpenSslCryptographicException: error:03000098:digital envelope routines::invalid digest
on Fedora/RHEL:
RedHat has disabled RSA+SHA1 signatures in OpenSSL with a vendor patch, breaking strong name signatures in dotnet.
If you are using ./build.sh
, run the command as OPENSSL_ENABLE_SHA1_SIGNATURES=1 ./build.sh
to work around this safely.
For developers, noting that this is not recommended by RedHat, you can follow instructions from RedHat to re-enable SHA1 signatures system-wide: https://docs.redhat.com/fr/documentation/red_hat_enterprise_linux/9/html/security_hardening/proc_re-enabling-sha-1_using-the-system-wide-cryptographic-policies
If you are using the Nix package manager, you can use the provided shell script to easily acquire all the packages. You can do so by running the nix-shell --pure
command then running ./build.sh
.