Compatible client of Ace of Spades 0.75
Official website — Download — Community — Trello board
What is it?
OpenSpades is a compatible client of Ace of Spades 0.75.
How to Build/Install?
Before you start: In case you're having issues to build OpenSpades, it may be because this README file is outdated, if so:
On Linux Snap package
On snap enabled systems, the latest pre-built stable release of OpenSpades can be installed with:
sudo snap install openspades
Once installed, you'll be able to launch OpenSpades from inside the desktop menu or from your terminal with the openspades
Flatpak package
On flatpak enabled systems, OpenSpades can be installed with:
flatpak install flathub jp.yvt.OpenSpades
Once installed, you'll be able to launch OpenSpades from inside the desktop menu or from your terminal with flatpak run jp.yvt.OpenSpades
On Unixes (from source) Building
Install dependencies:
On Debian-derived distributions:
sudo apt-get install build-essential pkg-config libglew-dev libcurl4-openssl-dev libsdl2-dev \
libsdl2-image-dev libalut-dev xdg-utils libfreetype6-dev libopus-dev \
libopusfile-dev cmake imagemagick zip unzip
(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 make automake gcc gcc-c++ kernel-devel 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 \
zip unzip
On FreeBSD:
sudo pkg install gmake automake pkgconf glew openssl curl sdl2 sdl2-image \
freealut xdg-utils freetype2 opus opusfile jpeg-turbo libXinerama libXft \
cmake ImageMagick7 zip unzip
On other distributions: Install corresponding packages from your repository (or compile from source).
Building OpenSpades requires a C++ compiler, which is included in the dependencies above in case you don't have one installed yet.
Clone OpenSpades repository:
git clone https://github.com/yvt/openspades.git && cd openspades
Create directory openspades.mk
in cloned/downloaded openspades repo and compile:
mkdir openspades.mk cd openspades.mk cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo && make
Installing and launching
To launch the built game without installing:
cd $REPO_DIRECTORY/openspades.mk; bin/openspades
To install the game to your system (recommended), take the following steps:
Execute the following command:
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, or else it might load old resources.
Launch the game by typing openspades
into command line, or search for it from start menu.
Alternatively, to install the game to a different directory, take the following steps:
Copy the Resources directory into bin (or else the game won't launch):
cp -r ./Resources ./bin/
note: If you plan on distributing it, remember to remove CMake files and folders from Resources.
Move the "/openspades.mk" folder somewhere else, for example /home/user/Games
, or /opt/games
and rename it to "/OpenSpades".
The game's launcher is located at bin/openspades
. You can create a shortcut for it on the desktop or a .desktop
file placed in /usr/share/applications/
for it to appear in Start Menu. Make sure to set the bin
directory as the shortcut's working directory, or else you will get an error about missing resources.
note: If you choose a directory outside of your /home/user
, for example /opt/games
, remember to chmod the game launcher's permissions to 755.
After successful installation, optionally you can remove the source code and build outputs to save disk space (~100MB).
On Linux (from source, by Nix Flakes)
To build and run OpenSpades from the latest source code:
nix shell github:yvt/openspades -c openspades
To build and run OpenSpades for development:
git clone https://github.com/yvt/openspades.git && cd openspades nix developnote: this will patch CMake files in the source tree
cmakeBuildType=RelWithDebInfo cmakeConfigurePhase buildPhase bin/openspades
note: Nix Flakes are an experimental feature of Nix and must be enabled manually. See this wiki article for how to do that.
On Windows (with Visual Studio)
E:/Projects/openspades
, update paths in the examples to reflect yoursgit clone ... --recurse-submodules
). Note that the GitHub website's ZIP download currently does not support submodules.Build libraries using vcpkg:
cd E:\Projects\openspades vcpkg\bootstrap-vcpkg.bat vcpkg\vcpkg install @vcpkg_x86-windows.txt
Run CMake:
E:\Projects\openspades
E:\Projects\openspades\OpenSpades.msvc
Visual Studio 16 (2019)
Visual Studio 15 (2017)
Visual Studio 14 (2015)
Win32
E:\Projects\openspades\vcpkg\scripts\buildsystems\vcpkg.cmake
VCPKG_TARGET_TRIPLET=x86-windows-static
E:\Projects\openspades\OpenSpades.msvc\OpenSpades.sln
in Visual Studio.MinSizeRel
or Release
if you're not an developerE:\projects\OpenSpades\OpenSpades.msvc\bin\BUILD_TYPE\
openal32.dll
YSRSpades.dll
, libgcc_s_dw2-1.dll
, libstdc++-6.dll
, pthreadGC2.dll
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) Requirements
Building
Install the Xcode Command Line Tools and other required build tools.
xcode-select --install
Using Homebrew:
brew install cmake pkg-config ninja
# If you are using macOS 10.14 (Mojave) or earlier:
brew install gcc
Using Nix:
$(nix-build '<nixpkgs>' -A pkg-config-unwrapped --no-out-link)/bin
to PATH
.Clone the Openspades repository:
git clone https://github.com/yvt/openspades.git --recurse-submodules && cd openspades
Bootstrap vcpkg
and install the required packages:
vcpkg/bootstrap-vcpkg.sh vcpkg/vcpkg install @vcpkg_x86_64-darwin.txt
Create directory openspades.mk
in the cloned/downloaded openspades repo and compile:
mkdir openspades.mk cd openspades.mk 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 ninja
Launch:
open bin/OpenSpades.app
(Universal builds aren't supported yet.)
Network usage during building
OpenSpades' build process automatically downloads prebuilt game assets and libraries as needed. Specifically:
pak000-Nonfree.pak
and font-uniform.pak
from https://github.com/yvt/openspades-paks. Can be disabled by passing -D OPENSPADES_NONFREE_RESOURCES=NO
to CMake.-D OPENSPADES_YSR=NO
to CMake.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/bootstrap-vcpkg.sh
command.
Troubleshooting
For troubleshooting and common problems see TROUBLESHOOTING.
Licensing
Please see the file named LICENSE.
Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.
We'll never share your email with anyone else.