This is libre openspades, thus librespades! with all non-free assets removed and moved from GitHub to this libre software hosting platform.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Fedja Beader e41b2ea662 Update README with status of this project 3 weeks ago
.github/workflows chore(ci): setup GitHub workflow for Windows builds 1 year ago
OpenSpades.xcodeproj Merge branch 'master' into patch-modernize 1 year ago
Resources The sole libre part of the external content package, see Resources/PakLocation.txt for license. 2 months ago
Sources package manager update proposal. 3 months ago
XSpades Bump version to 0.1.5-beta 1 year ago
cmake SDL2 few more paths proposal. (#939) 1 year ago
flatpak flatpak manifest: persist config to .local/share/openspades 3 years ago
snap Do not overwrite User Resource Directory on every snap launch 4 years ago
vcpkg@81b67c3878 Update vcpkg 1 year ago
.clang-format clang-format AngleScript source files 3 years ago
.editorconfig Added editorconfig file. 6 years ago
.gitignore chore: get rid of `Sources/Externals` 1 year ago
.gitmodules Add submodule `vcpkg` 2 years ago
AUTHORS Add a headshot bang sound like in classic (#648) 5 years ago
CMakeLists.txt Disable auto-downloading of non-free content. 2 months ago
LICENSE Update copyrights 5 years ago Now getting resource directory from cmake instead of hardcode; also enabled RESDIR for Release builds 8 years ago Add icon (made by JoJoe_Stinky) 9 years ago Update README with status of this project 3 weeks ago Update 6 years ago Update translations 2 years ago
crowdin.yml feat(i18n): update translations 1 year ago
run-clang-format.ps1 clang-format AngleScript source files 3 years ago ‘crowdin upload sources’ is now working 5 years ago
vcpkg_x86-windows.txt chore: link libraries statically when building for `x86-windows` 1 year ago
vcpkg_x86_64-darwin.txt Get vcpkg-based build working on macOS 2 years ago


Libregaming community chat Libregaming community matchmaker

What is it?

LibreSpades is a fork of OpenSpades aimed at removing all non-libre dependencies of OpenSpades. Feel free to substitute 'LibreSpades' wherever 'OpenSpades' is mention In this and other documents. OpenSpades is a compatible client of Ace of Spades 0.75.

  • Can connect to a vanilla/pyspades/pysnip server.
  • Uses OpenGL/AL for better experience.
  • Open source, and cross platform.

Liberation status and work to do:

  • Status: works, but...

    • needs new models for player characters. Currently, these are small red boxes floating about. This makes it hard to tell enemies/friendlies apart.

    • needs new models for weapons. Does not make it less playable.

    • needs new sounds/music

    • look into BetterSpades@proprietaryHub for potential asset replacements.

      • has GPL3? assets, but needs licensing checking
  • maintainer needed.

On Linux : Building and installing from source

GCC 4.9 / Clang 3.2 or later is recommended because OpenSpades relies on C++11 features heavily.

  1. Install dependencies:

    On Debian-derived distributions:

    sudo apt-get install pkg-config libglew-dev libcurl3-openssl-dev libsdl2-dev \
      libsdl2-image-dev libalut-dev xdg-utils libfreetype6-dev libopus-dev \
      libopusfile-dev cmake imagemagick

    (because of a bug in some distributions, you might also have to install more packages by sudo apt-get install libjpeg-dev libxinerama-dev libxft-dev)

    On Fedora or other RHEL-derived distributions:

    sudo dnf install pkgconf-pkg-config glew-devel openssl-devel libcurl-devel SDL2-devel SDL2_image-devel \
      freealut-devel xdg-utils freetype-devel opus-devel opusfile-devel \
      libjpeg-devel libXinerama-devel libXft-devel cmake ImageMagick

    On other distributions: Install corresponding packages from your repository (or compile from source).

  2. Clone LibreSpades repository:

    git clone && cd librespades
  3. Create directory build somewhere, change to it and compile:

    mkdir build
    cd build
    cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo && make
  4. Install LibreSpades (optional but recommended):

    sudo make install

    note: If you have a previous installation of OpenSpades, you have to uninstall it manually by sudo rm -rf /usr/local/share/games/openspades before installing a new one.

  5. Launch:

    openspades (if installed) or cd $REPO_DIRECTORY; ./build/bin/OpenSpades and enjoy. ATTENTION if you launch this program while in the build directory, the main menu text will be garbled.

On Windows (with Visual Studio)

  1. Get the required software if you haven't already:
  • CMake 2.8+
  • PowerShell 5.0
    • Integrated with Windows 10.
    • Older versions are not tested, but might work
  • Visual Studio 2017 or later
    • VS2015 is also supported, but VS2017 is more recommended
    • VS2013 is no longer supported, but might work
  1. Grab the source code:
  1. Checkout the source
  • All examples will assume E:/Projects/openspades, update paths in the examples to reflect yours
  • Make sure to update all git submodules, e.g., by git clone ... --recurse-submodules). Note that the GitHub website's ZIP download currently does not support submodules.
  1. Build libraries using vcpkg:

    cd E:/Projects/openspades
    vcpkg/vcpkg install @vcpkg_x86-windows.txt
  2. Run CMake:

  • Source: E:/Projects/openspades
  • Binaries: E:/Projects/openspades/OpenSpades.msvc
  • Generator:
    • For VS2019: Visual Studio 16 (2019)
    • For VS2017: Visual Studio 15 (2017)
    • For VS2015: Visual Studio 14 (2015)
  • Platform: Win32
  • Toolchain file: E:/Projects/openspades/vcpkg/scripts/buildsystems/vcpkg.cmake
  • Add a new string entry VCPKG_TARGET_TRIPLET=x86-windows-static
  1. Open E:/Projects/openspades/OpenSpades.msvc/OpenSpades.sln in Visual Studio.
  2. Build the solution.
  • The recommended build configuration is MinSizeRel or Release if you're not an developer
  • The default build output directory is E:/projects/OpenSpades/OpenSpades.msvc/bin/BUILD_TYPE/
  1. To get audio working, download a Windows release of OpenSpades, extract it, and copy the following dlls to the build output directory:
  • For OpenAL audio: openal32.dll
  • For YSR audio: YSRSpades.dll, libgcc_s_dw2-1.dll, libstdc++-6.dll, pthreadGC2.dll
  1. (Not recommended) download the Non-free pak, extract it, and copy Nonfree/pak000-Nonfree.pak to the Resources folder inside your build output directory, which is probably E:/Projects/openspades/openspades.msvc/bin/BUILD_TYPE/Resources. You can also copy the paks contained in Official Mods/ folder of OpenSpades 0.0.12b to add more fonts and improve localization support of your build.

On macOS (with Ninja)

  1. Get the latest version of Xcode and the OpenSpades source code. Install the following prerequisites:

    • Xcode's command-line tools. Install them by xcode-select --install and sudo xcodebuild -license.
    • CMake.
    • Install pkg-config by one of the following methods:
      • Homebrew: brew install pkg-config
      • Nix: add $(nix-build '<nixpkgs>' -A pkg-config-unwrapped --no-out-link)/bin to PATH.
  2. vcpkg/

  3. vcpkg/vcpkg install @vcpkg_x86_64-darwin.txt

  4. Create directory in the cloned/downloaded openspades repo and compile:

    cmake -G Ninja .. -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_OSX_ARCHITECTURES=x86_64 -D CMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake -D VCPKG_TARGET_TRIPLET=x64-osx
  5. Launch:

    open bin/

    (Universal builds aren't supported yet.)

Network usage during building

LibreSpades' build process downloads prebuilt game assets and libraries if requested. Specifically:

In addition, vcpkg (sort of package manager only used for Windows and macOS builds) collects and sends telemetry data to Microsoft. You can opt out of this behavior by passing -disableMetrics option when running vcpkg/ command.


For troubleshooting and common problems see TROUBLESHOOTING.


Please see the file named LICENSE.